0
What’s in a structured value? Andy Powell UKOLN, University of Bath
Background <ul><li>for some time DC has had a slightly fuzzy notion of things called ‘structured values’ </li></ul><ul><ul...
Simple DC model <ul><li>a  simple DC record  is made up of one or more  properties  and their associated  values   </li></...
Qualified DC model <ul><li>a  qualified DC record  is made up of one or more  properties  and their associated  values   <...
Qualified DC model (2) <ul><li>properties  may be repeated  </li></ul><ul><li>each  value  is a string  </li></ul><ul><li>...
But… <ul><li>qualified DC model too simple w.r.t RDF </li></ul><ul><li>not able to support requirements coming out of DC A...
Types of structured values <ul><li>labelled strings </li></ul><ul><ul><li>DCSV (DC Box, …), OpenURL, vCard </li></ul></ul>...
Definitions <ul><li>a “structured value” is </li></ul><ul><ul><li>a string that contains machine-parsable component parts ...
Name and identifiers as values <ul><li>dc:creator, dc:contributor, dc:publisher, dc:relation, dc:source name or identify a...
Linking/embedding requirement <ul><li>in the case of these 5 elements, there appears to be a requirement to form linkage b...
Example 1 – dc:creator <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmln...
Example 1 – dc:creator dc:creator Andy Powell… my:affiliation a.powell@uko… my:email … and the RDF model it represents. UK...
Example 1 – dc:creator dc:creator Andy Powell… my:affiliation a.powell@uko… my:email UKOLN, Univ… a.powell@uko… Andy Po… r...
Example 1 – dc:creator dc:creator Andy Powell… rdfs:label my:affiliation a.powell@uko… my:email UKOLN, Univ… a.powell@uko…...
Example 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label valueURI my:affiliation a.powell@uko… my:email UKOLN, U...
Example 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label valueURI my:affiliation a.powell@uko… my:email UKOLN, U...
Example 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label valueURI my:affiliation a.powell@uko… my:email UKOLN, U...
Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmln...
Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmln...
Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmln...
Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmln...
Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmln...
Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmln...
Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmln...
Abstract DC model <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=...
Need to extend abstract model <ul><li>each [DCMI property] ‘value’ has a ‘valueURI’ </li></ul><ul><li>each ‘value’ has a ‘...
relatedMetadata <ul><li>related resource description known as ‘relatedMetadata’ </li></ul><ul><li>particular encoding synt...
Qualified DC model <ul><li>a  qualified DC record  is made up of one or more  properties  and their associated  values   <...
Qualified DC model (2) <ul><li>each  value  may have a  valueURI </li></ul><ul><li>each  value  may have a  valueString   ...
Upcoming SlideShare
Loading in...5
×

What’s in a structured value?

1,095

Published on

