Below is an interesting well explained article looking at how to address RDF based datasets, anonymous datasets (with no server URL such as a file in a USB) and even blank nodes within those datasets in a globally unique way.
I think it gives food for thought not just for implementing semantic data APIs in Safe Network, but may also help us review the design of Safe URIs. cc @joshuef
It looks at the challenges (eg blank nodes in RDF) and how these can be solved using a canonical form, and then how this might use the content hash to create a globally unique URL using a content addressing filesystem (CAFS) such as IPFS.
It assumes you can’t rely on web domains and server based URIs because these can change, hence the choice to look for a CAFS such as IPFS. On Safe Network we can have either or both human readable and content based URIs though, because while we do have content based addressing, we also have perpetual human readable URLs, with the additional benefit of versioning so that a base URL can be used to access all published versions of an RDF resource.
Anyways here’s the article. I’m not up to speed on Safe URIs these days so if we have handy reference for how they currently work please can someone post it and I’ll add it to this post. I’m thinking about how MIME type, xor address and versioning etc are handled. @bochaco?