Chapter 7: Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005 RDF Provides a basis for knowledge representation Chapter 7 Supports inferencing Simple language to capture assertions (statements), which help capture knowledge, e.g., about resources Combines old KR ideas (frames, OO modeling) but uses the Web to enhance their range and avoid some longstanding problems Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 2 Why RDF? XML Gives us a document tree Doesn’t identify the content represented by a document, where content means Chapter 7 Concepts the document is about Relationships among them Enables multiple representations for the same content RDF expresses the content itself Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 3 Resources and Literals RDF captures descriptions of resources A resource is an “addressable” object A literal is something simpler Chapter 7 Identified via a URI Of which a description can be given (and which is worth talking about) A value, e.g., string or integer Cannot be given a description Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 4 Statements or Triples RDF is based on a simple grammar An RDF document is just a set of statements or triples Each statement consists of Chapter 7 Subject: a resource Object: a resource or a literal Predicate: a resource Comes with RDFS, a vocabulary to create vocabularies Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 5 Rendering RDF RDF is not about the surface syntax but about the underlying content Using the XML serialization of RDF RDF is not tied to XML Standard XML namespace syntax Namespaces defined by the RDF standard Chapter 7 Typically abbreviated rdf and rdfs Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 6 Example in XML (Using Dublin Core) <?xml version='1.0' encoding='UTF-8'?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.wiley.com/SOC"> <dc:title>Service-Oriented Computing</dc:title> <dc:creator>Munindar</dc:creator> <dc:creator>Michael</dc:creator> <dc:publisher>Wiley</dc:publisher> </rdf:Description> </rdf:RDF> rdf:Description gathers statements about one subject Chapter 7 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 7 Example in N-Triples Notation <http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/title> "Service-Oriented Computing" . <http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/creator> "Munindar" . <http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/creator> "Michael" . <http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/publisher> "Wiley" . Could also write individual statements in the XML syntax, but the rdf:Description element simplifies the notation Chapter 7 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 8 Exercise Graphs represent binary relationships naturally Express a three-party relationship Chapter 7 The vendor ships SKU-99 The vendor ships SKU-99 quickly Hint: think of gerunds from natural language grammar Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 9 Reification of Statements Reify: to make referenceable, essential for quoting statements to Make a statement into a resource; then talk about it Chapter 7 Agree or disagree with them Assert modalities: possible, desirable, … rdf:Statement is the class whose rdf:type the given statement (object) is; additional properties such as rdf:subject, rdf:object, and rdf:predicate Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 10 RDF Schema Analogous to an object-oriented type system built on top of RDF. Defines Chapter 7 rdfs:Class, rdfs:subClassOf rdfs:Resource, rdfs:Literal rdfs:Property, rdfs:subPropertyOf rdfs:range, rdfs:domain rdfs:label, rdfs:comment, rdfs:seeAlso Applications of RDF Schema deferred to OWL, which greatly enhances the above Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 11 RDF Schema versus XML Schema Both help define custom vocabularies An XML Schema document gives us syntactic details An RDF Schema document gives us (part of) the meaning of a vocabulary An OWL document (next chapter) captures richer meaning Chapter 7 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 12 Collections Function as containers Accompanied by properties to extract elements Chapter 7 rdf:Bag rdf:Sequence rdf:Alt (choice) Schematically represented as rdf:_1, and so on Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 13 Chapter 7 Summary RDF captures deeper structure than XML RDF is based on an simple linguistic representation: subject, predicate, object But “webified” via URIs RDF comes with RDF Schema Chapter 7 RDF captures graphs in general Meaning depends on the graph, not the document that represents a graph In essence, an object-oriented type system: a vocabulary to create new vocabularies Used for important vocabularies (FOAF, DC, Mozilla extensions) Provides a basis for OWL Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 14