260 likes | 423 Views
RDF: A Frame System for the Web. Ora Lassila (with h elp from Henry S. Thompson) Agent Technology Group Nokia Research Center, Boston March 2000 ora.lassila@nokia.com. Contents. Brief RDF primer + "problems" Brief discussion of Frame Systems + interpretation of RDF as a Frame System
E N D
RDF: A Frame System for the Web Ora Lassila(with help from Henry S. Thompson) Agent Technology Group Nokia Research Center, Boston March 2000 ora.lassila@nokia.com
Contents • Brief RDF primer + "problems" • Brief discussion of Frame Systems + interpretation of RDF as a Frame System • Future (DAML etc.) • My main concern is with the adoption of RDF - this has been hindered by people not understanding what RDF is about…
What is RDF, really? • RDF is a data model • the model is domain-neutral, application-neutral and ready for internationalization (i18n) • the model can be viewed as directed, labeled graphs or as an object-oriented model (object/attribute/value) • the specification provides an encoding (in XML) of the model • important: syntactic details are secondary, they are largely handled by using XML (RDF defines a convention of XML usage) • RDF data model is an abstract, conceptual layer independent of XML • consequently, XML is a transfer syntax for RDF, not a component of RDF • RDF data might never occur in XML form • it might reside, for example, in an RDB • XML relieves us of syntactic details when transporting RDF
value resource property http://www.w3.org/TR/REC-rdf-syntax/ author “Ora Lassila” RDF model • RDF “statements” consist of resources (= nodes)which have properties which have values (= nodes, strings) = subject= predicate= object predicate(subject, object) “http://www.w3.org/TR/REC-rdf-syntax/ has the author Ora Lassila”
RDF model (continued) • Graphs can be represented as relational “triples”{ “http://www.w3.org/TR/REC-rdf-syntax/”, author, “Ora Lassila” } • Any arc in a graph corresponds to one triple, consisting of the arc label itself and the two endpoints • Why is all this useful? For example, when searching, this is useful only if we know what the meaning of “author” is • e.g., “find all documents where the author is Ora Lassila” • new triple{ “http://www.w3.org/TR/REC-rdf-syntax/”, dc:Creator, “Ora Lassila” } • “author” replaced by a label which is uniquely qualified (using the XML namespace mechanism) • Drawn from a consensually pre-established vocabulary
RDF model (example) “W3C” dc:Publisher http://www.w3.org/TR/REC-rdf-syntax/ dc:Creator dc:Date “Ora Lassila” “1999-02-22”
http://www.w3.org/TR/REC-rdf-syntax/ dc:Creator “Ora Lassila” p:Name p:EMail “ora.lassila@nokia.com” Complex values • So far, values of properties have been strings • A graph node (corresponding to a resource) also can be the value of a property • arbitrarily complex tree and graph structures are possible • syntactically, values can be embedded (i.e. lexically in-line) or referenced (linked) • Example:
http://www.w3.org/TR/REC-rdf-syntax/ dc:Creator “Ora Lassila” p:Name p:EMail “ora.lassila@nokia.com” Complex values (continued) • Corresponding triples { “http://www.w3.org/TR/PR-rdf-syntax/”, dc:Creator, x } { x, p:Name, “Ora Lassila” } { x, p:EMail, “ora.lassila@nokia.com” }
Containers • Containers are collections • they allow grouping of resources (or literal values) • It is possible to make statements about the container (as a whole) or about its members individually • Different types of containers exist • bag - unordered collection • seq - ordered collection (= “sequence”) • alt - represents alternatives • It is also possible to create collections based on URI patterns • for example, all files in a particular web site • Duplicate values are permitted • there is no mechanism to enforce unique value constraints
http://www.w3.org/TR/REC-rdf-syntax dc:Creator rdf:Type rdf:Seq rdf:_1 rdf:_2 “Ora Lassila” “Ralph Swick” Containers (continued)
Containers (continued) http://www.w3.org/TR/REC-rdf-syntax dc:Creator dc:Creator “Ora Lassila” “Ralph Swick”
Containers (continued) • Triples from the first example: • { “http://www.w3.org/TR/REC-rdf-syntax”, dc:Creator, x } • { x, rdf:_1, “Ora Lassila” } • { x, rdf:_2, “Ralph Swick” } • { x, rdf:type, rdf:Seq } • Triples from the second example: • { “http://www.w3.org/TR/REC-rdf-syntax”, dc:Creator, “Ora Lassila” } • { “http://www.w3.org/TR/REC-rdf-syntax”, dc:Creator, “Ralph Swick” } • Syntactic shorthand provided (much like HTML lists)
Higher-order statements • One can make RDF statements about other RDF statements • example: “Ralph believes that the web contains one billion documents” • Higher-order statements • allow us to express beliefs (and other modalities) • are important for trust models, digital signatures,etc. • also: metadata about metadata • are represented by modeling RDF in RDF itself
dc:Creator http://www.w3.org/TR/REC-rdf-syntax “Ora Lassila” dc:Creator “Library of Congress” Reification • RDF is not really second-order • But it does provide a built-in predicate vocabulary for reification • The dotted box corresponds to the following statements • { x,rdf:predicate, “dc:creator” } • { x, rdf:subject, “http://www.w3.org/TR/RED-rdf-syntax } • { x, rdf:object, “Ora Lassila” } • { x, rdf:type, “rdf:statement” }
RDF schema: type facilities • RDF was designed with an object-oriented mindset • important: in RDF, object-orientation is a modeling vehicle • RDF schema provides an extensible, object-oriented type system • RDF Schema definitions consist of classes (= “types”) and properties • a new class can be defined by extending an existing class • extension reuses (and thus shares) existing definition(s) • a class can have multiple superclasses • schema definitions can include constraints which express validation conditions • domain constraints link properties with classes • range constraints limit property values • “hook” for new constraints • Schema definitions are expressed in RDF itself • specification contains a “meta-circular” definition of the RDF core classes
RDF Syntax • RDF Model and Syntax specification defines a convention of XML usage to “serialize” RDF • most of the trouble people have had understanding RDF is probably caused by the syntax • (this syntax was “designed by a committee”) • redesign of the syntax is possible at some point… • From the standpoint of this presentation, the concrete syntax is irrelevant
Problems with RDF • Syntax is hard • we can fix this with a new syntax • Modeling is difficult • this is already harder to fix • Harder than I [ht] expected • for this audience, should not be a problem • My belief is that thinking of RDF as a frame system or an object-oriented modeling system makes things easier to grasp
Frame Systems • Simple, structural representation tools • conceptually easy to understand by “ordinary people” • Object-oriented in nature • easy to understand (and accept) by software people • construction of ontologies, concept taxonomies is possible • Terminology needs to be translated into RDF OOP • instance • instance variable • class, type • ? RDF • resource • property • class • qualified property Frame Systems • frame • slot • class, type, frame • facet
My Frame Systems Q: Why do I keep talking about frame systems? A: It seems I keep doing the same stuff over and over :-) • BEEF (1988-1992) • teaching tool at Helsinki University of Technology • used in building several large prototype systems (e.g., a scheduling system for the plate rolling line of Europe's largest steel mill) • PORK (1993-1996) • CLOS metaobject extension • core representation layer of CMU's Ozone/DITOPS family of reconfigurable scheduling systems (some versions are currently being transitioned to US Air Force use) • SCAM (1992-1996) • lightweight BEEF derivative, compatible with CRL • on board NASA's Deep Space 1 probe (somewhere outside the Asteroid Belt at the moment) • These systems are rich, understandable, and efficient
Future: We Need More! • Structural modeling obviously not enough • we need a “logic layer” on top of RDF • some type of description logic is a possibility (after all, we are talking about frame systems) • Exposing a wide variety of data sources as RDF is useful, particularly if we have logic/rules which allow us to draw inference from this data • My proposal: RDF + DL = “Frame System for WWW” • this is probably a good starting point for DAML as well • (details to be worked out by this workshop…)
The solution(s)? • There's been a lot of talk about metadata. • What is metadata? • It's just data. • But it's data about other data. • What could metadata do for us? • Give search engines something to work with that is designed for their needs. • Give us all a place to record what a document is for or about.
Requirements for metadata • What would we need to make this work? • A standard syntax, so metadata can be recognised as such; • One or more standard vocabularies, so search engines, authors and users all speak the same language; • Lots of documents with metadata attached; • Attribution and trust • Is this resource really about Pamela Anderson
What is RDF? • RDF is actually two standardisation efforts, under the aegis of the W3C. • It stands for Resource Description Framework (in other words, data about data). • The two efforts are: • Standardising the syntax and abstract semantics; • RDF Model and Syntax • Providing a standard way of defining standard vocabularies (but not actually defining any). • RDF Schema
An aside: what is the W3C? • The World Wide Web Consortium. • A voluntary association of companies and non-profit organisations. • Membership costs serious money, confers voting rights. • Complex procedures, with the Chairman (Tim Berners-Lee) holding all the high cards • The big vendors (e.g. Microsoft, Adobe, Netscape) have a lot of power. • How do standards get drafted and approved? • W3C Draft Recommendations come from Working Groups with little (XML) or a lot of input from W3C staff (CSS1,2). They are approved by the Chairman.
The Semantic Web • W3C's vision of the future • New syntax for RDF • Logic on top
Questions? • mailto:ora.lassila@nokia.com • mailto: ht@cogsci.ed.ac.uk