Introduction to RDF Paul Miller UK Office for Library & Information Networking...

Preview:

Citation preview

Introduction to RDF

Paul MillerUK Office for Library & Information Networking

p.miller@ukoln.ac.uk

Thomas HofmannAustralian Museums On-Line

thomash@amol.org.au

(Based closely upon an earlier presentation by Eric Miller of OCLC)

Metadata: Definition

Traditionally: metadata has been understood as

“Data about Data”Example(s):

a library catalogue contains information (metadata) about publications (data)

a file system maintains permissions (metadata) about files (data)

Metadata: Definition (Cont.)

Metadata describes other data One application’s metadata is another

application’s data Metadata can itself be described by

metadata (but that doesn’t make it meta-metadata)

Example: Price lists (metadata) have expiration dates:

metadata about metadata. It is still just metadata.

Applications of Metadata

Cataloguing (Item and Collections)Resource DiscoveryElectronic CommerceIntelligent Software AgentsDigital SignaturesContent RatingIntellectual Property RightsPrivacy Preferences & Policies

Application: Item and Collection Cataloguing

Describing individual resources documents, pages, images, audio files,

etc.Describing the content of collections:

Web sites, databases, directories, etc.Relationships among Resources

Tables of Content, chapters, images…. Site Maps e.g. CIMI collection records

Application: Resource Discovery

Search engines can better “understand” the contents of a particular page

More accurate searchesAdditional information aids precisionMakes it possible to automate searches

because less manual “weeding” is needed to process the search results

Application: Electronic Commerce

Metadata can be used to encode information needed in all stages of electronic commerce locating seller/buyer & product

searching “yellow pages”

agreeing on terms of saleprices, terms of payment, contractual information

transactionsdelivery mechanisms, dates, terms

Application: Intelligent Agents

representation and sharing of knowledge knowledge exchange modelling

communication user-to-agent, agent-to-agent, agent-to-

serviceresource discovery

gives web-roaming agents the ability to “understand” their environment

Application: Digital Signatures

These are key to building the “Web of Trust”

Required by agents electronic commerce collaboration

RDF will become the preferred way to encode digital signatures on documents and on statements about documents

Application: Content Rating

Empowering users to select which kinds of web content they wish to see

Child Protection W3C PICS (Platform for Internet

Content Selection) working group US Communications Decency Act of 1996 simple metadata architecture precursor to RDF

Other Applications

Privacy Preferences and Policies describing a user’s willingness/reluctance

to disclose information about himself/herself

describing a site administrator’s desire to gather information about visiting users

Intellectual Property Rights contractual terms related to usage and

distribution rights to a document

Metadata Transmission

Embedded (e.g. META)

Associated With(in HTTP header)

Trusted Third Party(explicit HTTP GET)

Metadata Assertions

Metadata requirements will evolveThe Web is “machine-readable” but

not “machine-understandable”Metadata is useful

e.g A lot could be gained from structured description of pages, servers, search services, and other resources

See point 1

Introducing: RDF

Improve on PICS, HTML, and XMLMachine understandable metadataSupport structured valuesSupport metadata bureauxEncourage authenticated metadataBase for a variety of descriptions:

cataloging, privacy, accessibility, IPR, ...

Data IntegrationExample:

“The author of a document is Paul” “Paul is the author of a document” “A document is authored by Paul” “The author of a document is Paul”

Representation(s) in XML:

<author> <url> http://doc_url </url> <name> Paul </name></author>

<document> <author> <name> Paul </name> </author> <url> http://doc_url </url></document>

<document href = “http://doc_url”author = “Paul”/>

Data Integration (cont.)

Complexity of querying XML documents N ways of mapping XML to logical structure Requires the normalization of all possible

representations for effective query Mean the same thing to a personMean very different things to a machineRDF much less flexible

less flexible == more interoperable! consistent way of representing statements

RDF Components

Formal data modelSyntax for interchange of dataSchema Type system (schema

model)Syntax for machine-understandable

schemasQuery and profile protocols

RDF Data Model

Imposes structural constraints on the expression of application data models for consistent encoding, exchange and

processing of metadataEnables resource description

communities to define their own semantics

Provides for structural interoperability

RDF Data Model

Directed labelled graphsModel elements

Resource Property Value Statement

RDF Model Primitives

ResourceProperty

