- From: Florian Kleedorfer <florian.kleedorfer@austria.fm>
- Date: Tue, 23 May 2017 15:18:39 +0200
- Cc: W3C Semantic Web IG <semantic-web@w3.org>
Am 22.05.2017 um 12:08 schrieb Ruben Verborgh: > Hi Sarven, > > Actually seems like a question for the Web API community. > >> Any (longitudinal) study out there on the quality of URI Templates? [*] > I don't think the quality of a URI template is measurable. > > URI templates consist, broadly speaking, in two cases: > 1) on the server, which uses it to generate IRIs for resources > 2) on forms in hypermedia resources, so clients can generate IRI Fwiw, we use URI templates in both forms in Web of Needs, see e.g. https://node.matchat.org/won/resource/ ( the won:hasUriPrefixSpecification subgraph). Clients create linked data objects on the server by minting the URI locally, building the dataset describing the object (that includes the newly minted URI), and signing the dataset. Then, the dataset (including the signature) is uploaded to the server, which accepts it if the URI pattern is used correctly and the signatures work out. In case of a URI collision, the server rejects the upload. As to the quality, I would not know how to evaluate it. Concerns I had when designing this was: * simplicity - it should be hard to use wrong (creating a URI and checking its correctness). This ruled out any elaborated pattern language defining the lexicographical structure of the resulting URI when comparing it to simple prefixing * opacity - not much of a concern but I thought some URI patterns might lead to meaning somehow getting attached to a certain lexicographical structure. The less human-readable the URI template, the smaller this risk gets * risk of collisions - the larger the number of URIs to be minted, the higher the impact of what you could call 'URI space sharding' - e.g. if you have a parent-child relationship, use the parent's URI as the prefix of the child. Incurred complexity should be compared to the damage created by a collision (taking into consideration its probability). * portability - not directly a property of a URI template but of allowing clients to mint URIs. It becomes that much harder to migrate the data from one domain to another because it might break clients (virtually impossible, in our case - at least for now) Best Florian
Received on Wednesday, 24 May 2017 08:44:04 UTC