On Aug 29, 2005, at 11:24 PM, Gary Poster wrote:
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
The only thing I have in mind is the interface package, which is
Twisted uses. That's all we would need. zope.component needs
zope.interface, zope.testing, and zope.exceptions, according to its
Right. Well in this case we would provide just a very simple
facade that had no effect when run in an environment with no
zope.interface (ie, catch the ImportError, null-out the facade)
into zope.interface if it is available. This way rdflib can be
used with or without zope.interface.
We've started a branch where we'll be depending on zope.interface and
in the end may just choose to grow a dependency on zope.interface or
provide some kind of fallback if possible. We're just going to
concentrate on getting going with zope.interface for now.
In the mean time the adapters can live inside Zemantic, which
rdflib to zope bridge anyway. Let me know if you want to send
otherwise I'll probably get around to adding functionality like
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
you if you'll catch it.
I also kind of want to hear Dan's reaction before I spend too
#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
a node in another RDF triad, but I can't find that anywhere
you confirm or deny? :-)
Yes, it's called reification, making a statement about a statement.
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.
Correct, 'context' was not a term defined in the set of RDF
specifications, but all the RDF toolkits end up implementing them
because pretty much all applications need them for something or
another. RDFLib's support for contexts does not constrain the
interpretation of what a context represents... it only provides a way
to identify a set of triples. The identifier can be either a URIRef
or BNode and can be used to make assertion such as the source of the
triples, creation date, or whatever assertions your application wants
to make about the context.
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 hope to be implementing support for quoting soon... not sure of an
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. :-)
Hope to see you soon,
Daniel Krech, http://eikeon.com/
Zope3-dev mailing list