A presentation to staff at Cornell University Library - Oct 2004

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,095
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "What’s in a structured value?"

  1. 1. What’s in a structured value? Andy Powell UKOLN, University of Bath
  2. 2. Background <ul><li>for some time DC has had a slightly fuzzy notion of things called ‘structured values’ </li></ul><ul><ul><li>DCSV recommendation, complex data-structures in RDF/XML, use of vCard, use of things like DC.Creator.Address, etc. </li></ul></ul><ul><li>with the exception of RDF/XML, these tend to be fairly ad hoc attempts to squeeze ‘structured’ information into DC records </li></ul>
  3. 3. Simple DC model <ul><li>a simple DC record is made up of one or more properties and their associated values </li></ul><ul><li>each property is an attribute of the resource being described </li></ul><ul><li>each property must be one of the 15 DCMES elements </li></ul><ul><li>properties may be repeated </li></ul><ul><li>each value is a string </li></ul><ul><li>each string value may have an associated language (e.g. en-GB) </li></ul>
  4. 4. Qualified DC model <ul><li>a qualified DC record is made up of one or more properties and their associated values </li></ul><ul><li>each property is an attribute of the resource being described </li></ul><ul><li>each property must be either: </li></ul><ul><ul><li>one of the elements recommended by the DCMI (i.e. the 15 DC elements and audience), </li></ul></ul><ul><ul><li>one of the DCMI element refinements </li></ul></ul>
  5. 5. Qualified DC model (2) <ul><li>properties may be repeated </li></ul><ul><li>each value is a string </li></ul><ul><li>each value may have an associated encoding scheme </li></ul><ul><li>each encoding scheme has a URI </li></ul><ul><li>each string value may have an associated language (e.g. en-GB) </li></ul>
  6. 6. But… <ul><li>qualified DC model too simple w.r.t RDF </li></ul><ul><li>not able to support requirements coming out of DC Agents WG </li></ul><ul><li>sometimes the value string isn’t just a string… </li></ul><ul><ul><li>sometimes it is a string that contains some structure </li></ul></ul><ul><ul><li>i.e. sometimes it is a ‘structured value’ </li></ul></ul>
  7. 7. Types of structured values <ul><li>labelled strings </li></ul><ul><ul><li>DCSV (DC Box, …), OpenURL, vCard </li></ul></ul><ul><li>unlabelled strings </li></ul><ul><ul><li>W3CDTF </li></ul></ul><ul><li>markup </li></ul><ul><ul><li>HTML markup (various flavours), XML-based markup (CML, MathML, …), or non-XML markup such as TeX </li></ul></ul><ul><li>related resource descriptions </li></ul><ul><ul><li>full vCard, DC.Creator.Address, RDF </li></ul></ul>
  8. 8. Definitions <ul><li>a “structured value” is </li></ul><ul><ul><li>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) </li></ul></ul><ul><ul><li>a string value that includes some markup </li></ul></ul><ul><ul><li>a description of a related resource </li></ul></ul>
  9. 9. Name and identifiers as values <ul><li>dc:creator, dc:contributor, dc:publisher, dc:relation, dc:source name or identify a related resource </li></ul><ul><li>identifiers typically in the form of a URI </li></ul><ul><li>names typically in the form of person or organisation name (sometimes with the addition of extra information) </li></ul>
  10. 10. Linking/embedding requirement <ul><li>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 </li></ul><ul><li>i.e. between the resource being described and the resource that is named or identified by the element </li></ul><ul><li>achieved by embedding or linking </li></ul>
  11. 11. Example 1 – dc:creator <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email_address] </my:email> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF> Example RDF description using dc:creator…
  12. 12. 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 <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email_address] </my:email> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF>
  13. 13. 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 <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email_address] </my:email> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF>
  14. 14. Example 1 – dc:creator dc:creator Andy Powell… rdfs:label 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… <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF> <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <my:name> Andy Powell </my:name> <my:email> [email_address] </my:email> </rdf:Description> </rdf:RDF>
  15. 15. Example 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label 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… <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF> <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <my:name> Andy Powell </my:name> <my:email> [email_address] </my:email> </rdf:Description> </rdf:RDF>
  16. 16. Example 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label 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 <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF> <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <my:name> Andy Powell </my:name> <my:email> [email_address] </my:email> </rdf:Description> </rdf:RDF>
  17. 17. Example 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label 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… <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email_address] </my:email> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF> <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:my=&quot;http://purl.org…&quot;> <rdf:Description> <dc:creator> <rdf:Description> <rdf:value> Andy Powell </rdf:value> <my:email> [email_address] </my:email> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF>
  18. 18. Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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…
  19. 19. Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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.
  20. 20. Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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 rdf: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
  21. 21. Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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:type rdf:type <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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…
  22. 22. Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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:type rdf:type <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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…
  23. 23. Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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:type rdf:type <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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…
  24. 24. Example 2 – dc:subject <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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:type rdf:type <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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…
  25. 25. Abstract DC model <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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:type rdf:type <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:rdf=http://www…. xmlns:rdfs=http://www.w3.org/… xmlns:dc=http://purl.org/dc/… xmlns:dcterms=&quot;http://purl.org…&quot;> <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)
  26. 26. Need to extend abstract model <ul><li>each [DCMI property] ‘value’ has a ‘valueURI’ </li></ul><ul><li>each ‘value’ has a ‘valueString’ </li></ul><ul><ul><li>each ‘valueString’ may have an ‘encoding scheme’ </li></ul></ul><ul><ul><li>each ‘encoding scheme’ has a URI </li></ul></ul><ul><ul><li>each ‘valueString’ may have a ‘language’ </li></ul></ul><ul><li>each ‘value’ may have a linked or embedded ‘complexValue’ (markup or related resource description) </li></ul>
  27. 27. relatedMetadata <ul><li>related resource description known as ‘relatedMetadata’ </li></ul><ul><li>particular encoding syntaxes may support instantiation of relatedMetadata by </li></ul><ul><ul><li>embedding </li></ul></ul><ul><ul><li>explicit link using ‘relatedMetadataURI’ </li></ul></ul><ul><ul><li>both </li></ul></ul>
  28. 28. Qualified DC model <ul><li>a qualified DC record is made up of one or more properties and their associated values </li></ul><ul><li>each property is an attribute of the resource being described </li></ul><ul><li>each property must be either: </li></ul><ul><ul><li>one of the elements recommended by the DCMI (i.e. the 15 DC elements and audience), </li></ul></ul><ul><ul><li>one of the DCMI element refinements </li></ul></ul><ul><li>properties may be repeated </li></ul>
  29. 29. Qualified DC model (2) <ul><li>each value may have a valueURI </li></ul><ul><li>each value may have a valueString </li></ul><ul><ul><li>each valueString may have an associated encoding scheme </li></ul></ul><ul><ul><li>each encoding scheme has a URI </li></ul></ul><ul><ul><li>each valueString may have an associated language (e.g. en-GB) </li></ul></ul><ul><li>each value may have a linked or embedded complexValue ( markup or relatedMetadata ) </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×