Looking at some of the new draft specs published by the RDF Core WG,
e.g.
http://www.w3.org/TR/rdf-primer/
http://www.w3.org/TR/rdf-concepts/
http://www.w3.org/TR/rdf-syntax-grammar/
I notice that one of the significant changes is the introduction of
datatyping for literals. I'm not sure I've grasped the details yet, so I
may be barking up the wrong tree here...
... but, looking at the examples in the RDF Primer, I started to wonder
whether this would have any impact on the way we model "encoding
schemes" in the RDF representation of DC.
At the moment, encoding schemes are defined as RDF Classes and an
individual "value" within a scheme is a resource of that type. So e.g.
In 2.3.9 of [DCQ-RDF-XML], the examples of MESH include
dcterms:MESH rdf:type rdfs:Class .
_:a dc:subject _:x .
_:x rdf:type dcterms:MESH .
_:x rdf:value "D08.586.682.075.400" .
_:x rdfs:label "Formate Dehydrogenases" .
And 2.3.13 of [DCQ-RDF-XML], the examples of W3C-DTF include
dcterms:W3CDTF rdf:type rdfs:Class .
_:b dc:date _:y .
_:y rdf:type dcterms:W3CDTF .
_:y rdf:value "1999-09-25T14:20+10:00" .
My question arose because several of the examples in the RDF Primer show
dates modelled as typed literals. So (I think?) it would be possible
(though I don't know whether it's desirable, which is really what I'm
asking here!) to adopt an alternative convention where dcterms:W3CDTF is
declared/defined as of type rdfs:Datatype (instead of rdfs:Class):
dcterms:W3CDTF rdf:type rdfs:Datatype .
_:b dc:date "1999-09-25T14:20+10:00"^^dcterms:W3CDTF .
I can see that in the MESH case, an individual "value" is a
resource/object with multiple attributes (i.e. the "Heading" and the
"Tree Number" - and presumably an associated definition/scope note could
be included) and that "value object" can't be modelled fully as a
literal.
And I can see that for encoding schemes which are "controlled
vocabularies" or some form of "enumerated lists" of values, the
rdfs:Class-based approach allows you to assign a URI to the resource
representing each "value" in the list/vocabulary and then those
resources can be referenced from multiple instances (using rdfs:resource
in XML), e.g. something like:
http://www.nlm.nih.gov/mesh/D08.586.682.075.400 rdf:type dcterms:MESH .
http://www.nlm.nih.gov/mesh/D08.586.682.075.400 rdf:value
"D08.586.682.075.400" .
_:a dc:subject http://www.nlm.nih.gov/mesh/D08.586.682.075.400 .
_:b dc:subject http://www.nlm.nih.gov/mesh/D08.586.682.075.400 .
So I suppose my question is really about those encoding schemes where
the individual values are literals rather than "multi-attribute
objects", and where the schemes are not closed lists of values. The date
encoding schemes are the example I have in mind.
For date schemes, for example, are there any advantages/disadvantages to
choosing an approach based on rdfs:Class (as at present), with
encoding-scheme-values as separate resources i.e.
dcterms:W3CDTF rdf:type rdfs:Class .
_:b dc:date _:y .
_:y rdf:type dcterms:W3CDTF .
_:y rdf:value "1999-09-25T14:20+10:00" .
over an approach based on rdfs:Datatype, with encoding-scheme-values as
typed literals
dcterms:W3CDTF rdf:type rdfs:Datatype .
_:b dc:date "1999-09-25T14:20+10:00"^^dcterms:W3CDTF .
And if the second convention _is_ preferable for whatever reason, that
would appear to suggest we would use two different approaches to
representing two different types of encoding scheme.
Pete
[DCQ-RDF-XML] http://dublincore.org/documents/dcq-rdf-xml/
-------
Pete Johnston
Interoperability Research Officer
UKOLN, University of Bath, Bath BA2 7AY, UK
tel: +44 (0)1225 383619 fax: +44 (0)1225 386838
mailto:[log in to unmask]
http://www.ukoln.ac.uk/ukoln/staff/p.johnston/
|