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 1 © NOKIA 3/19/2016 - Ora Lassila 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… 2 © NOKIA 3/19/2016 - Ora Lassila 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 objectoriented 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 • • 3 © NOKIA it might reside, for example, in an RDB XML relieves us of syntactic details when transporting RDF 3/19/2016 - Ora Lassila RDF model • RDF “statements” consist of resources (= nodes) which have properties which have values (= nodes, strings) resource property value = subject = predicate = object predicate(subject, object) “http://www.w3.org/TR/REC-rdf-syntax/ has the author Ora Lassila” http://www.w3.org/TR/REC-rdf-syntax/ author “Ora Lassila” 4 © NOKIA 3/19/2016 - 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” } • • 5 © NOKIA “author” replaced by a label which is uniquely qualified (using the XML namespace mechanism) Drawn from a consensually pre-established vocabulary 3/19/2016 - Ora Lassila RDF model (example) “W3C” dc:Publisher http://www.w3.org/TR/REC-rdf-syntax/ dc:Creator dc:Date “1999-02-22” 6 © NOKIA 3/19/2016 - Ora Lassila “Ora Lassila” 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) http://www.w3.org/TR/REC-rdf-syntax/ dc:Creator • Example: p:Name p:EMail “ora.lassila@nokia.com” 7 © NOKIA 3/19/2016 - Ora Lassila “Ora Lassila” 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” } http://www.w3.org/TR/REC-rdf-syntax/ dc:Creator p:Name p:EMail “ora.lassila@nokia.com” 8 © NOKIA 3/19/2016 - Ora Lassila “Ora Lassila” 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 • 9 © NOKIA there is no mechanism to enforce unique value constraints 3/19/2016 - Ora Lassila Containers (continued) http://www.w3.org/TR/REC-rdf-syntax dc:Creator rdf:Type rdf:_1 “Ora Lassila” 10 © NOKIA 3/19/2016 - Ora Lassila rdf:_2 “Ralph Swick” rdf:Seq Containers (continued) http://www.w3.org/TR/REC-rdf-syntax 11 © NOKIA dc:Creator dc:Creator “Ora Lassila” “Ralph Swick” 3/19/2016 - Ora Lassila 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) 12 © NOKIA 3/19/2016 - Ora Lassila 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 • • • • 13 © NOKIA 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 3/19/2016 - Ora Lassila Reification • RDF is not really second-order • But it does provide a built-in predicate vocabulary for reification http://www.w3.org/TR/REC-rdf-syntax dc:Creator “Ora Lassila” dc:Creator “Library of Congress” • The dotted box corresponds to the following statements • • • • 14 © NOKIA { 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” } 3/19/2016 - Ora Lassila 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 • 15 © NOKIA specification contains a “meta-circular” definition of the RDF core classes 3/19/2016 - Ora Lassila 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 16 © NOKIA 3/19/2016 - Ora Lassila 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 17 © NOKIA 3/19/2016 - Ora Lassila 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 18 OOP RDF Frame Systems • instance • resource • frame • instance variable • property • slot • class, type • class • class, type, frame • ? • qualified property • facet © NOKIA 3/19/2016 - Ora Lassila 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 19 © NOKIA 3/19/2016 - Ora Lassila 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” • • 20 © NOKIA this is probably a good starting point for DAML as well (details to be worked out by this workshop…) 3/19/2016 - Ora Lassila 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? • • 21 © NOKIA 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. 3/19/2016 - Ora Lassila 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 • 22 © NOKIA Is this resource really about Pamela Anderson 3/19/2016 - Ora Lassila 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; • • Providing a standard way of defining standard vocabularies (but not actually defining any). • 23 © NOKIA RDF Model and Syntax RDF Schema 3/19/2016 - Ora Lassila 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. 24 © NOKIA 3/19/2016 - Ora Lassila The Semantic Web • W3C's vision of the future • New syntax for RDF • Logic on top 25 © NOKIA 3/19/2016 - Ora Lassila Questions? • mailto: ora.lassila@nokia.com • mailto: ht@cogsci.ed.ac.uk 26 © NOKIA 3/19/2016 - Ora Lassila