Skip to content

Inconsistencies in how @vocab is specified #184

@pchampin

Description

@pchampin

Section 9.15 (normative) specifies that @vocab's value

MUST be a absolute IRI, a relative IRI, a compact IRI, a blank node identifier, an empty string (""), a term, or null.

  • The empty string is a special case of a relative IRI → suggest to remove.

  • Furthermore, I don't understand what it would mean to have compact IRIs and terms as @vocab. Anyway, they are undistinguishable from IRIs (absolute and relative, respectively) → suggest to remove (but I may be missing something).

Section 1.4 (non-normative) defines "vocabulary mapping" as

using the @vocab key whose value MUST be an IRI or null.

  • I don't know if "IRI" is supposed to encompass terms and compact IRIs -- but assuming that I was right above, this does not matter anymore.

  • However; this definition does not mention blank node identifiers, which are normatively allowed by section 9.15. It may be a mistake, or a deliberate decision since this is non-normative text and blank node IDs as vocab are discouraged in the API document. However, I think it is a bad idea to have two parts of the document contradicting each other → suggest to add "or blank node identifier".

Finally, the "Changes" section of the API document says

The empty string ("") has been added as a possible value for @vocab in a context.

  • In the meantime, we have extended this to allowing any relative IRI → suggest to change

I consider those changes to be editorial, so they may not need a resolution, but I would rather have a second opinion before submitting the changes.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions