- From: Gabe Beged-Dov <begeddov@jfinity.com>
- Date: Wed, 14 Feb 2001 19:40:15 -0800
- To: Graham Klyne <GK@ninebynine.org>
- CC: Aaron Swartz <aswartz@swartzfam.com>, Dan Brickley <danbri@w3.org>, www-rdf-interest@w3.org
Graham Klyne wrote:
<snip />
>
> Not every URI can be used as an RDF property identifier in the RDF
> syntax. e.g. http://acme.com/property/
I was thinking about this in the context of round-tripping arbitrary
URI for properties (and maybe rdf:type for pretty printing). This gets
back to my point that there are two types of round-trips. The first
starts from the syntax thru the abstract model and the second starts
with the abstract model and goes through the syntax.
You are pushing on the model->syntax->model round trip with this
question. So here is an approach. Lets focus on your example for
simplicity. This is a case of a singleton property URI as opposed to a
property that is specified via a URIref. A singleton property can be
an arbitrary URI that shouldn't need to have any constraints on its
trailing characters (not that there is such a constraint on the
fragment id either but that's a separate issue).
As far as I can tell, there isn't an operational need for a qname to
have a non-empty local-part. There is a semantic need if there will be
more than one qname with the same URI-part but that isn't relavent for
a singleton property URI. In that case, you can use a degenerate qname
like in the example below. I've tried it in several RDF parsers and it
seems to work fine.
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:uniprop="http://foobar.com/unipropURI/">
<rdf:Description rdf:about="subj">
<uniprop:>unipropvalue</uniprop:>
</rdf:Description>
</rdf:RDF>
resulting triple:
{ subj, http://foobar/com/unipropURI/, "unipropvalue" }
Given this ability to use degenerate qnames you have a straightforward
mapping from an abstract model to the syntax where each unique
propertyURI is mapped to a unique namespace prefix. The qname for the
property is made up of the namespaceprefix with a ":" appended to it.
It would obviously be preferable to have access to metadata that is
necessary for doing the syntax->model->syntax round-tripping, but
that's a separate issue.
Gabe
Received on Wednesday, 14 February 2001 21:41:19 UTC