RE: RDDL->RDF (was Re: Draft agenda of 22 February 2005 TAG

Dan Connolly wrote:

[jb: comments inline]

On Wed, 2005-02-23 at 08:55 +0000, Henry S. Thompson wrote:
[...]
>   For example,
> 
>   http://www.w3.org/2001/XMLSchema.html.

...

    :xmlschema     a <http://www.w3.org/2001/XMLSchema>;
         ns1:schema-validation <XMLSchema.xsd> .

    :xmlschemap1     a <http://www.w3.org/TR/html4>;
         ns1:normative-reference
<http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/> .



(a) why are the subjects of these statements different?

[jb:
	They are different because this RDDL to RDF mapping assumes that the
subject is either the namespace itself or else is obtained by from the
namespace and the ID of either the <rddl:resource> element or its enclosing
<div>

	i.e., in one <rddl:resource id="xmlschema" ...
	and in the other <rddl:resource id="xmlschemap1" ...
]

They should have a common subject, right?

[jb:
	The way this mapping is designed, IDs within the namespace document
are basically names in the namespace. RDDL1 allows you to make statements
about either the entire namespace, or namespace qualified names.
]

Does XLink say what URI is the other end of the link in these cases? the
XLink terminology seems to be 'starting resource'...

Hmm...
 [Definition: A local resource is an XML element that participates in a link
by virtue of having as its parent, or being itself, a linking element].

that makes it sound like link resources are syntactic elements. I would have
thought that the subject (aka starting resource?) in this case is the XML
Schema namespace. The RDDL spec talks about "related resource"s.
Related _to what_?

[jb:

	You have hit upon an important issue. When converting Xlink to RDF,
it is pretty clear what the objects and properties are, but not so clear
what the subjects ought to be.
	This is why I decided to model it the way that I did: An HTML
document names its local nodes using the "id" attribute. Since RDDL is an
(X)HTML document which describes a namespace it seemed natural to me that
the local names (of the namespace) could be identified by (e.g.) <div
id="foo"> and <rddl:resource id="bar"> where the use of <div id="foo">
allows you to specify multiple RDF property,object pairs for a given
subject.
]

(b) using an IANA media-types registry entry as an RDF Class...
hmm... I wonder if IANA means it to be a class. Perhaps better to use
rddl:nature as the predicate there rather than rdf:type.

[jb:
	I have no problem with this, I was just being true to Ron Daniel's
note.
]

Trying it on http://www.rddl.org/ itself, I see those issues plus a syntax
error...

  <rdf:Description rdf:about="http://www.rddl.org/#related.resources">

    <rdf:type rdf:resource="http://www.w3.org/1999/XSL/Transform" />
    <rdf:resource rdf:resource="rddl2rdf.xsl" />
  </rdf:Description>

Using rdf:resource as a property element isn't allowed.
http://www.w3.org/TR/rdf-syntax-grammar/#propertyElementURIs

[jb:

	Actually the problem is different, it is rather
	<resource rdf:resource="rddl2rdf.xsl" />

	What I had meant to do was to use the namespace name as the default
namespace for the document (otherwise none of the unqualified elt names make
kosher RDF)
I've fixed that.

]

I haven't figured out whether that problem comes from the input or the
transformation.

[jb:

	The XSLT has been fixed. You know it is dated Jan 15, 2001 and
consequently was written basically two weeks after the initial discussions
of RDDL started on the XML-DEV list. Some of the 'features' of RDDL1
(http://www.rddl.org/) were very carefully placed to allow a reasonably
slick transform of RDDL to RDF, as well as a *reasonably* robust description
of a namespace. If you simplify RDDL1 i.e. RDDL2 (http://www.rddl.org/rddl2)
you will loose some features. It is a tradeoff. The main reason that I
haven't put the RDDL2 document at http://www.rddl.org/ is that after I had
for about a second, I got all sorts of nasty mail from people who've
deployed RDDL1, basically demanding a new namespace name for RDDL2
consequently http://www.rddl.org/rddl2 ... Apropos to other recent
discussions here on versioning. 

]

There also seem to be some (documented) limitations in handling of URI
references...

<!-- 
	note: assume xlink:arcrole := absoluteURI  '#' fragment-id
-->

[jb:

	Which is one of the reasons why I've been agitating for years about
the need to develop a common roundtripping mechanism for QNAMES and URIs ;-)

	This XSLT was basically my "code talks" example so that when I have
said that the mapping of RDDL -> RDF is trivial, I mean that I wrote a
transform in ___ hours.
]

Received on Wednesday, 23 February 2005 20:39:23 UTC