[Zope3-dev] Re: RDFLib and Zope 3

Michel Pelletier michel at dialnetwork.com
Tue Aug 23 20:07:26 EDT 2005


On Tue, 2005-08-23 at 18:04 -0400, Gary Poster wrote:

> The relationship between ZODB content objects, their int id as  
> provided by the pertinent intid utility, and a (theoretical)  
> corresponding RDF URI is what I'm having a hard time not making hacky  
> in my mind.  I'll think about it some more.

They might not be that hacky, this might be the wrong direction to take
but URI's don't have to be visually meaningful, blank nodes, for
example, are usually just '_:' concatenated to a random opaque string.
If the URI were 'zope:XXXXXXXX' (maybe path/to/intid/util:XXXXXXXX) that
would work just as well, it would also be trival to transform into a
feasible join key if the URI was also a URL that looked up, instead of
some network resource, an intid.  

Actually being able to trivially transform an intid to an rdflib URI
might be something to think about.  Thinking about it more, the current
Zemantic uses the physical path of the object as the rdf:about="" URI
when an object adds itself, because honestly I could think of no other
URI in Zope.  This is obviously wrong, but I didn't have a better answer
in paris.  Why not use the `intid` plus some URI sugar?  If the URI and
the intid can be easily converted from one to the other then that should
solve the whole problem, no?

> 
> Another difficulty is that I like the RDF data model and the RDFLib  
> implementation, but I haven't found a compelling reason to care much  
> about the actual RDF format input and output.  Is there a practically  
> compelling defense of RDF as a format somewhere to which you can  
> point me?

I'm sure you're aware of this but for others: RDF does not specify a
syntax, only the data model.  The most popular syntax, RDF/XML, is
pretty bad, but rdflib also supports the NT syntax, which is a plain
text format.  There are some other triple languages out there that may
look even better, and support for them in rdflib would require writing
only a parser and maybe a serializer if you want that format back out.
I like SLIP but the parser needs some work:

http://www.scottsweeney.com/projects/slip/

and lastly I've been kicking around a new syntax based on SLIP I call
SLIPR.  Unlike SLIP which is for any XML, SLIPR is RDF only.

https://svn.cignex.com/public/slipr/data/pyinrdf.slpr

I only have the syntax outlined right now, I'm still working on the
parser.  This is my attempt to mix RDF with indented syntax.  It looks
great in python-mode. ;)  Unfortunately this is low priority.  The good
news is the high priority is a SPARQL parser, which is coming along
nicely.  Kudos to the fabulous pyparsing library. Hopefully we should
have full sparql support by 2.4.

-Michel



More information about the Zope3-dev mailing list