W3C home > Mailing lists > Public > www-rdf-interest@w3.org > August 2004

rdfs:Statement for Qualified Predictates

From: Matthew Leingang <leingang@math.harvard.edu>
Date: Wed, 04 Aug 2004 16:42:44 -0400
To: <www-rdf-interest@w3.org>
Message-ID: <BD36C284.12E30%leingang@math.harvard.edu>

Hi all,

Long time lurker, first time poster.

I'm thinking about generating RDF from my Books [1] database to publish
online (why not? :-). Books allows you store lots of data, not only about
the book, but when you got it, who you loaned it to, etc.

How does one best put something like "I have owned this book since August 1,
2004" in RDF?  Without the date I could just say

:me foaf:owns [a book:Book; book:isbn "012345678"] .

(assuming we have a book schema someplace with a Book class and isbn
property).  With the date we have a qualification of the foaf:owns property.
When implementing this first in python, I started creating
"AgentObjectAssociation" classes for want of a better term.  Then about a
day later I realized that these AgentObjectAssociations were just subclasses
of regular RDF triples.  It seems, then, that you can do this by reifying
the statement and adding whatever other properties & types you want:

[a rdfs:Statement;
   rdfs:subject :me;
   rdfs:predicate foaf:owns;
   rdfs:object [a book:Book; book:isbn "012345678"];
   a ical:Vevent;
   ical:dtstart "2004-08-01".]

I don't know if this is a misuse of ical to talk about *any* event, not just
one that one might schedule in a PIM tool.  But another schema for events
could be used if necessary.

I recall from the one of the RDF TR's that the set of statements

[a rdfs:Statement; rdfs:subject :a; rdfs:predicate :b; rdfs:object :c]

doesn't necessarily have to imply :a :b :c (which is a good thing:
"declaring 'Mission Accomplished' doesn't make it so"!) and that made me shy
away from using qualified statements like this.  But it seems useful.
Another use would be to give the authority of a statement, so an agent can
decide which one to accept:

[a rdfs:Statement;
   rdfs:subject    :LeeHarveyOswald;
   rdfs:predicate  :killed;
   rdfs:object     :JohnFKennedy;
   dc:creator      :WarrenCommission
].

[a rdfs:Statement;
   rdfs:subject    :Mafia
   rdfs:predicate  :killed;
   rdfs:object     :JohnFKennedy;
   dc:creator      :OliverStone
].     

Sorry if my N3 is off, but hopefully you get my drift.  So I guess I'm
asking is: is this "in or out of line" (to borrow the question of a previous
poster)?  Are there other ways to employ adverbial prepositional phrases
like "since" or "according to" in RDF?

Thanks for any help.

--Matthew Leingang

[1] http://books.aetherial.net/

-- 
Matthew Leingang
Preceptor in Mathematics
Harvard University

URL: http://www.math.harvard.edu/~leingang/
vCard: http://www.math.harvard.edu/~leingang/vCard.vcf
Received on Wednesday, 4 August 2004 16:47:41 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:14:57 UTC