FEP-2e40: The FEP Vocabulary Extension Process

if we’re going with fep as https://w3id.org/fep/ i think this should be fep:XXXX/name so that iri expansion results in a proper url https://w3id.org/fep/XXXX/name. if we’re going with fep as urn:publicid:fep: then it should be fep:XXXX:name so that iri expansion results in a proper urn urn:publicid:fep:XXXX:name. given that you continually express preference for properties’ specifications being accessible via the web immediately, i would recommend the former.

the w3id mapping could look something like this:

  • https://w3id.org/fep accepting ld+json leads to the singular “fep context” that contains all terms
    • otherwise, it leads to some overview page for the fep process or namespace?
  • https://w3id.org/fep/XXXX accepting ld+json leads to an fep-specific context document?
    • otherwise, it leads to the FEP-XXXX document as submitted
  • https://w3id.org/fep/XXXX/name leads to a web page defining the term and linking to the relevant documents

considerations:

  • i float the idea above of having an fep-specific context document. this would be submitted with the fep and then you could just compile a machine-generated unifying context file from all FINAL proposals.
  • i suppose you could use https://w3id.org/fep/XXXX#name if you wanted the definition to be inlined into the fep document itself, but this should be consistent. on codeberg, for example, you would need a header with the exact name of the property which should not overlap with any other headers. this can lead to weird edge cases like, say you want to define a property called requirements but you also have a section #requirements. to avoid all this i recommend/prefer not using url fragments in term definitions.

taken together, i think this would imply something like the following structure in the git repo

context/
- context.jsonld
- 5624/
  - context.jsonld
  - canReply.{md? html? txt? no extension?}

context/5624/context.jsonld:

{
   "@context": {
    "canReply": { // define your property here
      "@id": "https://w3id.org/fep/5624/canReply", // give its full iri here
      "@type": "@id" // if coercion is needed, you include this bit
    }
  }
}

context/5624/canReply.txt (or whatever):

An advisory property signaling that replies from these actors will be accepted. Actors not included in this list may or may not have their replies discarded.

maybe recommend plaintext for these human-readable definitions