400 likes | 533 Views
Resource Description Framework Building the Semantic Web. CS 502 – 20020226 Carl Lagoze – Cornell University. Acknowledgements: Eric Miller Dieter Fensel. Illustration is a type of contribution. M. Doe illustrated the book “Best Storiesâ€.
E N D
Resource Description FrameworkBuilding the Semantic Web CS 502 – 20020226 Carl Lagoze – Cornell University Acknowledgements: Eric Miller Dieter Fensel
Illustration is a type of contribution M. Doeillustrated the book “Best Stories” Mary Doeanimated the cartoon “Best Stories – the movie” Cartoons and Books are types of Works animation is a type of contribution M. Doe and Mary Doe are pseudonyms for Susan Mann Show me the works to which Susan Mann contributed? Motivating the “Semantic Web”
Modeling & Encoding Metadata Components: RDF • RDF (Resource Description Format) • The instantiation of the Warwick Framework on the Web • Support for and integration of multiple independent metadata vocabularies • Provides enabling technology for richly-structured metadata • Rich data model supporting notions of distinct entities and properties • Primitives permit semantic inferencing • Expressible in machine readable manner (e.g., XML)
RDF Components • Formal data model • Syntax for interchange of data • Schema Type system (schema model) • Syntax for machine-understandable schemas • Query and profile protocols • Ontologies layered on top
RDF Data Model • Imposes structural constraints on the expression of application data models • for consistent encoding, exchange and processing of metadata • Provides for structural interoperability • Enables resource description communities to define their own semantics
RDF Data Model • Directed labeled graphs • Model elements • Resource • Property • Value • Statement • Containers
Resource Statement RDF Model Primitives Resource Property Value
Simple Example Resource Author “Eric”
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 • XML is one well-supported syntax • There are syntax alternatives • Relational databases • Triple Stores
dc: dc: RDF Model Example #1 URI:R Title “CIMI Presentation” Creator “Eric Miller”
dc: dc: RDF Syntax Example #1 URI:R Title “CIMI Presentation” Creator “Eric 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> CIMI Presentation </dc:Title> <dc:Creator> Eric Miller </dc:Creator> </Description> </RDF>
dc: oa: URI:ERIC bib:Aff bib:Email bib:Name URI:OCLC “OCLC” “emiller@ oclc.org” “Eric Miller” RDF Model Example #2 URI:R Title “CIMI Presentation” Creator “Eric 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> CIMI Presentation </dc:Title> <oa:Creator> <Description> <bib:Name> Eric Miller </bib:Name> <bib:Email> emiller@oclc.org </bib:Email> <bib:Aff resource = “http://www.oclc.org” /> </Description> </oa:Creator> </Description> </RDF>
dc: admin:By dc: “LOC” URI:ERIC admin:On “03-09-99” admin:For bib:Aff bib:Email bib:Name “...” URI:OCLC “OCLC” “emiller@ oclc.org” “Eric Miller” RDF Model Example #3 URI:R Title “CIMI Presentation” Creator “Eric Miller”
RDF Containers • Permit the aggregation of several values for a property • Express multiple aggregation semantics • unordered • sequential or priority order • alternative
RDF Containers • Permit the aggregation of several values for a property • Express multiple aggregation semantics • unordered • sequential or priority order • alternative
RDF Containers • Bag • unordered grouping • Sequence • ordered grouping • Alternatives • alternate values • need to choose • at least one value • first value is default or preferred value
RDF - Bag • Unordered group • “Carl Lagoze and Stuart Weibel are co-authors” <BIB:Author> <Bag> <li> Carl Lagoze </li> <li> Stuart Weibel </li> </Bag> </BIB:Author>
RDF - Sequence • Ordered or priority group • “Carl Lagoze is primary author and Stuart Weibel is second author” <BIB:Author> <Seq> <li> Carl Lagoze </li> <li> Stuart Weibel </li> </Seq> </BIB:Author>
RDF - Alt • Client chooses one of several values • First value is default • “The distance is 15 kilometers or 9.3 miles” <DC:Coverage> <Alt> <li> 15KM </li> <li> 9.3M </li> </Alt> </DC:Coverage>
Formalizing the RDF model – Thinking in triples • RDF basic types • rdf:Resource – everything that can be identified (with a URI) • rdf:Property – specialization of a resource expressing a binary relation between two resources • rdf:statement – a triple with properties rdf:subject, rdf:predicate, rdf:object • An RDF statement is a triple consisting of a resource (subject), a property and a second resource (object) • (:s :p :o) • Expressible also as binary relations • P(S,O) – e.g., Title(R, “War & Peace”)
RDF statements and basic types rdf:statement rdf:object rdf:subject rdf:predicate WYA DigitalLibraries creator rdf:property “CL says ‘WYA wrote Digital Libraries’”
Reification – Statements about statements CL rdf:statement assertedBy rdf:object rdf:subject rdf:predicate WYA DigitalLibraries creator rdf:property “CL says ‘WYA wrote Digital Libraries’”
From Graphs to Triples doris betty eve alice charles
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 • 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:100 ms:director bib:Author
rdfs: subPropertyOf ms:director dc:Creator rdfs:label “Director” dc:Creator Relationships among vocabulary elements URI:R ms:director “John Smith”
RDF Schema: Specializing Properties • rdfs:subPropertyOf – allows specialization of relations • E.g., the property “father” is a subPropertyOf the property parent • subProperty semantics
Constraints on Properties • Force objects to be of a certain type • rdfs:domain • Restricts the type of resources that may have a specific property • rdfs:range • Restricts the type of resources that may be the value of a specific property
Class Hierarchy • rdfs:Class • Resources denoting a set of resources; range of rdf:type • rdfs:subClassOf • Create class hierarchy rdf:type rdf:type rdfs:class rdfs:subClassOf rdf:type rdf:type rdf:class rdf:class
Storing and querying RDF models – Relational DB • Issues • Scalability: potentially huge # of triples • Tables: number, sparseness, joins • Queries: how and how expensive • Reification?
Storing and querying RDF models – SQUISH SELECT ?sal, ?t, ?x FROM http://ilrt.org/discovery/2000/11/rss-query/jobs-rss.rdf, http://ilrt.org/discovery/2000/11/rss-query/jobs.rss WHERE (job::advertises ?x ?y) (job::salary ?y ?sal) (job::title ?y ?t) AND ?sal > 55000 USING job for http://ilrt.org/discovery/2000/11/rss-query/jobvocab.rdf# http://swordfish.rdfweb.org:8085/rdfquery/index.html
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