RDF: Resource Description Framework
Version 0.4
Introduction
RDF began as a framework for description of resources — hence its name, Resource Description Framework. For example, suppose we have a blog site; resources would be articles in the blog, and their descriptions include information such as title, date, author. Or if we are selling appliances on our site, resources would include our products.
However, it has grown beyond that into something describing “knowledge in small pieces” for “a distributed world.”
Goals/features of RDF:
- Knowledge is expressed in small chunks: (subject, predicate, object) triples.
- Each of these chunks can be seen as part of a graph, where the subject and object are nodes and the predicate is a labeled, directed edge (an arrow from subject to predicate node).
- Knowledge is distributed: it is stored in various places, and can be integrated from different sources.
- Allow sharing and mixing of vocabularies.
- Names are global (URI) or sometimes local (anonymous)
Applications
- DBpedia uses RDF to encode information from Wikipedia and is one of the data sources used in IBM’s artificial Jeopardy contestant, Watson. Watson is described by Wikipedia and by IBM.
Query Language
There is a query language for RDF called SPARQL.
Differences from XML
Although RDF has an XML notation, it has other notations, such as N3 (Notation 3). Conceptually, RDF data is a directed, labeled graph, whatever notation is used. Equivalently, it is a set of (subject, predicate, object) triples.
- XML is for “data”, but RDF is for “knowledge” — says Tauberer. But what’s the difference between data and knowledge? This is unclear.
- RDF is distributed; XML is self-contained — says Tauberer. But is XML necessarily self-contained? What about XLink and XPointer?
- XML is a tree, but RDF is a graph. But by suitable conventions (such as id and idref attributes), we can make XML describe a graph.
Representations
- Diagrams — example: two diagrams with some shared subject and inconsistent use of names.
- How to digitize: SVG, PNG, JPEG?
- Triples (subject, predicate, object)
- Continue the example
- How does this compare with predicate logic or Prolog?
- How does it compare with the relational model?
- Names:
- Global names are URIs
- Some URIs are URLs; URLs can be retrieved
- Some URIs are not, e.g., ISBNs
- We can still have local names
- Like “anonymous variables” in Prolog
- Notation 3 (N3)
- XML notation
- Do not continue the example
Discussion
- Does computers really know or understand anything? What does semantics have to do with computers?
- How would the “semantic web” facilitate search (i.e., improve upon Google search as it is today)?
- How is RDF related to Prolog, or to predicate logic in general?
- Is it possible to represent, in RDF, relations between more than two entities (n-ary relations where n > 2), such as “Jane gave the book to Henry”? If so, how?
- What about unary predicates, like talks, swims, is hungry?
- Is it possible to represent, in RDF, statements involving existential or universal quantification? If so, how?
- Anonymous names as variables?
?x, ?y, ?z also? See Tauberer’s example:
{ ?a :hasFather ?b . ?b :hasSister ?c .} =>
{ ?a :hasAunt ?c} .
Doesn’t this seem like a Prolog rule?
RDF and HTML
References