4 ms·
I think this probably covers it the best. In terms of the semantic web, trying to semantically interpret the URN (as OP suggests) also seem like a conceptual m
by hobofan 4y ago
I think this probably covers it the best.
In terms of the semantic web, trying to semantically interpret the URN (as OP suggests) also seem like a conceptual mismatch, as there are other mechanisms that allow for the same thing in a more "robust" way.
E.g. in RDF one could pack all the semantics into the datatype of a literal like `Norwegian account number "12345678902"` -> "12345678902"^^<http://example.com/accountNumber/NO http://example.com/accountNumber/NO> (where the IRI `http://example.com/accountNumber/NO http://example.com/accountNumber/NO` then serves as an identifier for a concept that can be enriched with more information).
> Often http is used instead, where the domain name serves the role of the namespace, because usually a suitable domain name is already registered. Of course, this latter practice has the drawback that one has to infer from context that it is a name and not an HTTP web resource.
At least in RDF-world (which admittedly isn't the only domain for URNs), this by now doesn't have to be inferred, but has over time formed into an undeniable reality.
In RDF from the beginning IRIs have been relegated to identifiers ("It only treats IRIs as globally unique identifiers" - RDF specification[0]) though it has been mixed with a lot of weak language/suggestions to also use IRIs as locators. And a lot of people/institutions did attempt to make follow that suggestion. However, since it's a lot harder to host a system in continuity that delivers content based on an URL (as evidenced by all the link-rot in the semantic web space) than it is to just coin IRIs, using IRIs as locators so rarely worked in practice that nowadays nobody even tries to do that anymore.
-----
DISCLOSURE: Self-promotion
Born out of the frustration of this issue (and some other issues, such as uncontrolled mutability when using IRIs as locators for semantics), we have built a package manager for ontologies[1] to serve as a foundation for stable semantic data systems.
In it we replace the fickle "maybe an IRI can be dereferenced to semantics" system of RDF/OWL with a package manager that allows for stable versioning and resolution of all the ontological dependencies of your system, so you end up with a stable set of documents that you can then interpret to get to the underlying semantics of an IRI.
Since there is a default registry[3] that even small projects can publish to, this also greatly reduces the barrier to entry for small projects to participate in building and publishing ontological definitions, as there isn't a burden of setting up and maintaining the hosting of the definitions.
We've been using that system for close to a year now as the underpinning for our platform[2], and it's been great so far. It allows us to offer different semantics to different customers (based on the packages they chose to import), and makes managing even a big set of often-changing semantic dependencies tractable.
[0]: https://www.w3.org/TR/rdf11-concepts/#referents https://www.w3.org/TR/rdf11-concepts/#referents
[1]: https://plow.pm https://plow.pm
[2]: https://field33.com https://field33.com
[3]: https://registry.field33.com https://registry.field33.com
- strogonoff 4y agoContent-addressed RDF (possibly with the help of hashlinks and/or ERIS) feels like another good way to solve data stability/mutability, without introducing a package manager in the mix.
- hobofan 4y agoYes, for that side of the problem content-addressing is a good solution. I've also explored content-addressed RDF and OWL in a past project[0], based on IPFS and multiformats. While it gives you good certainty about stability, migrating semi-popular concepts across the ecosystem is a big pain, as you have to regenerate all dependent data (if you go the hardcore route). I think package managers are in general a pretty good abstraction that can foster structured collaboration across independent (but communicating) parties. It can also enable standardization-via-usage rather than standardization-via-authority, which I think has always been all too common in the semantic data space. Plow is at its core also very much based on content-addressing, where after the dependency resolution phase, we mostly deal with the hashes of the package contents rather than their name-based identifiers. That also has the nice side-effects that you could easily host a private artifact storage that retrieves the packages for on-premise usage. The public package index is also hosted in a git repository, so all the building blocks would be there that you can record the whole state of the system in a content-addressable manner if you wanted to. [0]: https://github.com/rlay-project https://github.com/rlay-project
- strogonoff 4y agoI’m not sure what you mean by “regenerated”. Sure, URNs will need to be updated to content-addressed ones, probably gradually, but you’d need to do the same to switch to a package manager.
- lolive 4y agoWe have such interrogations for our data strategy, at work. Can you drop me a message for further discussion? (@Datao on Twitter, or datao@datao.net)