Re: What are allowable property URIs?

Aaron Swartz wrote:
> Gabe Beged-Dov <> wrote:
> > As far as I can tell, there isn't an operational need for a qname to
> > have a non-empty local-part.
> Unfortunately, this is in violation of the XML names spec:
>     QName     ::=     (Prefix ':')? LocalPart
>     NCName    ::=     (Letter | '_') (NCNameChar)*

Yeah, it would be too easy if we could actually do any kind of
round-tripping without changes to the syntax or model or both :-(. 

Some more half-baked ideas to go with the original degenerate qname

I can't see any way to do the mapping from an arbitrary URI to a qname
without introducing a stand-in URI (at least without alot of extra
machinery). Either way, it would require a change to RDF/XML
processors to recognize whatever signalling mechanisms were used. This
presumes that you want to allow arbitrary URI for properties and
typednodes. If you are willing to constrain the allowable URI to be
URIref that only use NCname for the fragmentID then you don't need any
extra machinery. 

OTOH, since we are merrily assuming that URIref are opaque, we can't
really look inside in order to try to identify the fragmentID or
anything else that is a candidate for being used as the local-part. 

A simple approach that is a slight enhancement of the degenerate qname
is to use a magic localname (like "_") that would be recognized by the
RDF/XML processor for round-tripping. This still has the problem of
using an allowed character sequence to signal the escape sequence. Its
pretty unlikely that anyone is using "_" as a local part but....

Another tack is to use a magic wrapper URI-scheme that can be used to
both track the original URI and be split into the nsURI/local-part.
This pushes the signalling mechanism from the localname to the
uri-scheme of the namespace. As an example, lets say that the
model->syntax mapper would take any property (or rdf:type) URI and
wrap it with a "rdfns:" + URI + "_". 

It could then split this URI into a nspart of "rdfns:URI" and a
local-part of "_". It would generate a unique nsprefix and generate
the RDF/XML document. An RDF/XML parser would do the reverse mapping
to get to the correct URI. 

I would be happier if this was addressed directly by explicit
metadata. This would seem to fall into the kind of information that
would be associated with the schema layer. Ideally, you shouldn't
require a schema to do basic mapping from the different RDF

The closest that RDF Schema comes is the definedBy property which
doesn't help here. I'd like to see some explicit properties that allow
a processor to manage the round-tripping (or in this case,

In an earlier message ([1]) I proposed some properties that could be
hung off of any resourceURI that would allow qname<->URI mapping. The
main focus there was for qname->URI->qname mapping. You can use the
same approach though for URI->qname->URI mapping. The requirement then
becomes that the author of an abstract model needs to associate the
necessary additional triples with the model that will allow the
mapping to occur. 


Received on Thursday, 15 February 2001 01:01:28 UTC