Encoding DC in (X)HTML, XML and RDF Andy Powell UKOLN, University of Bath, UK UKOLN is supported by: Tutorial.

Slides:



Advertisements
Similar presentations
1 Radio Maria World. 2 Postazioni Transmitter locations.
Advertisements

The Fall Messier Marathon Guide
Números.
Trend for Precision Soil Testing % Zone or Grid Samples Tested compared to Total Samples.
Trend for Precision Soil Testing % Zone or Grid Samples Tested compared to Total Samples.
AGVISE Laboratories %Zone or Grid Samples – Northwood laboratory
Trend for Precision Soil Testing % Zone or Grid Samples Tested compared to Total Samples.
PDAs Accept Context-Free Languages
ALAK ROY. Assistant Professor Dept. of CSE NIT Agartala
/ /17 32/ / /
Reflection nurulquran.com.
EuroCondens SGB E.
Worksheets.
Addition and Subtraction Equations
Agents and the DC Abstract Model Andy Powell UKOLN, University of Bath DC Agents WG Meeting DC-2005, Madrid.
DC Architecture WG meeting Monday Sept 12 Slot 1: Slot 2: Location: Seminar Room 4.1.E01.
OLAC Metadata Steven Bird University of Melbourne / University of Pennsylvania OLAC Workshop 10 December 2002.
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
David Burdett May 11, 2004 Package Binding for WS CDL.
1 When you see… Find the zeros You think…. 2 To find the zeros...
Western Public Lands Grazing: The Real Costs Explore, enjoy and protect the planet Forest Guardians Jonathan Proctor.
Add Governors Discretionary (1G) Grants Chapter 6.
CALENDAR.
CHAPTER 18 The Ankle and Lower Leg
Summative Math Test Algebra (28%) Geometry (29%)
ASCII stands for American Standard Code for Information Interchange
UKOLN, University of Bath
Andy Powell, Eduserv Foundation Feb 2007 The Dublin Core Abstract Model – a packaging standard?
Dublin Core, OAI-PMH and the eBank UK schema Monica Duke UKOLN, University of Bath, UK UKOLN is supported by:
Dr. Alexandra I. Cristea CS 253: Topics in Database Systems: C3.
The 5S numbers game..
突破信息检索壁垒 -SciFinder Scholar 介绍
A Fractional Order (Proportional and Derivative) Motion Controller Design for A Class of Second-order Systems Center for Self-Organizing Intelligent.
Numerical Analysis 1 EE, NCKU Tien-Hao Chang (Darby Chang)
The basics for simulations
EE, NCKU Tien-Hao Chang (Darby Chang)
© 2010 Concept Systems, Inc.1 Concept Mapping Methodology: An Example.
MM4A6c: Apply the law of sines and the law of cosines.
Figure 3–1 Standard logic symbols for the inverter (ANSI/IEEE Std
Dynamic Access Control the file server, reimagined Presented by Mark on twitter 1 contents copyright 2013 Mark Minasi.
TCCI Barometer March “Establishing a reliable tool for monitoring the financial, business and social activity in the Prefecture of Thessaloniki”
Copyright © [2002]. Roger L. Costello. All Rights Reserved. 1 XML Schemas Reference Manual Roger L. Costello XML Technologies Course.
Progressive Aerobic Cardiovascular Endurance Run
Biology 2 Plant Kingdom Identification Test Review.
Encoding DC in (X)HTML, XML and RDF Andy Powell UKOLN, University of Bath, UK UKOLN is supported by: Tutorial.
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
Facebook Pages 101: Your Organization’s Foothold on the Social Web A Volunteer Leader Webinar Sponsored by CACO December 1, 2010 Andrew Gossen, Senior.
When you see… Find the zeros You think….
2011 WINNISQUAM COMMUNITY SURVEY YOUTH RISK BEHAVIOR GRADES 9-12 STUDENTS=1021.
Before Between After.
2011 FRANKLIN COMMUNITY SURVEY YOUTH RISK BEHAVIOR GRADES 9-12 STUDENTS=332.
ST/PRM3-EU | | © Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying.
Dr. Alexandra I. Cristea XHTML.
2.10% more children born Die 0.2 years sooner Spend 95.53% less money on health care No class divide 60.84% less electricity 84.40% less oil.
Subtraction: Adding UP
Numeracy Resources for KS2
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
Static Equilibrium; Elasticity and Fracture
ANALYTICAL GEOMETRY ONE MARK QUESTIONS PREPARED BY:
Resistência dos Materiais, 5ª ed.
Lial/Hungerford/Holcomb/Mullins: Mathematics with Applications 11e Finite Mathematics with Applications 11e Copyright ©2015 Pearson Education, Inc. All.
WARNING This CD is protected by Copyright Laws. FOR HOME USE ONLY. Unauthorised copying, adaptation, rental, lending, distribution, extraction, charging.
A Data Warehouse Mining Tool Stephen Turner Chris Frala
Chart Deception Main Source: How to Lie with Charts, by Gerald E. Jones Dr. Michael R. Hyman, NMSU.
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
Introduction Embedded Universal Tools and Online Features 2.
What impact does the address have on the tribe?
Schutzvermerk nach DIN 34 beachten 05/04/15 Seite 1 Training EPAM and CANopen Basic Solution: Password * * Level 1 Level 2 * Level 3 Password2 IP-Adr.
An abstract model for DCMI metadata descriptions Andy Powell UKOLN, University of Bath, UK UKOLN is supported.
Presentation transcript:

Encoding DC in (X)HTML, XML and RDF Andy Powell UKOLN, University of Bath, UK UKOLN is supported by: Tutorial at ECDL 2004, Bath September 2004

ECDL 2004 tutorial - Bath, Sept Contents an abstract model for DC (30 mins) encoding DC in XHTML (30 mins) encoding DC in XML (30 mins) encoding DC in RDF/XML (30 mins) practical examples OAI Protocol for Metadata Harvesting and RSS (20 mins) assigning identifiers (20 mins) Note: you are going to see lots of angle-brackets – but no XML schemas!

ECDL 2004 tutorial - Bath, Sept Important this is a tutorial… …please feel free to ask questions as we go through!

Important DCMI documents… DCMI Abstract Model – DRAFT Expressing Dublin Core in HTML/XHTML meta and link elements Guidelines for implementing Dublin Core in XML Expressing Simple Dublin Core in RDF/XML Expressing Qualified Dublin Core in RDF/XML Namespace Policy for the DCMI DCMI Metadata Terms

ECDL 2004 tutorial - Bath, Sept Implementing DC this tutorial is about the mechanics of implementing DC in HTML, XML and RDF it doesn’t really consider which implementation strategy is the best! ask yourself two questions… what am I trying to achieve? does using HTML, XML or RDF help me achieve it? do software and services exist that will support the creation and use of my metadata?

ECDL 2004 tutorial - Bath, Sept Abstract models for DC

ECDL 2004 tutorial - Bath, Sept Why abstract models? the first part of this tutorial isn’t going to show any angle brackets! why? because before we start creating DCMI descriptions we need to understand the DCMI view of the world/resources we want to describe (the DCMI resource model) the DCMI view of the descriptions we make about that world (the DCMI description model)

ECDL 2004 tutorial - Bath, Sept DCMI resource model each resource that we want to describe has zero or more properties a property is a specific aspect, characteristic, attribute or relation used to describe a resource each property has one or more values each value is a resource (the physical or conceptual entity that is associated with a property when it is used to describe a resource)

ECDL 2004 tutorial - Bath, Sept Err… but what is a resource? W3C/IETF definition of resource is “…anything that has identity. Familiar examples include an electronic document, an image, a service (e.g., "today's weather report for Los Angeles"), and a collection of other resources. Not all resources are network "retrievable"; e.g., human beings, corporations, and bound books in a library can also be considered resources.” i.e. a resource is “anything” physical things (books, cars, people) digital things (Web pages, digital images) conceptual things (colours, points in time)

ECDL 2004 tutorial - Bath, Sept Yeah, but… no, but… but… this seems to be too wide for the things we can describe with DC! can we really describe people using DC? do people have titles and subjects? no… in general we only use DC to describe a sub-set of all resources anything covered by the DCMIType list… Collection, Dataset, Event, Image (Still or Moving), Interactive Resource, Service, Software, Sound, Text, Physical Object

ECDL 2004 tutorial - Bath, Sept DCMI resource model (2) each resource may be a member of one or more classes each class may be related to one or more other classes by a refines (sub-class) relationship the two classes share some semantics such that all resources that are members of the sub-class are also members of the related class where the resource is the value of a property, the class is referred to as a vocabulary encoding scheme

ECDL 2004 tutorial - Bath, Sept DCMI resource model (3) each property may be related to exactly one other property by a refines (sub- property) relationship the two properties share some semantics such that all valid values of the sub-property are also valid values of the related property

ECDL 2004 tutorial - Bath, Sept DCMI description model a description is made up of one or more statements (about one, and only one, resource) and zero or one resource URI (a URI reference that identifies the resource being described) each statement is made up of a property URI (that identifies a property), zero or one value URI (that identifies a value of the property), zero or one encoding scheme URI (that identifies the class of the value) and zero or more value representations of the value

ECDL 2004 tutorial - Bath, Sept DCMI description model (2) each property is an attribute of the resource being described each property URI may be repeated in multiple statements the value representation may take the form of a value string, a rich value or a related description

ECDL 2004 tutorial - Bath, Sept DCMI description model (3) each value string is a simple, human- readable string that represents the value of the property each value string may have an associated encoding scheme URI that identifies a syntax encoding scheme each value string may have an associated value string language that is an ISO language tag (e.g. en-GB)

ECDL 2004 tutorial - Bath, Sept DCMI description model (4) each rich value is some marked-up text, an image, a video, some audio, etc. or some combination thereof that represents the resource that is the value of the property each related description is a description of (i.e. some metadata about) the resource that is the value of the property

ECDL 2004 tutorial - Bath, Sept The 1:1 principle notice that the model indicates that each property used in a description must be an attribute of the resource being described this is commonly referred to as the 1:1 principle - the principle that a DCMI metadata description describes one, and only one, resource however…

ECDL 2004 tutorial - Bath, Sept Description sets real-world metadata applications tend to be based on loosely grouped sets of descriptions (where the described resources are typically related in some way) known here as description sets for example, a description set might comprise descriptions of both a painting and the artist

ECDL 2004 tutorial - Bath, Sept DCMI records description sets are instantiated, for the purposes of exchange between software applications, in the form of metadata records each record conforms to one of the DCMI encoding guidelines (XHTML meta tags, XML, RDF/XML, etc.) a document andy powell

ECDL 2004 tutorial - Bath, Sept Values (again!) a value is the physical or conceptual entity that is associated with a property when it is used to describe a resource the value of the DC Creator property is a person, organisation or service - a physical entitiy the value of the DC Date property is a point in time - a conceptual entity the value of the DC Coverage property may be a geographic region or country - a physical entity the value of the DC Subject property may be a concept - a conceptual entity - or a physical object or person - a physical entity each of these entities is a resource

ECDL 2004 tutorial - Bath, Sept Simple vs. qualified DC? the notions of “simple DC” and “qualified DC” are often referred to in DCMI discussions a view of what these two terms mean is presented here… note that not everyone agrees with my definitions!

ECDL 2004 tutorial - Bath, Sept Simple DC record a simple DC record is a record that: conforms to the abstract model, comprises only a single description, uses only the 15 properties in the Dublin Core Metadata Element Set, makes no use of value URIs, encoding schemes, rich values or related descriptions.

ECDL 2004 tutorial - Bath, Sept A couple of notes… there is no guaranteed linkage between a simple DC record and the resource being described because the resource URI is optional such a linkage may be made by encoding the URI of the resource as the value string of the DC Identifier element, however this is not mandatory – everything in DC is optional while the value string of a property may look like a URI, there is nothing in the simple DC model that indicates this is the case …at their own risk, implementations may choose to guess which value strings are URIs and which are not…

ECDL 2004 tutorial - Bath, Sept Qualified DC model a qualified DC record is a record that: conforms to the DCMI abstract model, contains at least one property taken from the DCMI Metadata Terms recommendation

ECDL 2004 tutorial - Bath, Sept A couple of notes… it is still the case that there is no guaranteed linkage between a qualified DC record and the resource being described! a linkage may be made by encoding the URI of the resource as the value string of the DC Identifier element, however this is not mandatory – everything in DC is optional …where the value of a property is a URI, we can now indicate that it is a URI by using the ‘URI’ encoding scheme…

ECDL 2004 tutorial - Bath, Sept Dumb-down the process of translating a qualified DC metadata record into a simple DC metadata record is normally referred to as ‘dumbing-down’ can be separated into two parts: property dumb-down and value dumb-down. each of these processes can be be approached in one of two ways informed dumb-down uninformed dumb-down

ECDL 2004 tutorial - Bath, Sept Dumb and dumberer informed dumb-down takes place where the software performing the dumb-down algorithm has knowledge built into it about the property relationships and values being used within a specific DCMI metadata application uninformed dumb-down takes place where the software performing the dumb- down algorithm has no prior knowledge about the properties and values being used

ECDL 2004 tutorial - Bath, Sept Dumb-down algorithm ignore any property that isn't in the Dublin Core Metadata Element Set use value URI (if present) or value string as new value string recursively resolve sub- property relationships until one of the 15 properties in the DCMES is reached, otherwise ignore use knowledge of the related descriptions or the value string to create a new value string elementvalue uninformed informed …and in all cases: ignore any related descriptions and rich values, ignore any encoding scheme URIs.

ECDL 2004 tutorial - Bath, Sept Encoding DC in XHTML (and HTML!)

ECDL 2004 tutorial - Bath, Sept What is being described? a DC record embedded in an (X)HTML document describes that document if you want to describe something else, don’t embed it in the (X)HTML document! …not everyone would agree with this…

ECDL 2004 tutorial - Bath, Sept Simple DC elements use the ‘ name ’ and ‘ content ’ attributes of the XHTML element to encode the DC element (one of the 15 DCMES elements) and it's value string. Use the following pattern: for example: …the element names of the 15 DCMES elements always have a lower-case first letter…

ECDL 2004 tutorial - Bath, Sept Simple DC values value strings go in the XHTML element ‘content’ attribute… the string in the ‘ content ’ attribute is defined to be CDATA, i.e. a sequence of characters from the document character set which may include character entities … long value strings may be wrapped across multiple lines as necessary… …will need to escape some characters, &, <, >, etc…

ECDL 2004 tutorial - Bath, Sept Language of the value where the language of the value string is indicated, it should be encoded using the ‘ xml:lang ’ attribute of the XHTML element. For example:

ECDL 2004 tutorial - Bath, Sept Repeated elements multiple property values should be encoded by repeating the XHTML element for that property, for example:

ECDL 2004 tutorial - Bath, Sept Other DC elements use the ‘ name ’ and ‘ content ’ attributes of the XHTML element to encode the DC element (e.g. audience) and it's value. Use the following patterns: for example: …element names may be mixed-case but should always have a lower-case first letter…

ECDL 2004 tutorial - Bath, Sept Element refinements use the ‘ name ’ and ‘ content ’ attributes of the XHTML element to encode the element refinement and it's value. Use the following pattern: for example:

ECDL 2004 tutorial - Bath, Sept Element refinements (2) element refinements should use the names specified in: DCMI Metadata Terms …as a general rule, element refinement names may be mixed-case but should always have a lower-case first letter…

ECDL 2004 tutorial - Bath, Sept Encoding schemes encoding schemes are encoded using the ‘ scheme ’ attribute of the XHTML element, using the following pattern: for example:

ECDL 2004 tutorial - Bath, Sept Encoding schemes (2) encoding schemes should use the names specified in: DCMI Metadata Terms …as a general rule, encoding scheme names may be mixed-case but should always start with an upper-case letter. Encoding scheme names are often all upper-case…

ECDL 2004 tutorial - Bath, Sept Handling namespaces… the ‘DC.’ and ‘DCTERMS.’ prefixes are used to indicate the namespace from which the property is taken put the namespace URI in an XHTML element: while any string is allowable as the prefix, current practice is to use ‘DC.’ and ‘DCTERMS.’

ECDL 2004 tutorial - Bath, Sept Value URIs where the value of a property is the URI of another resource (e.g. DC.relation) an alternative form of encoding using the XHTML element is preferred. Use the following pattern: for example:

ECDL 2004 tutorial - Bath, Sept HTML profile to give recipient software applications an indication of the XHTML profile that was used to encode the DCMI metadata, the ‘ profile ’ attribute of the XHTML element should be used:

ECDL 2004 tutorial - Bath, Sept The case of names note that some of the old DCMI documents recommend(ed) using an uppercase first letter for the names of DCMES elements and element refinements, e.g. using ‘Title’ rather than ‘title’ this form of DCMES element naming is acceptable but is no longer considered the preferred form

ECDL 2004 tutorial - Bath, Sept The case of names (2) in general, any software applications that consume DC records embedded into XHTML Web pages should ignore the case of names and should treat both ‘.’ (full-stop) and ‘:’ (colon) as valid characters after the prefix i.e. all the following forms should be treated as being equivalent:

ECDL 2004 tutorial - Bath, Sept Older versions of HTML all the examples in this tutorial conform to XHTML 1.0 most of the recommendations in this tutorial can be applied to older versions of HTML (e.g. HTML 4.01) but use ‘ lang ’ rather than ‘ xml:lang ’ older versions of HTML do not require the trailing ‘/’ before the closing ‘>’ in the HTML element very old versions of HTML have no ‘ scheme ’ attribute

ECDL 2004 tutorial - Bath, Sept Mixing DC and non-DC DC metadata can be mixed with non-DC metadata in XHTML elements the following example embeds DC, AGLS and unspecified metadata properties in the same XHTML Web page:

ECDL 2004 tutorial - Bath, Sept A couple of examples Simple DC example 1 example 1 Qualified DC example 2 example 2 ScreenCam of using DC-dot

ECDL 2004 tutorial - Bath, Sept Encoding DC in XML

ECDL 2004 tutorial - Bath, Sept Introduction to XML this section is based on: Guidelines for implementing Dublin Core in XML nine recommendations for encoding DC in XML Note: these recommendations do not create RDF/XML. T his is not intended to imply that plain XML is better than RDF/XML… …RDF is covered in the next section!

ECDL 2004 tutorial - Bath, Sept Recommendation 1 implementers should base their XML applications on XML Schemas rather than XML DTDs approaches based on XML Schemas are more flexible and are more easily re-used within other XML applications …in some cases it may be sensible to provide both an XML Schema and a DTD for the application. Where XML Schemas are not used, a DTD should be provided instead…

ECDL 2004 tutorial - Bath, Sept Recommendation 1 (2) the DCMI maintains a list of XML schemas that are in use in projects or products using DCMI metadata DCMI Metadata expressed in XML Schema Language

ECDL 2004 tutorial - Bath, Sept Recommendation 2 implementers should use URI references (see later) to uniquely identify DC elements, element refinements and encoding schemes …DC namespaces are defined in the DCMI Namespace Recommendation...DCMI Namespace Recommendation

ECDL 2004 tutorial - Bath, Sept Container elements note that it is anticipated that records will be encoded within one or more container XML element(s) of some kind this tutorial makes no recommendations for the name of any container element, nor for the namespace that the element should be taken from candidate container element names include,,, and

ECDL 2004 tutorial - Bath, Sept Recommendation 3 implementers should encode properties as XML elements and values as the content of those elements the name of the XML element should be an XML qualified name (QName) of the property Dublin Core in XML do not use constructs like

ECDL 2004 tutorial - Bath, Sept Recommendation 4 the property names for the 15 DC elements should be all lower-case Dublin Core in XML do not use Dublin Core in XML

ECDL 2004 tutorial - Bath, Sept Recommendation 5 multiple property values should be encoded by repeating the XML element for that property First title Second title

ECDL 2004 tutorial - Bath, Sept Simple DC example example 3

ECDL 2004 tutorial - Bath, Sept Recommendation 6 element refinements should be treated in the same way as other properties the name of the XML element should be an XML qualified name (QName): do not use any of the following:

ECDL 2004 tutorial - Bath, Sept Recommendation 6 (2) element refinements are properties in their own right and are therefore best encoded in a similar way to other DC elements in particular, it should be noted that element refinements may have further refinements of their own (e.g. ‘format’ is refined by ‘extent’ which might be further refined by ‘duration’) …nesting does not mean refinement; nesting might be used for other purposes…

ECDL 2004 tutorial - Bath, Sept Recommendation 7 encoding schemes should be implemented using the ' xsi:type ' attribute of the XML element for the property the name of the encoding scheme should be given as the attribute value, and should be in the form of an XML qualified name (QName):

ECDL 2004 tutorial - Bath, Sept Recommendation 7 (2) it should be noted that there may be existing DC XML applications that use other conventions to support encoding schemes, notably the use of a ‘ scheme ’ attribute of the XML element for the property therefore, it may be sensible for software applications that consume DC XML to be fairly liberal in what they accept

ECDL 2004 tutorial - Bath, Sept Recommendation 8 elements, element refinements and encoding schemes should use the names specified in DCMI Metadata Terms …note, the 15 DCMES element names all start with a lowercase letter…

ECDL 2004 tutorial - Bath, Sept Recommendation 8 (2) element and element refinement names may be mixed-case but should always have a lower-case first letter encoding scheme names may be mixed- case but should always start with an upper-case letter name=The Great Depression; start=1929; end=1939;

ECDL 2004 tutorial - Bath, Sept Recommendation 9 where the language of the value is indicated, it should be encoded using the ‘ xml:lang ’ attribute seafood fruits de mer

ECDL 2004 tutorial - Bath, Sept Some examples Qualified DC example 4 example 4 DC and IMS example 5 example 5 DC, IMS and ODRL example 6 example 6 HEALTH WARNING Examples 5 and 6 may seriously damage your interoperability!

ECDL 2004 tutorial - Bath, Sept Encoding DC in RDF

ECDL 2004 tutorial - Bath, Sept What is RDF? Resource Description Framework W3C recommendation for metadata model and syntax(es) XML is most common syntax in use on the Web underpins the ‘semantic Web’ W3C - Resource Description Framework (RDF)

ECDL 2004 tutorial - Bath, Sept Why use RDF? RDF provides shared metadata ‘model’… …shared ‘meaning’ metadata can be shared between applications that have little or no knowledge about each other e.g. an RDF-based bibliographic application can consume RDF-based geospatial metadata and have 'some' knowledge of what it means …with (X)HTML and XML encodings, software applications must have ‘understanding’ hard-coded into them…

ECDL 2004 tutorial - Bath, Sept DC in RDF DC abstract models map easily onto the RDF model (because RDF was the basis for them!) DC in RDF/XML syntax is an encoding of the RDF model in XML simple DC is similar to the non-RDF XML we've seen already… …but with the addition of and container elements example 7

ECDL 2004 tutorial - Bath, Sept RDF basics… the model model based on triples a resource has a property which has a value often represented as an arc-node diagram (or “graph”) resources and properties are identified using URI references resource “value” property

ECDL 2004 tutorial - Bath, Sept A more concrete example The graph below approximately translates into English as… the resource identified by the URI has a dc:creator that is represented by the string “Andy Powell” “Andy Powell”

ECDL 2004 tutorial - Bath, Sept Values as resources values can be resources too means that we can then attach properties to the value as well as to the original resource build up quite complex graphs “Andy Powell” dc:creator “ ” my:phoneNumber my:name

ECDL 2004 tutorial - Bath, Sept Typed and blank nodes nodes can be blank (to represent resources that have not be assigned a URI) can also indicate the class of a resource using the rdf:type property “Andy Powell” dc:creator “ ” my:phoneNumber my:name my:Person rdf:type

ECDL 2004 tutorial - Bath, Sept Qualified DC in RDF now ready to look at some more complex examples for full details about how to encode DC in RDF see… Expressing Simple Dublin Core in RDF/XML Expressing Qualified Dublin Core in RDF/XML

ECDL 2004 tutorial - Bath, Sept Case study 1 – dc:creator <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell Example RDF description using dc:creator…

ECDL 2004 tutorial - Bath, Sept <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell Case study 1 – dc:creator dc:creator Andy Powell… my:affiliation my: …and the RDF model it represents. UKOLN, Univ… Andy Po… rdfs:label my:name

ECDL 2004 tutorial - Bath, Sept <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell Case study 1 – dc:creator dc:creator Andy Powell… my:affiliation my: UKOLN, Univ… Andy Po… rdfs:label my:name But… we don’t want to embed all this information into every instance metadata record do we? relatedMetadata

ECDL 2004 tutorial - Bath, Sept <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell Case study 1 – dc:creator dc:creator Andy Powell… rdfs:label <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell my:affiliation my: UKOLN, Univ… 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…

ECDL 2004 tutorial - Bath, Sept <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell Case study 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell valueURI my:affiliation my: UKOLN, Univ… Andy Po… my:name To do this we need to assign a URI (the ‘valueURI’) to the anonymous ‘value’ node…

ECDL 2004 tutorial - Bath, Sept <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell Case study 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell valueURI my:affiliation my: UKOLN, Univ… Andy Po… my:name relatedMetadataURI The document containing this information is itself an RDF resource (the ‘relatedMetadata’) and has a URI

ECDL 2004 tutorial - Bath, Sept <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell Case study 1 – dc:creator valueURI dc:creator Andy Powell… rdfs:label <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:my=" Andy Powell valueURI my:affiliation my: UKOLN, Univ… Andy Po… my:name relatedMetadataURI rdfs:seeAlso Use rdf:seeAlso to form linkage between description and relatedMetadata…

ECDL 2004 tutorial - Bath, Sept Case study 2 – dc:subject <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D Formate Dehydrogenase Example RDF description using dc:subject (taken from Qualified DC in RDF recommendation…

ECDL 2004 tutorial - Bath, Sept Case study 2 – dc:subject <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D Formate Dehydrogenase dcterms:MESH dc:subject rdf:type D08.586… rdf:type rdfs:label Formated… rdfs:value …and the RDF model it represents.

ECDL 2004 tutorial - Bath, Sept Case study 2 – dc:subject <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D Formate Dehydrogenase dcterms:MESH dc:subject 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

ECDL 2004 tutorial - Bath, Sept Case study 2 – dc:subject <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D dcterms:MESH dc:subject rdf:type <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D Formate Dehydrogenase 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…

ECDL 2004 tutorial - Bath, Sept Case study 2 – dc:subject <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D valueURI dcterms:MESH dc:subject rdf:type <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D Formate Dehydrogenase 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…

ECDL 2004 tutorial - Bath, Sept Case study 2 – dc:subject <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D valueURI dcterms:MESH dc:subject rdf:type <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D Formate Dehydrogenase 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…

ECDL 2004 tutorial - Bath, Sept Case study 2 – dc:subject <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D valueURI dcterms:MESH dc:subject rdf:type <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D Formate Dehydrogenase valueURI dcterms:MESH D08.586… Formated… relatedMetadataURI rdfs:seeAlso Use rdf:seeAlso to form linkage between description and relatedMetadata… rdfs:label Formated…

ECDL 2004 tutorial - Bath, Sept Abstract DC model <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D valueURI dcterms:MESH dc:subject rdf:type <rdf:RDF xmlns:rdf= xmlns:rdfs= xmlns:dc= xmlns:dcterms=" D Formate Dehydrogenase valueURI dcterms:MESH D08.586… Formated… relatedMetadataURI rdfs:seeAlso resource property valueURI valueString In terms of abstract DC model we now have: resource, property, value URI, value string (and value string language), encoding scheme, related description resource property value URI related description encoding scheme rdfs:label Formated… value string (language)

ECDL 2004 tutorial - Bath, Sept Practical examples – OAI and RSS

ECDL 2004 tutorial - Bath, Sept OAI-PMH OAI Protocol for Metadata Harvesting simple protocol for sharing metadata records between applications currently at version 2.0 based on HTTP, XML, XML Schema and XML namespaces allows a harvester to ask a remote repository for some or all of its metadata records

ECDL 2004 tutorial - Bath, Sept OAI-PMH (2) simple DC is default (mandatory) record format supports any record format provided it can be encoded using XML (e.g. DC, IMS, MARC, ODRL, …) Open Archives Initiative

ECDL 2004 tutorial - Bath, Sept OAI-PMH example record from the American Memory repository at the Library of Congress example 8 ScreenCam of using the ‘repository explorer’ScreenCam‘repository explorer’ GetRecord for record identifier oai:lcoa1.loc.gov:loc.gmd/g3701p.rr003570

ECDL 2004 tutorial - Bath, Sept RSS RDF Site Summary or Rich Site Summary (or even Really Simple Syndication) at least 3 different versions (0.91, 1.0 and 2.0) all based on XML but not compatible simple format for sharing news feeds on the Web RSS ‘channels’ – list of ‘items’ channels updated by updating XML file RSS clients gather XML on regular basis

ECDL 2004 tutorial - Bath, Sept RSS 1.0 and DC example RSS 1.0 based on RDF most flexible and extensible of the RSS ‘family’ - not necessarily the most widely deployed can include DC in both ‘channel’ and ‘item’ descriptions example 9 full documentation at: RDF Site Summary 1.0 Modules: Qualified Dublin Core

ECDL 2004 tutorial - Bath, Sept Assigning identifiers to metadata terms

ECDL 2004 tutorial - Bath, Sept What’s the problem? the terms used in DCMI metadata records must be assigned a URI reference before they can be used qualified DC application profiles generally use ‘local’ additions to DCMI terms therefore these additional terms must be assigned a URI reference …a URI reference is a URI with an optional fragment identifier…

ECDL 2004 tutorial - Bath, Sept DCMI terms URI references all DCMI terms have already been assigned URI references for example… ted ted

ECDL 2004 tutorial - Bath, Sept Namespace-name issues encoding syntaxes split the term URI reference into two parts namespace name the namespace is shortened to a namespace prefix for example DC.title (XHTML) dc:title (XML, RDF/XML)

ECDL 2004 tutorial - Bath, Sept Guidelines for groups of related terms, URI references are typically assigned such that they can share a namespace prefix all term URI references should resolve to a human and/or machine readable description of the term term URI references should use a registered URI scheme term URI references should be assigned with the intention of them being as persistent as the Internet

ECDL 2004 tutorial - Bath, Sept A note on namespaces DCMI namespace A DCMI namespace is a collection of DCMI terms (a collection of names) DCMI term A DCMI term is a DCMI element, a DCMI qualifier or term from a DCMI-maintained controlled vocabulary each DCMI namespace is identified by a URI – each name in the namespace is also a URIDCMI namespace a mechanism for making DCMI terms unique

ECDL 2004 tutorial - Bath, Sept How do I assign URIs? no clear recommended best practice in this area yet! four strategies for assigning URIs are presented here… … there are other strategies!

ECDL 2004 tutorial - Bath, Sept Using project/service URIs simple to do… …but danger of lack of persistence examples: (XML, RDF/XML) “MYSERVICE.price” (XHTML) /color#Red (RDF/XML) /color#Red

ECDL 2004 tutorial - Bath, Sept Using PURLs PURLs are persistent URLs (under the purl.org domain) used by DCMI, RSS and others to provide persistent term URI references examples: (XML, RDF/XML) “DC.title” (XHTML) (XML, RDF/XML)

ECDL 2004 tutorial - Bath, Sept Using xmlns.com domain registered explicitly for use for XML namespaces but… persistence policy a little unclear used for FOAF terms example: (RDF/XML)

ECDL 2004 tutorial - Bath, Sept Using “info” URIs “info” URIs specifically designed for identifying vocabulary terms but… not a registered scheme yet and there is currently some “discussion” (i.e. argument!) on various lists about whether they are a good idea example: info:ddc/22/eng// info:ddc/22/eng//

ECDL 2004 tutorial - Bath, Sept What have we learned? an abstract model for DC encoding DC in XHTML encoding DC in XML encoding DC in RDF/XML two practical examples OAI Protocol for Metadata Harvesting RSS how to assign identifiers to new metadata terms

ECDL 2004 tutorial - Bath, Sept Questions?