Download - What’s in a structured value?
![Page 1: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/1.jpg)
What’s in a structured value?
Andy PowellUKOLN, University of Bath
![Page 2: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/2.jpg)
Background
• for some time DC has had a slightly fuzzy notion of things called ‘structured values’– DCSV recommendation, complex data-
structures in RDF/XML, use of vCard, use of things like DC.Creator.Address, etc.
• with the exception of RDF/XML, these tend to be fairly ad hoc attempts to squeeze ‘structured’ information into DC records
![Page 3: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/3.jpg)
Simple DC model
• a simple DC record is made up of one or more properties and their associated values
• each property is an attribute of the resource being described
• each property must be one of the 15 DCMES elements
• properties may be repeated • each value is a string • each string value may have an associated
language (e.g. en-GB)
![Page 4: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/4.jpg)
Qualified DC model
• a qualified DC record is made up of one or more properties and their associated values
• each property is an attribute of the resource being described
• each property must be either: – one of the elements recommended by the
DCMI (i.e. the 15 DC elements and audience), – one of the DCMI element refinements
![Page 5: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/5.jpg)
Qualified DC model (2)
• properties may be repeated • each value is a string • each value may have an
associated encoding scheme • each encoding scheme has a URI • each string value may have an
associated language (e.g. en-GB)
![Page 6: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/6.jpg)
But…
• qualified DC model too simple w.r.t RDF
• not able to support requirements coming out of DC Agents WG
• sometimes the value string isn’t just a string…– sometimes it is a string that contains
some structure– i.e. sometimes it is a ‘structured value’
![Page 7: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/7.jpg)
Types of structured values
• labelled strings– DCSV (DC Box, …), OpenURL, vCard
• unlabelled strings– W3CDTF
• markup– HTML markup (various flavours), XML-based
markup (CML, MathML, …), or non-XML markup such as TeX
• related resource descriptions– full vCard, DC.Creator.Address, RDF
![Page 8: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/8.jpg)
Definitions
• a “structured value” is– a string that contains machine-parsable
component parts (and which has an associated “syntax encoding scheme” that indicates how the component parts are encoded within the string)
– a string value that includes some markup
– a description of a related resource
![Page 9: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/9.jpg)
Name and identifiers as values
• dc:creator, dc:contributor, dc:publisher, dc:relation, dc:source name or identify a related resource
• identifiers typically in the form of a URI
• names typically in the form of person or organisation name (sometimes with the addition of extra information)
![Page 10: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/10.jpg)
Linking/embedding requirement
• in the case of these 5 elements, there appears to be a requirement to form linkage between description of resource and description of one or more related resources
• i.e. between the resource being described and the resource that is named or identified by the element
• achieved by embedding or linking
![Page 11: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/11.jpg)
Example 1 – dc:creator<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email protected] </my:email> </rdf:Description> </dc:creator> </rdf:Description></rdf:RDF>
Example RDF description using dc:creator…
![Page 12: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/12.jpg)
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email protected] </my:email> </rdf:Description> </dc:creator> </rdf:Description></rdf:RDF>
Example 1 – dc:creator
dc:creator
Andy Powell…
my:affiliation a.powell@uko…
my:email
…and the RDF model it represents.
UKOLN, Univ…
a.powell@uko…
Andy Po…
rdfs:label
my:name
![Page 13: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/13.jpg)
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email protected] </my:email> </rdf:Description> </dc:creator> </rdf:Description></rdf:RDF>
Example 1 – dc:creator
dc:creator
Andy Powell…
my:affiliation a.powell@uko…
my:email
UKOLN, Univ…
a.powell@uko…
Andy Po…
rdfs:label
my:name
But… we don’t want to embed all this information
into every instance metadata record do we?
relatedMetadata
![Page 14: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/14.jpg)
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> </rdf:Description> </dc:creator> </rdf:Description></rdf:RDF>
Example 1 – dc:creator
dc:creator
Andy Powell…
rdfs:label
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <my:name> Andy Powell </my:name> <my:email> [email protected] </my:email> </rdf:Description></rdf:RDF>
my:affiliation a.powell@uko…
my:email
UKOLN, Univ…
a.powell@uko…
Andy Po…
my:name
Need to separate part of the information out and store it
in a single place – in this case in a directory service…
![Page 15: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/15.jpg)
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> </rdf:Description> </dc:creator> </rdf:Description></rdf:RDF>
Example 1 – dc:creator
valueURI
dc:creator
Andy Powell…
rdfs:label
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <my:name> Andy Powell </my:name> <my:email> [email protected] </my:email> </rdf:Description></rdf:RDF>
valueURI
my:affiliation a.powell@uko…
my:email
UKOLN, Univ…
a.powell@uko…
Andy Po…
my:name
To do this we need to assign a URI (the ‘valueURI’) to the anonymous ‘value’ node…
![Page 16: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/16.jpg)
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> </rdf:Description> </dc:creator> </rdf:Description></rdf:RDF>
Example 1 – dc:creator
valueURI
dc:creator
Andy Powell…
rdfs:label
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <my:name> Andy Powell </my:name> <my:email> [email protected] </my:email> </rdf:Description></rdf:RDF>
valueURI
my:affiliation a.powell@uko…
my:email
UKOLN, Univ…
a.powell@uko…
Andy Po…
my:name
relatedMetadataURI
The document containing this information is itself an
RDF resource (the ‘relatedMetadata’) and has
a URI
![Page 17: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/17.jpg)
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email protected] </my:email> </rdf:Description> </dc:creator> </rdf:Description></rdf:RDF>
Example 1 – dc:creator
valueURI
dc:creator
Andy Powell…
rdfs:label
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:my="http://purl.org…"> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email protected] </my:email> </rdf:Description> </dc:creator> </rdf:Description></rdf:RDF>
valueURI
my:affiliation a.powell@uko…
my:email
UKOLN, Univ…
a.powell@uko…
Andy Po…
my:name
relatedMetadataURI
rdfs:seeAlso
Use rdf:seeAlso to form linkage between description
and relatedMetadata…
![Page 18: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/18.jpg)
Example 2 – dc:subject<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <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>
Example RDF description using dc:subject (taken
from Qualified DC in RDF recommendation…
![Page 19: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/19.jpg)
Example 2 – dc:subject<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <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>
dcterms:MESH
dc:subject
rdf:type D08.586…rdf:type
rdfs:label
Formated…
rdfs:value
…and the RDF model it represents.
![Page 20: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/20.jpg)
Example 2 – dc:subject<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <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>
dcterms:MESH
dc:subject
rdf:typerdf:type
But… we don’t want to embed all this information
into every instance metadata record do we?
relatedMetadata
D08.586…
rdfs:label
Formated…
rdfs:value
![Page 21: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/21.jpg)
Example 2 – dc:subject<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <rdf:Description> <dc:subject> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> </dcterms:MESH> </dc:subject> </rdf:Description></rdf:RDF>
dcterms:MESH
dc:subject
rdf:typerdf:type
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> <rdfs:label> Formate Dehydrogenase </rdfs:label> </dcterms:MESH></rdf:RDF>dcterms:MESH
D08.586…
Formated…
Need to separate part of the information out and store it
in a single place – in this case with the terminology
owner…
rdfs:label
Formated…
![Page 22: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/22.jpg)
Example 2 – dc:subject<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <rdf:Description> <dc:subject> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> </dcterms:MESH> </dc:subject> </rdf:Description></rdf:RDF>
valueURI
dcterms:MESH
dc:subject
rdf:typerdf:type
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> <rdfs:label> Formate Dehydrogenase </rdfs:label> </dcterms:MESH></rdf:RDF>
valueURI
dcterms:MESH
D08.586…
Formated…
To do this we need to assign a URI (the ‘valueURI’) to the anonymous ‘value’ node…
rdfs:label
Formated…
![Page 23: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/23.jpg)
Example 2 – dc:subject<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <rdf:Description> <dc:subject> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> </dcterms:MESH> </dc:subject> </rdf:Description></rdf:RDF>
valueURI
dcterms:MESH
dc:subject
rdf:typerdf:type
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> <rdfs:label> Formate Dehydrogenase </rdfs:label> </dcterms:MESH></rdf:RDF>
valueURI
dcterms:MESH
D08.586…
Formated…
relatedMetadataURI
The document containing this information is itself an
RDF resource (the ‘relatedMetadata’) and has
a URI
rdfs:label
Formated…
![Page 24: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/24.jpg)
Example 2 – dc:subject<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <rdf:Description> <dc:subject> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> </dcterms:MESH> </dc:subject> </rdf:Description></rdf:RDF>
valueURI
dcterms:MESH
dc:subject
rdf:typerdf:type
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> <rdfs:label> Formate Dehydrogenase </rdfs:label> </dcterms:MESH></rdf:RDF>
valueURI
dcterms:MESH
D08.586…
Formated…
relatedMetadataURI
rdfs:seeAlso
Use rdf:seeAlso to form linkage between description
and relatedMetadata…
rdfs:label
Formated…
![Page 25: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/25.jpg)
Abstract DC model<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <rdf:Description> <dc:subject> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> </dcterms:MESH> </dc:subject> </rdf:Description></rdf:RDF>
valueURI
dcterms:MESH
dc:subject
rdf:typerdf:type
<?xml version="1.0"?><rdf:RDF xmlns:rdf=http://www….xmlns:rdfs=http://www.w3.org/…xmlns:dc=http://purl.org/dc/…xmlns:dcterms="http://purl.org…"> <dcterms:MESH> <rdf:value> D08.586.682.075.400 </rdf:value> <rdfs:label> Formate Dehydrogenase </rdfs:label> </dcterms:MESH></rdf:RDF>
valueURI
dcterms:MESH
D08.586…
Formated…
relatedMetadataURI
rdfs:seeAlso
resource
property
valueURI
valueString
In terms of abstract DC model we now have: resource,
property, valueURI, valueString (and valueStringLang), encodingScheme, relatedMetadata
resource
property
valueURI
relatedMetadata
encodingScheme
rdfs:label
Formated…
valueString(valueStringLang)
![Page 26: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/26.jpg)
Need to extend abstract model
• each [DCMI property] ‘value’ has a ‘valueURI’
• each ‘value’ has a ‘valueString’– each ‘valueString’ may have an ‘encoding
scheme’– each ‘encoding scheme’ has a URI– each ‘valueString’ may have a ‘language’
• each ‘value’ may have a linked or embedded ‘complexValue’ (markup or related resource description)
![Page 27: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/27.jpg)
relatedMetadata
• related resource description known as ‘relatedMetadata’
• particular encoding syntaxes may support instantiation of relatedMetadata by– embedding– explicit link using ‘relatedMetadataURI’– both
![Page 28: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/28.jpg)
Qualified DC model
• a qualified DC record is made up of one or more properties and their associated values
• each property is an attribute of the resource being described
• each property must be either: – one of the elements recommended by the DCMI
(i.e. the 15 DC elements and audience), – one of the DCMI element refinements
• properties may be repeated
![Page 29: What’s in a structured value?](https://reader038.vdocuments.net/reader038/viewer/2022110115/54bc9be54a7959f6568b460f/html5/thumbnails/29.jpg)
Qualified DC model (2)
• each value may have a valueURI• each value may have a valueString
– each valueString may have an associated encoding scheme
– each encoding scheme has a URI – each valueString may have an associated
language (e.g. en-GB)
• each value may have a linked or embedded complexValue (markup or relatedMetadata)