610 likes | 838 Views
Introduction to RDF. (Based closely upon an earlier presentation by Eric Miller of OCLC). Paul Miller UK Office for Library & Information Networking p.miller@ukoln.ac.uk. Thomas Hofmann Australian Museums On-Line thomash@amol.org.au. Metadata: Definition. Traditionally:
E N D
Introduction to RDF (Based closely upon an earlier presentation by Eric Miller of OCLC) Paul MillerUK Office for Library & Information Networkingp.miller@ukoln.ac.uk Thomas HofmannAustralian Museums On-Linethomash@amol.org.au
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 Discovery • Electronic Commerce • Intelligent Software Agents • Digital Signatures • Content Rating • Intellectual Property Rights • Privacy 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 searches • Additional information aids precision • Makes 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 sale • prices, terms of payment, contractual information • transactions • delivery mechanisms, dates, terms
Application: Intelligent Agents • representation and sharing of knowledge • knowledge exchange • modelling • communication • user-to-agent, agent-to-agent, agent-to-service • resource 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
Trusted Third Party (explicit HTTP GET) Associated With (in HTTP header) Embedded (e.g. META) Metadata Transmission
Metadata Assertions • Metadata requirements will evolve • The 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 XML • Machine understandable metadata • Support structured values • Support metadata bureaux • Encourage authenticated metadata • Base for a variety of descriptions: • cataloging, privacy, accessibility, IPR, ...
Data Integration • Example: • “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: <document href = “http://doc_url” author = “Paul” /> <document> <author> <name> Paul </name> </author> <url> http://doc_url </url> </document> <author> <url> http://doc_url </url> <name> Paul </name> </author>
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 person • Mean very different things to a machine • RDF much less flexible • less flexible == more interoperable! • consistent way of representing statements
RDF Components • Formal data model • Syntax for interchange of data • Schema Type system (schema model) • Syntax for machine-understandable schemas • Query and profile protocols
RDF Data Model • Imposes structural constraints on the expression of application data models • for consistent encoding, exchange and processing of metadata • Enables resource description communities to define their own semantics • Provides for structural interoperability
RDF Data Model • Directed labelled graphs • Model elements • Resource • Property • Value • Statement
Resource Statement RDF Model Primitives Resource Property Value
Simple Example Resource Author “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
dc: dc: RDF Model Example #1 URI:R Title “RDF Presentation” Creator “Paul Miller”
dc: dc: RDF Syntax Example URI:R Title “RDF Presentation” Creator “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>
dc: dc: URI:PAUL bib:Aff bib:Email bib:Name URI:UKOLN “UKOLN” “p.miller@ ukoln.ac.uk” “Paul Miller” RDF Model Example #2 URI:R Title “RDF Presentation” Creator “Paul Miller”
RDF Syntax Example #2 <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>
dc: admin:By dc: “LOC” URI:PAUL admin:On “03-09-99” admin:For bib:Aff bib:Email bib:Name “...” URI:UKOLN “OCLC” “p.miller@ ukoln.ac.uk” “Paul Miller” RDF Model Example #3 URI:R Title “RDF Presentation” Creator “Eric Miller”
Where do you stop? • Model provides enabling technology • Degree 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
rdfs:label rdfs:label “Nom” “Author” rdfs:label “$100 $a” Schema Vocabularies • Enables communities to share machine readable tokens and locally define human readable labels. dc:Creator
Relationships among vocabularies dc:Creator marc:245 ms:Kgrip bib:Author
rdfs: subPropertyOf ms:Kgrip dc:Creator rdfs:label “Key Grip” dc:Creator Relationships among vocabulary elements URI:R ms:Kgrip “John Smith”
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 framework • RDF provides structured, machine-understandable metadata for the Web • Metadata 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, 1999 • W3C RDF Home Page • http://www.w3.org/RDF/
RDF and the Dublin Core • RDF • Dublin Core • Overview • Data Model • Examples • Qualification Mechanisms
Dublin Core Data Model • Application of the RDF Data Model • Sufficient richness in RDF to support Dublin Core modelling goals • Defines 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 Components • Language
dc:Element rdf:Value R dcq:Type (element qualifier) dcq:Scheme (value qualifier) The Dublin Core Data Model as RDF
dc:Date rdf:Value “1998-11-10” Resource dcq:DateType dcq:Scheme “Created” “ISO 8601” An example for ‘Date’
An example for ‘Relation’ dc:Relation rdf:Value R http://parent dcq:RelationType “IsPartOf”
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
Resource2 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 Resource Property Value
Dublin Core Data Model http://purl.org dc:Creator “Paul Miller”
Dublin Core Data Model http://purl.org SN_001 dc:Creator rdf:Value “Paul Miller”
Dublin Core Data Model http://purl.org SN_001 dc:Creator rdf:Value “Paul Miller” dcq: CreatorType dct:Illustrator
Dublin Core Data Model http://purl.org SN_001 dc:Creator rdf:Value “Miller, Paul” dcq: AgentType dcq: AgentScheme dct:Illustrator dct:LNF