160 likes | 305 Views
The Semantic Web Resource Description Framework (RDF). Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring. Overview. The Big Picture Pieces One future The Basics An RDF Description
E N D
The Semantic WebResource Description Framework (RDF) Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring
Overview • The Big Picture • Pieces • One future • The Basics • An RDF Description • An RDF Schema
The Big Picture • The “semantic web” is a transformation of the WWW into one that might be: • Better organized • Traversed by agents on our behalf • To accomplish this goal, mechanisms are needed that allow us to understand what objects exist and how they are related • RDF with all of its component parts – which don’t exist as yet – provides one means for building the “semantic web” • The RDF Model and Syntax and The RDF Schema Specification are standards that define how to construct RDF Descriptions and RDF Schema
Descriptions and Schema • RDF is one partial solution for the semantic web. • Some have criticized it as being too complex and others have criticized it as being too simplistic. • The fact that there are a number of pieces, many of which have not yet been defined confuses people. • Simply put, RDF consists of: • Descriptions of resources • Schema that define the descriptions and potentially relate them to other schema • Inference engines that know how to extract meaning from descriptions and schema
Schema and Schema • Namespaces and schema can be confusing. Keep the following in mind: • Under XML, a “schema” is used to define the model of a class of documents. • Schema are powerful modeling tools in that they provide for inheritance, modularity, and scoping through the use of namespaces. • A namespace simply defines the scope and qualification of XML elements from a schema • One XML schema defines the elements that may appear in a documents that defines descriptions. The resulting document is an RDF schema. • When an XML document is described, it will use elements from a particular RDF schema
A Mouthful of Schema • The RDF Model and Syntax Specification says a description may be specified in any form, but use of XML is preferred. • The RDF Schema elements are defined in an XML Schema • The resource description is a set of elements from a given RDF Schema RDF Schema A RDF Schema B XML Reference Schema RDF Reference Schema XML Schema RDF Schema C One Document + Description
One Possible Future (Part 1) • Consider a set of web servers at a University • Each server has a number of documents • Each document is described by a description • All of the descriptions are defined in terms of a small set of RDF Schema • The RDF Schema are all maintained on a schema server • The descriptions of all the documents, including their location are stored on another server optimized for rapid lookups
The Semantic Servers WebServer RDF Schema RDF Schema RDF Schema RDFSchemaServer DocumentorService DocumentorService WebServer DescriptionServer WebServer DocumentorService DocumentorService DocumentorService DocumentorService
One Possible Future (Part 2) • Consider an agent looking for papers on “RDF” by a particular author, “Jones” • The agent begins with the attribute value pairs: • Author = Jones • Topic = RDF • The agent checks a known RDF Schema Server and discovers there are alternative attributes which mean the same thing as Author and Topic. • The agent composes queries using the appropriate attributes for the various Description servers. • The description servers return hits and their location on various web servers. • The agent reports to its owner that there are “x” documents about RDF by Jones.
One Possible Future (Part 2) • Consider an agent looking to make travel arrangements • A known schema server is consulted with a request for the location of travel markets where “travel” is an accepted keyword • The schema server returns the names of the description servers that provide travel services • The agent queries these description servers for travel services that speak the reservation language – interface known by the agent • The agent then negotiates a reservation
Building a Description • A simple description – four property/value pairs: <rd:RDF xmlns:rd=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:dc=“http://purl.org/metadata/dublin_core#”> <rd:Description about=“http://www.bar.org/doc.html”> <dc:Title>How to Cook</dc:Title> <dc:Date>2001-3-27</dc:Date> <dc:Creator>MBSpring</dc:Creator> <dc:Publisher>University of Pittsburgh</dc:Publisher> </rd:RDF> • The namespace for properties is the dublin core • The description might be replace meta tags in an HTML document
Types of Descriptions • The syntax provides for a wide number of variations. Of these variations, containers and nesting are worthy of further elaboration • Nesting • A description is about a resource • A property describes the resource via a value which is a literal • If the value if a resource, descriptions are nested • Containers • When values are multiple, containers and elements are used for the values • There are three types of containers – bags, sequences and alternatives
Nested Description • A nested description is used when the value of a property is a resource <rd:RDF xmlns:rd=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:dc=“http://purl.org/metadata/dublin_core#”> <rd:Description about=“http://www.bar.org/doc.html”> <dc:Title>How to Cook</dc:Title> <dc:Creator> <rd:Description about = “mailto:spring@pitt.edu”> <dc:Title>Michael B. Spring</dc:Title> </rd:Description> </dc:Creator> </rd:Description> </rd:RDF>
Container • A container is used for multi valued properties <rd:RDF xmlns:rd=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:dc=“http://purl.org/metadata/dublin_core#”> <rd:Description about=“http://www.bar.org/doc.html”> <dc:Title> <rd:Alt> <rd:li xml:lang=“en”>Spring</rd:li> <rd:li xml:lang=“it”>PrimaVera</rd:li> </rd:Alt> </dc:Title> <dc:Creator> <rd:Seq> <rd:li>MBSpring</rd:li> <rd:li>JMSpring</rd:li> </rd:Seq> </dc:Creator> </rd:Description> </rd:RDF>
Building a Simple Schema <? xml version='1.0'?> <rdf:RDF xmlns:dc="“ xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#“ xmlns:rdfs=http://www.w3.org/TR/WD-rdf-schema#> <rdf:Description ID="title"> <rdf:type rdf:resource="http://www.w3.org/TR/REC-rdf-Syntax#Property"/> <rdfs:label>Title</rdfs:label> <rdfs:comment>The name given to the resource</rdfs:comment> <rdfs:isDefinedBy = ""/> </rdf:Description> <rdf:Description ID="creator"> <rdf:type rdf:resource="http://www.w3.org/TR/REC-rdf-syntax#Property"/> <rdfs:label>Author/Creator</rdfs:label> <rdfs:comment>The person or organization who created it</rdfs:comment> <rdfs:isDefinedBy = ""/> </rdf:Description>………
A Schema with Types <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdfs:Class rdf:ID="Person"> <rdfs:comment>The class of people.</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/03/example/classes#Animal"/> </rdfs:Class> <rdf:Property ID="ssn"> <rdfs:comment>Social Security Number</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2000/03/example/classes#Integer"/> <rdfs:domain rdf:resource="#Person"/> </rdf:Property> <rdf:Property ID="age"> <rdfs:range rdf:resource="http://www.w3.org/2000/03/example/classes#Integer"/> <rdfs:domain rdf:resource="#Person"/> </rdf:Property> </rdf:RDF>