FEP-2e40: The FEP Vocabulary Extension Process

Yes, there will most likely be clashes. We discussed namespaces before in A namespace for things defined in FEPs where I mentioned some options:

In addition to what you mention, I think we should avoid vendor-specific namespaces, unless well… they are purely relating to vendor-specific extensions. Right now the way these namespaces would proliferate would make little sense to me. I think a grouping into app-independent domains is necessary besides having an asExt for core vocabulary extensions, like e.g. ‘video’, ‘podcast’, ‘blog’, etc.

[…]

As to how domain-specific namespaces might look like… euhh idk, maybe:

  • https://w3id.org/activitystreams/extension/video
  • https://w3id.org/activitystreams/extension/microblog (now mastodon toot)
  • https://w3id.org/activitystreams/extension/microblog/posts (alternative)

Just an example, of course. Namespace can be anything…

And in my next comment an example:

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "sc": "http://schema.org#",
      "video": "https://w3id.org/activitystreams/extension/video#",
      "framesPerSecond": {
        "@id": "video:framesPerSecond",
        "@type": "sc:Number"
      },
    }
  ],

  "id": "https://conf.tube/w/daJwZp7HhQFK5v3B9L89oY",
  "type": "Video",
  "framesPerSecond": 60
}

In the same comment I also mentioned how Peertube currently uses their own app-specific namespace in the @context and should I want to build an app in the same Social Video Platform domain, interoperable with Peertube but with one extra property, the current practice is that I would define yet another app-specific namespace… leading to a confusing proliferation of namespaces.