> _:a dc:subject _:x .
> _:x rdf:type dcterms:MESH .
> _:x rdf:value "D08.586.682.075.400" .
> _:x rdfs:label "Formate Dehydrogenases" .
Hi folks,
A question...
Wouldn't it be more efficient and optimal to use URIs for
cases such as above, which would (a) eliminate the bnode
reducing four triples to one and (b) define the label once
for all instances of a given value, and (c) allow one to
use generic RDF reasoning to determine equality of values
rather than having equality depending on DC-specific
intepretation of the above idiom. E.g.
_:a dc:subject <http://purl.org/dc/terms/MESH/D08.586.682.075.400> .
<http://purl.org/dc/terms/MESH/D08.586.682.075.400> rdfs:label "Formate Dehydrogenases" .
or more compactly
@prefix mesh: <http://purl.org/dc/terms/MESH/> .
_:a dc:subject mesh:D08.586.682.075.400 .
mesh:D08.586.682.075.400 rdfs:label "Formate Dehydrogenases" .
It seems to me that there are two primary uses of rdf:value
in DC, one for datatyped values and another for controlled
code sets. Typed literals in the new RDF specs handles the
first case, and a URI based approach such as above would more
optimally handle the second (since the values in question are
resources about which additional statements must be made,
such as label).
One metric I've employed for some time is that, if a value needs
a label, or is a member of a controlled set, use a URI to denote
the value.
Given the fact that rdf:value has no semantics defined in the MT,
and is, while not deprecated, also has no normative interpretation
defined, opting for typed literals for datatype values and
URIs for controlled termset values seems a better way to go.
Eh?
Just thinking out loud... ;-)
Patrick
[Patrick Stickler, Nokia/Finland, (+358 40) 801 9690, [log in to unmask]]
|