Bruce D'Arcus (I think) suggested a while back that rather than
designing a new XML format for the DCAM description model, we should
consider using a restricted profile of RDF/XML that played reasonably
well with some XML schema languages.
With the previous version of the DCAM, I think this was slightly
problematic for various reasons, mainly because the DCAM concept of
value string didn't map particularly cleanly into RDF's concept of
literal. In the recent revision of the DCAM, we tried to address that
problem, and as a result the mapping from the DCAM description model to
the RDF graph [1] is much more straightforward.
So I think maybe that better alignment means that we could/should also
consider the "DC-XML as profile of RDF/XML" option.
I've created a set of RDF/XML examples using a subset of the constructs
in RDF/XML:
http://www.incognitum.net/petej/projects/dc-xml/dc-rdfxml/xml/2007/06/19
/
They correspond (I hope) to the DC-XML-Full examples listed at
http://dublincore.org/architecturewiki/DCXMLRevision/DCXMLFInstances/200
7-06-19
I haven't got as far as writing up a full description of that profile
but the mapping is roughly:
1. DCAM Description Set -> RDF-XML Document Element
2. DCAM Description -> RDF-XML Node Element
2.1 DCAM ResourceURI -> RDF-XML Node Element/@rdf:about
3. DCAM Statement -> RDF-XML Property Element
3.1 DCAM Property URI -> RDF-XML Property Element Qname
4. DCAM Value Surrogate:
4.1 DCAM Literal Value Surrogate:
4.1.1 DCAM Value String
DCAM Plain Value String:
RDF-XML Property Element content +
DCAM Language Tag: RDF-XML Property Element/@xml:lang
DCAM Typed Value String:
RDF-XML Property Element content +
DCAM SES URI: RDF-XML Property Element/@rdf:datatype
DCAM Typed Value String (XML Literal):
RDF-XML Property Element content +
RDF-XML Property Element/@rdf:parseType="Literal"
4.2 DCAM Non-Literal Value Surrogate:
4.2.1 DCAM Value URI -> RDF-XML Property Element/RDF-XML Node
Element/@rdf:about
4.2.2 DCAM VES URI -> RDF-XML Property Element/RDF-XML Node
Element/@dcam:memberOf
4.2.3 DCAM Value String
DCAM Plain Value String:
RDF-XML Property Element/RDF-XML Node Element/rdf:value content
+ (optional)
DCAM Language Tag: RDF-XML Property Element/RDF-XML Node
Element/rdf:value/@xml:lang
DCAM Typed Value String:
RDF-XML Property Element/RDF-XML Node Element/rdf:value content
+
DCAM SES URI: Property Element/RDF-XML Node
Element/rdf:value/@rdf:datatype
DCAM Typed Value String (XML Literal):
RDF-XML Property Element/RDF-XML Node Element/rdf:value content
+
RDF-XML Property Element/RDF-XML Node
Element/rdf:value/@rdf:parseType="Literal"
5. Description of Value with no Value URI:
RDF-XML Property Element/RDF-XML Node Element/@rdf:nodeID
and
RDF-XML Node Element/@rdf:nodeID
Notes:
1. In 4.2, using the "nested" Node Element makes it verbose, but I can't
see how else to handle the combination of on the one hand encoding a
non-literal value surrogate with only a value URI, no VES URI or value
string, and on the other encoding a non-literal value surrogate with
both a value URI and a value string, and using the same "pattern" for
both cases (though if we decided to support only a subset of the DCAM
description model, it could probably be simplified).
There's (a first cut at) a RELAX NG Schema
http://www.incognitum.net/petej/projects/dc-xml/dc-rdfxml/relax/2007/06/
19/dcrdfxml.rng
I've done some work on some W3C XML Schemas and I'll tidy them up if
it's worth pursuing this approach further.
There may well be other mappings/patterns which can be used to generate
a profile which is structurally simpler. Essentially, though, I think
even this approach still involves a level of structural complexity in
the XML not dissimilar to that of the other suggestions - and that's a
consequence of the structural complexity of the DCAM description model
itself. If we need to distinguish several different components in that
"abstract" structure then we'll need a corresponding set of distinctions
in the structure of the XML tree.
Pete
[1] http://dublincore.org/documents/2007/06/04/dc-rdf/
---
Pete Johnston
Technical Researcher, Eduserv Foundation
Web: http://www.eduserv.org.uk/foundation/people/petejohnston/
Weblog: http://efoundations.typepad.com/efoundations/
Email: [log in to unmask]
Tel: +44 (0)1225 474323
|