two side issues on blank nodes...

While making an RDFa representation for the rdfa vocabulary the other
day, I ran into two small issues for which I did not find an unambiguous
answer or, if I believe it is unambiguous, I wonder whether we would not
want to make slight changes.

1. Is the following 'legal'?

<div typeof=""><span property="a:b">bla</span></div>

Point 6 of the processing steps says: "If present, the attribute must
contain one or more URIs,", so it is not legal. Ie, to create a new
BNode one _has_ to use an explicit type to get something like

[ rdf:type SOMETYPE;
  a:b "bla" ]

2. Is the following 'legal' and, if yes, what is it?

<div id="a" about="_:"><span property="a:b">bla</span></div>

I vaguely remember that we said that there is one single BNode per
default output graph which is referred to here, ie, if we also had
another construct in the RDFa file

<div id="b" about="_:"><span property="x:y">xyz</span></div>

then the overall result in the output graph would be

[ a:b "bla"; x:y "xyz" ]

I am not sure this is clearly documented, though, or I have not found it.

The problem is that there is no really easy way to describe something like

[ a:b "bla" ]
[ x:y "xyz" ]

except by using an explicit @about="_:X" and @about="_:Y" in the
respective HTML elements. Put it another way, we do not have a direct
counterpart of the Turtle [].

From an RDF serialization point of view I really think this is
necessary. I can of course create a hack of the sort like

<div typeof="rdf:Resource">....</div>

which is, from an RDF(S) point of view a NOP, because all resources are
instance of the rdf:Resource class. That is currently possible but ugly
IMHO. Alternatively, we could ease the restriction on typeof and allow

<div typeof="">....</div>

to be legal, it would create a BNode just like it does right now, but
without an extra typing operation. Finally, we could define "_:" to
create a new BNode at each of its occurrences (and I vaguely remember
having had this discussion before and I lost that argument:-(.

In any case, we have, in my view, a minor but possibly important missing
feature here (eg, if I want to encode OWL ontologies in RDFa, which
would make perfect sense for a self-documenting ontology specification,
that construct would come up frequently and the explicit bnode naming
would really be error-prone)

Ivan


-- 

Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF   : http://www.ivan-herman.net/foaf.rdf
vCard  : http://www.ivan-herman.net/HermanIvan.vcf

Received on Friday, 26 March 2010 16:23:31 UTC