Hi Tom
My 0.02 on this
As a general remark, the more SKOS and DC are clearly interlinked, the better :)
#1 : Complete agreement, being aware of consequences. If the domain of skos:inScheme is open, its range is skos:ConceptScheme, so using this property entails that any dcam:VocabularyEncodingScheme used as the object of skos:inScheme is a skos:ConceptScheme. The following logical step is to declare dcam:VocabularyEncodingScheme as a subclass of skos:ConceptScheme. And the next one is asking what is specific to this subclass. If there is no specificity, dcam:VocabularyEncodingScheme could as well (should?) be replaced in the abstract model by skos:ConceptScheme. Do you want to go this far in entailments?
#2 : In exemple in [1] seems to me that the two instances of rdf:value should not use skos:prefLabel, the second one (EA32) is exactly a skos:notation (of which domain is as open as the ones of skos:inScheme and skos:prefLabel. See http://www.w3.org/TR/skos-reference/#notations
So the example revisited would look like the following ...
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:dcterms="http://purl.org/dc/terms/">
<skos:ConceptScheme rdf:about="http://www.example.org/ns#ExampleSubjects">
<rdfs:label xml:lang="en">Example Subjects</rdfs:label>
</skos:ConceptScheme>
<rdf:Description rdf:about="http://example.org/123">
<dcterms:subject>
<rdf:Description rdf:about="http://www.example.org/subject32">
<skos:inScheme rdf:resource="http://www.example.org/ns#ExampleSubjects"/>
<skos:prefLabel xml:lang="en">Biology</skos:prefLabel>
<skos:notation rdf:datatype="http://www.example.org/ns#SubjectEncoding">EA32</skos:notation>
</rdf:Description>
</dcterms:subject>
</rdf:Description>
</rdf:RDF>
Granted, in this example, <http://www.example.org/subject32> is not declared as a skos:Concept, but begins to look furiously like one :)
Nothing prevents to extend its description using other skos properties with open domain, such as skos:altLabel, skos:definition ...
Bernard
Dear all,
David Wood suggests two changes in how DCAM constructs are
represented in RDF [1]:
1. Instead of using dcam:memberOf to relate a value to a
DCAM Vocabulary Encoding Scheme [1, section 4.5], David
suggests using skos:inScheme [2].
2. Instead of using rdf:value to relate a value to a
DCAM Value String [1, section 4.6], David suggests using
skos:prefLabel [3].
Some first reactions:
-- The domain of skos:inScheme was left unspecified in
order to provide the flexibility to extend a concept scheme
with classes of resource other than skos:Concept (i.e., the use
of skos:inScheme does not imply that the subject is a concept).
Also, skos:inScheme is better-known than dcam:memberOf.
So #1 seems like a sound idea.
-- The domain of skos:prefLabel was also left unspecified [3],
so its use does not imply that the subject of a statement is
a SKOS concept. On the other hand, I believe the
correct use of rdf:value has long been unclear.
So #2 seems like a good idea too, though as part of such a
change we would need to understand better where the problem
with rdf:value lies.
Tom (at DC-2009, Seoul)
[1] http://dublincore.org/documents/dc-rdf/#sect-4
[2] http://www.w3.org/TR/skos-reference/#L2805
[3] http://www.w3.org/TR/skos-reference/#L1541
--
Thomas Baker <[log in to unmask]>