[Zope3-dev] Re: RDFLib and Zope 3

Gary Poster gary at zope.com
Mon Aug 29 23:24:08 EDT 2005


On Aug 26, 2005, at 3:03 AM, Daniel Krech wrote:
> On Aug 25, 2005, at 3:10 PM, Michel Pelletier wrote:
>> On Thu, 2005-08-25 at 14:32 -0400, Gary Poster wrote:
>>>> see what he thinks.  I wonder how "lite" the component kernel  
>>>> can go.
>>>
>>> The only thing I have in mind is the interface package, which is  
>>> what
>>> Twisted uses.  That's all we would need.  zope.component needs
>>> zope.interface, zope.testing, and zope.exceptions, according to its
>>> DEPENDENCIES.cfg.
>>
>> Right.  Well in this case we would provide just a very simple  
>> interface
>> facade that had no effect when run in an environment with no
>> zope.interface (ie, catch the ImportError, null-out the facade) or  
>> hook
>> into zope.interface if it is available.  This way rdflib can be  
>> still be
>> used with or without zope.interface.
>
> Sounds good.

OK, cool.

>>>> In the mean time the adapters can live inside Zemantic, which is an
>>>> rdflib to zope bridge anyway.  Let me know if you want to send
>>>> patches,
>>>> otherwise I'll probably get around to adding functionality like  
>>>> this
>>>> soon.
>>>
>>> I'm actually interested in trying to hook this up, but have very
>>> limited time.  I might play with it just within RDFLib alone during
>>> some hobby time tonight, but otherwise may  need to toss this off to
>>> you if you'll catch it.
>>>
>>> I also kind of want to hear Dan's reaction before I spend too  
>>> much time.
>>
>> #redfoot on freenode is a good place to catch him, and me.
>
> Yep, feel free to stop by anytime.

OK, cool, I plan to again. :-)

>>> I thought I read that an RDF triad was itself something that  
>>> could be
>>> a node in another RDF triad, but I can't find that anywhere now.   
>>> Can
>>> you confirm or deny? :-)
>>
>> Yes, it's called reification, making a statement about a statement.
>>
>> http://www.w3.org/TR/rdf-primer/#reification
>>
>> http://en.wikipedia.org/wiki/ 
>> Resource_Description_Framework#Statement_reification_and_context
>>
>> http://www.w3.org/TR/rdf-mt/#Reif
>
> Reification is probably best avoided. I'd recommend seeing if you  
> can make use of a context or quoted graph instead.

I have read that 'context' actually is still a word looking for a  
firm definition in RDF, but I like the interpretation that it is the  
source of the assertion.  That's not a general answer for the sorts  
of things that reification can provide, though.

The quoted graph does seem interesting: I said before that it seems  
very similar to reification, and it does, but I guess it subsumes the  
data structure that reification can provide...I also said that I  
wonder about efficient indexing, and I still do.

On the plus side for context, you've implemented it. ;-)

I'm interested in contemplating RDF as a full catalog solution for  
Zope, at least as a thought experiment.  The SPARQL work seems  
interesting, in regards to some of the recent discussion on the Zope  
3 list; and the ability to seamlessly and simultaneously query both  
relationship information between objects and more traditional catalog  
data seems compelling.

It seems to me that allowing a back end to index particular  
relationships--and joins, particularly through blank nodes--would be  
a big step in letting RDF actually be a front end to a full catalog.   
Another step would be having a front end that honored rdfs range and  
domain constraints.

I plan to get on IRC and bother you all again as soon as I have time  
to do so. :-)

Gary



More information about the Zope3-dev mailing list