RE: SKOS 'concept schemes' and DCMI 'vocabulary encoding schemes'

Hi Andy,

> We had the need for using other subject encoding schemes with 
> Dublin Core, other than the those listed by DCMI, e.g., DDC, 
> LCSH, MESH, UDC.  In our discussion with Andy Powell and Stu 
> Weibel they indicated that DCMI was not happy with subject 
> encoding schemes since everytime you need a new one, you have 
> to add it to the Dublin Core specification.  Last year we 
> proposed an alternate, backward compatible, method for DCMI 
> to deprecate the use of subject encoding schemes and allow 
> any subject scheme to be specified via URI.  I'm not sure 
> where or how far the proposal went.

Yes, I think we need to work out how 'subject schemes' should be declared in principle, allowing DCMI or anyone else to declare and use their own within DC metadata.

> 
> Our proposal produced the same RDF graph structure as the 
> following example, lifted from the DCMI document:
> 
> <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:dc="http://purl.org/dc/elements/1.1/"
>   xmlns:dcterms="http://purl.org/dc/terms/"
> >
>   <rdf:Description>
>     <dc:subject>
>       <dcterms:MESH>
>         <rdf:value>D08.586.682.075.400</rdf:value>
>         <rdfs:label>Formate Dehydrogenase</rdfs:label>
>       </dcterms:MESH>
>     </dc:subject>
>   </rdf:Description>
> </rdf:RDF>
> 
> Basically, the above produces the following raw RDF:
> 
> <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:dc="http://purl.org/dc/elements/1.1/"
>   xmlns:dcterms="http://purl.org/dc/terms/"
> >
>   <rdf:Description>
>     <dc:subject>
>       <rdf:Description>
>         <rdf:type>http://purl.org/dc/terms/MESH</rdf:type>
>         <rdf:value>D08.586.682.075.400</rdf:value>
>         <rdfs:label>Formate Dehydrogenase</rdfs:label>
>       </rdf:Description>
>     </dc:subject>
>   </rdf:Description>
> </rdf:RDF>
> 

Nit-pick: the rdf:type element should be...

<rdf:type rdf:resource="http://purl.org/dc/terms/MESH"/>

... see [1].

> Thus, you can deprecate the use of use of subject encoding 
> schemes and allow new subject encoding schemes without having 
> to add them to Dublin Core by changing the URL in rdf:type, 
> for example GSAFD (a list of genre terms for drama and fiction):
> 
> <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:dc="http://purl.org/dc/elements/1.1/"
>   xmlns:dcterms="http://purl.org/dc/terms/"
> >
>   <rdf:Description>
>     <dc:subject>
>       <rdf:Description>
>         <rdf:type>info:kos/scheme/gsafd/20010920</rdf:type>
>         <rdf:value>GSAFD000001</rdf:value>
>         <rdfs:label>Adventure fiction</rdfs:label>
>       </rdf:Description>
>     </dc:subject>
>   </rdf:Description>
> </rdf:RDF>
> 

My guts tell me it should either be ...

OPTION 1:

<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:dc="http://purl.org/dc/elements/1.1/">

  <rdf:Description rdf:about="http://www.example.com/somedoc">
    <dc:subject rdf:datatype="http://purl.org/dc/terms/MESH">D08.586.682.075.400</dc:subject>
  </rdf:Description>

</rdf:RDF>

... or OPTION 2:

<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:dc="http://purl.org/dc/elements/1.1/">

  <rdf:Description rdf:about="http://www.example.com/somedoc">
    <dc:subject rdf:resource="http://purl.org/dc/terms/MESH/D08.586.682.075.400">
  </rdf:Description>

</rdf:RDF>

... and (stated outside of 'instance metadata') ...

<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:dc="http://purl.org/dc/elements/1.1/">

  <rdf:Description rdf:about="http://purl.org/dc/terms/MESH/D08.586.682.075.400">
    <rdfs:label>Formate Dehydrogenases</rdfs:label>
    <rdf:value>D08.586.682.075.400</rdf:value>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/dc/terms/MESH"/>
  </rdf:Description>

</rdf:RDF>

Option 1 requires little or no modification to the AM, but does require a description of how to map from datatyped literal values to SKOS-like resource descriptions.

Option 2 requires some modification to the AM, but does not require any additional mapping to SKOS-like resource descriptions, because it already is a SKOS-like resource description, and if you want to use SKOS you only have to add statements.

> Not sure whether this helps your situation or not...
> 
> 
> > > Also, the pattern:
> > >
> > > <http://www.example.com/somedoc> dc:subject
> > 'D08.586.682.075.400'^^dcterms:MESH.
> > >
> > > ... seems to also match closely the XML encoding of qualified DC,
> > using xsi:type.
> > 
> 
> The use of xsi:type for the XML encoding of qualified DC 
> seems, to me, to be a hack and doesn't quite align with its 
> intended purpose in XML schema.  Also, some XML parsers choke 
> on anything in xsi:type that isn't a qualified XML schema type.

I was wondering about that. 

Cheers,

Al.

[1] http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-Syntax-typed-nodes

Received on Tuesday, 11 October 2005 11:43:18 UTC