(trying to) Understand RDF and N3

Hello,

First of all, a short disclaimer: I'm still on a (early) process of 
learning RDF and N3. :)

Still, if I may I'd like to hear your opinion on the following:

Given the following (excerpt) N3:
{ :who1 :father [ :brother :who2 ] } log:implies { :who1 :uncle :who2 }.

Given the following N3 facts for the previous rule:
:Joe has :father :Fred.
:Fred has :brother :Bob.

We can then "query" (filter) this with the following (I want to know 
from whom is Bob the uncle?):
{ :x :uncle :Bob } log:implies { :x :uncle :Bob }.

So, in N3 we can express rules, facts and also filter them. All this 
using (always) Notation3...

Is the above possible using RDF *only*? From what I understand, I can 
express the rules and the facts in RDF. I cannot filter it using RDF 
right? I'd have to use something else - Squish, rdfdb? And when those 
other RDF queries return results (using rdfdb for instance), I'm loosing 
my RDF syntax. In the case of an rdfdb query, my result could be 
something like: "?x = Joe". Maybe I'm definitely missing something here 
but it seems to me that N3 can be more useful than RDF (.. I think ..)...

I have this project I'm working on where it would be very useful to have 
a "standard"/consistent way of expressing and querying information. I 
was thinking of using RDF to publish all info but it seems that there's 
no consistent way of querying it... So I was thinking of using N3 
instead (because this allows us to filter information besides being also 
extremely simple to add new facts)  -  kind of like using N3 on top of 
HTTP...  I could add N3 facts to an existing list of facts with a HTTP 
PUT, do a N3 filter with a POST (passing the filter in the body), get 
the whole N3 from a given network node with a GET, delete with a DELETE...

Therefore, using always the same language (N3) I could do all that I 
want regarding publishing and querying of information.. It seems very 
flexible..

Does this make any sense at all or should I go back to the "drawing board"?


Sorry for thinking out loud,
Miguel Branco

-- 
_______________________________________________________________
Miguel Branco, CERN, European Organization for Nuclear Research
ATLAS Computing Group
 Building 40-3-D06, Mailbox E25310, CH-1211 Geneva 23
 Phone: +41 22 76 71182, +41 22 76 71180
 http://msbranco.net

Received on Tuesday, 22 July 2003 10:09:09 UTC