- From: Gabe Beged-Dov <begeddov@jfinity.com>
- Date: Wed, 14 Feb 2001 23:00:25 -0800
- To: Aaron Swartz <aswartz@swartzfam.com>
- CC: Graham Klyne <GK@ninebynine.org>, Dan Brickley <danbri@w3.org>, www-rdf-interest@w3.org
Aaron Swartz wrote: > > Gabe Beged-Dov <begeddov@jfinity.com> 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 idea... 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 representations. 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, half-tripping). 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. Gabe http://lists.w3.org/Archives/Public/www-rdf-interest/2001Feb/0056.html
Received on Thursday, 15 February 2001 01:01:28 UTC