ValueResource

Statement

Simple Example

ResourceAuthor

“Paul”

RDF Syntax

RDF Model defines a formal relationships among resources, properties and values

Syntax is required to... Store instances of the model into files Communicate files from one application to

another

W3C XML eXtensible Markup Language http://www.w3.org/XML

RDF Model Example #1

URI:R“RDF Presentation”

Title

Creatordc:

dc:

“Paul Miller”

RDF Syntax Example

URI:R“RDF Presentation”

Title

Creatordc:

dc:

“Paul Miller”

<RDF xmlns = “http://www.w3.org/TR/WD-rdf-syntax#” xmlns:dc = “http://purl.org/dc/elements/1.0/”> <Description about = “URI:R”> <dc:Title> RDF Presentation </dc:Title> <dc:Creator> Paul Miller </dc:Creator> </Description></RDF>

“Paul Miller”URI:PAUL

“p.miller@ukoln.ac.uk”“Paul Miller”

“UKOLN”

bib:Emailbib:Affbib:Name

RDF Model Example #2

URI:R

URI:UKOLN

“RDF Presentation”Title

Creatordc:

dc:

<RDF xmlns = “http://www.w3.org/TR/WD-rdf-syntax#” xmlns:dc = “http://purl.org/dc/elements/1.0/” xmlns:bib = “http://www.bib.org/persons#”> <Description about = “URI:R”> <dc:Title> RDF Presentation </dc:Title> <dc:Creator> <Description> <bib:Name> Paul Miller </bib:Name> <bib:Email> p.miller@ukoln.ac.uk </bib:Email> <bib:Aff resource = “http://www.ukoln.ac.uk” /> </Description> </dc:Creator> </Description></RDF>

RDF Syntax Example #2

“Eric Miller”

RDF Model Example #3

URI:R

URI:PAUL

“p.miller@ukoln.ac.uk”“Paul Miller”

“OCLC”

bib:Emailbib:Affbib:Name

URI:UKOLN

“RDF Presentation”Title

Creator admin:By

admin:On

“LOC”

“03-09-99”

admin:For“...”

dc:

dc:

Where do you stop?

Model provides enabling technologyDegree of metadata simplicity/complexity

is a matter of: Resource description communities needs,

best-practice and experience Organization/Institution’s Policy Economics Goals and requirements of implementation

RDF Schemas

Declaration of vocabularies properties defined by a particular community characteristics of properties and/or constraints

on corresponding values

Schema Type System - Basic Types Property, Class, SubClassOf, Domain, Range Minimal (but extensible) at this time minimize significant clashes with typing system

designed for XML NG DTDs (1999?)

Expressible in the RDF model and syntax

Schema Vocabularies

Enables communities to share machine readable tokens and locally define human readable labels.

dc:Creator“Nom”rdfs:label

“Author”rdfs:label

“$100 $a”

rdfs:label

Relationships among vocabularies

dc:Creator

ms:Kgrip

marc:245

bib:Author

Relationships among vocabulary elements

URI:R “John Smith”ms:Kgrip

dc:Creatorms:Kgrip

rdfs:subPropertyOf

rdfs:label“Key Grip”

dc:Creator

Bringing it together

RDF Metadata transmission Embedded (e.g. <META>), Transmitted with

resource (HTTP), Trusted 3rd Party (HTTP GET)RDF Data Model

Support consistent encoding, exchange and processing of metadata… critical when aggregating data from multiple sources

RDF Schema Declare, define, reuse vocabularies

RDF Summary

RDF is a general-purpose frameworkRDF provides structured, machine-

understandable metadata for the WebMetadata vocabularies can be

developed without central coordination

RDF Schemas describe the meaning of each property name

Signed RDF is the basis for trust

RDF Information

W3C RDF Model and Syntax Speciation Recommendation Status Feb 24, 1999

W3C RDF Schema Specifications Proposed Recommendation Status Mar 4,

1999W3C RDF Home Page

http://www.w3.org/RDF/

RDF and the Dublin Core

RDFDublin Core

Overview Data Model Examples Qualification Mechanisms

Dublin Core Data Model

Application of the RDF Data ModelSufficient richness in RDF to support

Dublin Core modelling goalsDefines implementation and

extensibility framework for Dublin Core based applications CIMI is an example of these applications MICI could be an example of these

