Revision r1.3 - 29 Jan 2003 - 05:04 GMT - TWikiGuest

Here I'll be jotting down an outline of thoughts, questions, answers and explanations as I try to form an understanding about RDF. Help out, if you feel like it!

  • Needs / wants / goals
    • Need a flexible, scalable means of collecting and organizing information about things produced by a heterogenous pile of sources both human and machine.
    • Want to gradually evolve schema and data structures, not mess with fleshing out db schema.
  • Questions
    • How come?
      • Why triples? Why not quads?
        • statement-URI - subject - predicate - object
        • Would ease reification?
        • Already shown to be incredibly stupid or awkward for some reason?
        • Why? Because you need triples at a minimum, but once you start trying to justify quads it becomes a very slippery slope towards full-on n-ary predicate logic (i.e. five parts -> six parts -> seven parts, etc.). RDF is designed to be a simple base layer for applications both simple and more complex, and since triples can be used (albeit somewhat awkwardly) to represent higher order constructs (i.e. through reification and things like it), triples are all RDF has.
    • What's so hard to understand about RDF and the SemanticWeb?
      • Reification
      • Abbreviated syntax
      • Datatypes
    • What's doesn't work yet or is left unsolved?
    • Any show stoppers, or can I practically use this now?
  • Answers / Explanations
    • Basics
      • RDF is a framework for asserting statements about resources.
      • A resource is a unique thing (any thing) that can be identified by a unique URI.
        • Common confusion: That a resource is identified by a URI does not imply that one could visit the URI with a browser and expect to find something. A URI != a URL.
          • URL = Universal Resource Locator
            • Specifies network location of some thing.
          • URI = Universal Resource Identifier
            • Identifies some thing uniquely in the world. Period.
            • A URI does not provide any information about the location or nature of a resource.
            • Can be used to identify real world objects with no web presence or document online.
        • See: http://www.w3.org/TR/rdf-primer/#identifiers
      • A statement about a resource has 3 parts: subject, predicate, object.
        • The subject is the thing, or resource, being considered.
          • Identified by URI.
        • The predicate is what aspect of the resource is being described.
          • Identified by URI.
        • The object is what's being said about the aspect of the subject in question.
          • Identified by URI or specified by a literal constant.
        • Very rough Englishesque example:
          • (Les) - [is an instance of a] - (person)
          • (Les) - [resides in the city] - (Ann Arbor)
          • (Les) - [has lived for] - (27 years)
        • Example using URIs:
          • <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740> .
          • <http://www.example.org/index.html> <http://www.example.org/terms/creation-date> "August 16, 1999" .
          • <http://www.example.org/index.html> <http://www.example.org/terms/language> "English" .
      • Consider some magic:
        • Resources are identified by URIs.
        • In a statement, the subject & predicate are and the object can be identified by URIs.
        • So, the parts of a statement are each considered a resource and can treated as such.
          • For the subject, this is a no-brainer. The subject is the resource about which the statement is being made.
          • But, for the predicate, this allows statements to be made about the properties of resources.
            • Properties of resources are, themselves, resources about which things can be asserted.
            • Does not require jumping out of RDF into some completely different Data Description Language to specify data types, ranges, constraints, etc..
            • That is to say, the schema of statements in RDF can be expressed via the expressions of RDF itself.
          • As for the object, using URIs provides for structured data and very flexible references and relationships between resources.
    • Serialization as RDF/XML
      • Striping
    • Storage & Query
    • Reification
      • Statements about statements
    • Logic & Inference

When I grow up, I want to be a computer scientist
Rotating header picture Rotating header picture

Advanced Search

Related Entries

(Disabled, for now.)


View items on my Amazon wishlist

Made on a Macintosh Powered by Movable Type <$MTVersion$> Made for Safari Get Firefox You can do better than Microsoft Internet Explorer

Creative Commons License
This work is licensed under a Creative Commons License.