140 likes | 267 Vues
This chapter explores the Resource Description Framework (RDF) as a foundational tool for knowledge representation in service-oriented computing. It highlights how RDF captures assertions about resources and literals through a simple grammatic structure of statements or triples (subject, predicate, object). The connection of RDF to XML is emphasized, showcasing its role in expressing resource content and avoiding common issues found in traditional knowledge representation. Key examples demonstrate RDF's functionalities, including reification, collections, and the difference between RDF Schema and XML Schema.
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