140 likes | 253 Views
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
E N D
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 • Simple language to capture assertions (statements), which help capture knowledge, e.g., about resources • RDF puts together old KR ideas but uses the Web to enhance their range and avoid some longstanding problems Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Why RDF? • XML • Gives us a document tree • Doesn’t identify the content represented by a document • Enables multiple representations for the same content • RDF expresses the content itself Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Resources and Literals • RDF captures descriptions of resources • A resource is an object • Of which a description can be given • Identified via a URI • A literal is something simpler • A value, e.g., string or integer • Cannot be given a description Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
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 • Subject: a resource (noun) • Object: a resource or a literal (noun) • Predicate: a resource (verb) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Rendering RDF • RDF is not about the surface syntax but the content it captures • In principle, RDF is not tied to XML, which makes it verbose, but it is the common syntax, which we will use • Uses standard XML namespace syntax • Namespaces defined by the RDF standard • Typically abbreviated rdf and rdfs Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Example (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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Collections • Function as containers • rdf:Bag • rdf:Sequence • rdf:Alt • Accompanied by properties to extract elements • Schematically represented as rdf:_1, and so on Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Exercise • Graphs represent binary relationships naturally • The vendor ships SKU-99 • Express a three-party relationship • 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
Reification of Statements • Reify: to make referenceable • Needed to quote statements (e.g., to agree or disagree with them); assert modalities • Make a statement into a resource; then talk about it • 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
RDF Schema • Analogous to an object-oriented type system built on top of RDF. Defines • 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
RDF Schema versus XML Schema Both help define custom vocabularies • An XML Schema document gives us syntactic details • An RDF Schema document gives us meaning • An OWL document (next chapter) captures richer meaning Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 7 Summary • RDF captures the deep structure whereas XML captures the surface structure • RDF captures graphs in general • Meaning depends on the graph, not the document that represents a graph • RDF is based on an simple linguistic representation: subject, predicate, object • But “webified” via URIs • RDF comes with RDF Schema • In essence, an object-oriented type system: a vocabulary to create new vocabularies • Has been used for important custom vocabularies • For our purposes, best used as part of OWL Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns