Skip to content

why is the term constructor optional in production reifier? #114

@pchampin

Description

@pchampin

The production rule for reifier is:

    [28] reifier ::=  '~' (iri | BlankNode)?

I'm curious about the rationale for the trailing question mark, i.e. why the term (IRI or bnode) after the ~ symbol is optional...

I find it more complicated to handle that in my parser, and it is not clearly stated in section 7.3.1 what to do when that term is omitted -- I would assume that a fresh bnode should be minted, but that is not explicit.

Also, I don't see much benefit for the user, except for allowing confusing notations such as << :s :p :o ~ >> which would be equivalent to << :s :p :o >>, or :s :p :o ~ {| ... |} which would be equivalent to :s :p :o {| ... |}.

I strongly suggest to change production 28 to:

    [28] reifier ::=  '~' (iri | BlankNode)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions