After many of months of struggling with RDF, alternately thinking it was
simple and straightforward, then thinking it was a complete disaster, I
think I've discovered the rabid rat at the bottom of the RDF sewer. It
finally hit me when I was rereading the definition of
'parseType="Resource"'. In my opinion, that seeming innocuous syntactic
element points points to the basic confusion that makes RDF so slippery in
the hands. It has to do with a stylistic mismatch between RDF's model and
syntax.
RDF claims to be property-centric as opposed to resource or object-centric.
I heartily agree with this philosophy. The RDF model, and the semantic
graphs used to illustrate the model, are all in fact nicely
property-centric. But the syntax is not. The basic serialization, for
example, bundles properties up with the object being described. Furthermore,
the RDF type and RDFS Class mechanisms apply to objects, not properties. The
RDFS examples define things like Vehicle (a resource), not things like
EngineType (a resource).
Consider the following examples in contrast to the current RDF/RDFS syntax:
<Property subject="index.html" predicate="author" object="Tim Bray"
/>
or in abbreviated format
<Author subject="index.html" object="Tim Bray" />
As far as I can tell, these problems are strictly syntactic. It's still
possible to treat properties as first-class objects. As I understand it, the
parseType=Resource attribute in essence says "I want to treat this property
as a first-class object to which I can apply other properties". But it
certainly makes the whole thing unncessarily confusing.
Every time I read the RDF spec family, I read the abstract model description
and think "no problem", then I read the syntax description and think
"hunh?". Now I think I know why.
Jeff
------------------------------------------------------------------------
Jeffrey E. Sussna
Chief Architect
Quokka Sports, Inc.
Digital Sports Entertainment
128 Spear St. Suite 200
San Francisco, CA 94105 USA
+1 415 369 4286
http://www.quokka.comjeff.sussna@quokka.com