applications

DC Data Model Qualifiers

Element Qualifier (and Terms)Value Qualifier (and Terms)Value Types (and Terms) Value ComponentsLanguage

The Dublin Core Data Model as RDF

rdf:Valuedc:Element

R

dcq:Type(element qualifier)

dcq:Scheme(value qualifier)

An example for ‘Date’

“Created”

dcq:DateType

“1998-11-10”

rdf:Valuedc:Date

Resource

“ISO 8601”

dcq:Scheme

An example for ‘Relation’

R http://parent

“IsPartOf”

dcq:RelationType

dc:Relation rdf:Value

Element Qualifier (and Terms)

Enabling mechanisms in the data model that support the qualification of the element relating the resource and the value e.g. The term “Illustrator” may be used to

qualify the “Creator” element that relates some resource and some value

Terms Resource identifying “Illustrator”

Value Qualifier (and Terms)

Identifies the encoding, parsing and/or processing rules associated with a value LNF: “Lastname,[sp]Firstname” ISO8601: 1998-10-01 DDC: 325.251 AAT: ionic column

Terms Resources defining LNF, ISO8601, DDC, AAT,

etc.

Language

Defines the Language of the value lang=fr “chat” vs. lang=en “chat”

XML provides a way of handling of language (xml:lang) RDF adopts this, DC adopts this

What do you get for this?

The separation of these constructs is important for extensibility by other resource description communities

Dublin Core Metadata Initiative will not define an all inclusive set Terms

It will define a canonical set and the enabling mechanisms for other communities to extend these

RDF Data Model

Designed to impose structural constraint on syntax to support consistent encoding, exchange and processing of metadata

Enables resource description communities to define their own semantics

Provides for structural interoperability

ResourceProperty

ValueResource2

Dublin Core Data Model

http://purl.orgdc:Creator

“Paul Miller”

Dublin Core Data Model

http://purl.org SN_001dc:Creator rdf:Value

“Paul Miller”

Dublin Core Data Model

http://purl.org SN_001

dct:Illustrator

dc:Creator

dcq:CreatorType

rdf:Value“Paul Miller”

Dublin Core Data Model

http://purl.org SN_001

dct:Illustrator dct:LNF

dc:Creator

dcq:AgentType

dcq:AgentScheme

rdf:Value“Miller, Paul”

Dublin Core Data Model

http://purl.org SN_001

dct:Persondct:LNF

dc:Creator

dcq:AgentType

dcq:AgentScheme

rdf:Value“Miller, Paul”

dct:Illustrator

rdf:Type

Dublin Core Data Model

http://look.org SN_001

Author

dc:Creator

dcq:Type

rdf:Value http://411.org/pmiller

Dublin Core Data Model

http://look.org SN_001

Author

dc:Creator

dcq:Type

rdf:Value http://411.org/pmiller

Dublin Core Data Model

dct:Illustrator

dcq:CreatorType

http://look.orgdc:Creator http://

rdf.411.org/pmiller

Dublin Core Data Model

http://look.org

dct:Illustrator

dc:Creator

dcq:CreatorType

http://rdf.411.org/

pmiller

vc:fn

vc:mn

vc:ln

“A.”

“Paul”

“Miller”

Dublin Core Data Model

dcq:CreatorType

http://look.orgdc:Creator http://

rdf.411.org/pmiller

Dublin Core Data Model

dcq:CreatorType

Bag

cimi:sculptor

rdf:Type rdf:_1

rdf:_2

dct:Author

http://look.orgdc:Creator http://

rdf.411.org/pmiller

Key Data Model Decisions

Application of RDF Data ModelDC namespace defines the core elements

http://purl.org/dc/elements/1.0/DCQ namespace defines the Dublin Core

qualifier and extensibility mechanisms http://purl.org/dc/qualifiers/1.0/

DCT namespace defines the Dublin Core terms and extensibility mechanisms http://purl.org/dc/terms/1.0/

Key Data Model Open Issues

There still a fewDublin Core Data Model Working

Draft out in April DC Proposed Recommendation shortly

afterDublin Core Data Model Home Page

http://purl.org/dc/groups/datamodel.htm

Additional Information

RDF Home Page http://www.w3.org/RDF

Dublin Core Metadata Initiative http://purl.org/dc/

Recommended