[Z3-zemantic] catalog interface

Michel Pelletier michel at dialnetwork.com
Thu Mar 24 20:14:33 MET 2005


I think triple and information stores should implement a Zope 3 catalog 
interface, so that instead of Zemantic managing a bunch of indexes of its own 
graph, it simple defers indexing to a Zope 3 catalog.

In fact I've been calling Zemantic "sort of" a catalog so far but I'm going to 
cleave that out right now, no more Zemantic being referred to as a catalog 
and no more catalog and uncatalogging, i'm going to purge the code of the 
term.  Not that I or anyone couldn't argue that it is a catalog, i just dont' 
want any possible conflict since Zemantic will use a catalog.

A triple store is not a catalog, it's a "graph".  An information store is a 
"context-aware graph".  The classes will remain the same names, I'll just use 
the term (context-aware) graph in place of catalog.  

A Zemantic graph, whether context aware or not, is not interpreted by 
Zemantic, ie: Zemantic does not know or care if an object value is a date or 
certain text or whatever.  A Zemantic graph's only purpose is to hold the 
"shape" of the graph, not to interpret it.

Interpretation is application specific, and that layer will be taken care of 
by a Zope 3 catalog (ZCatalog).  A catalog catalogs an RDF graph.  It knows 
(because the application is configured that way) which predicates are things 
like dates, or keywords, or text.  This application specific indexing will 
take place at the ZCatalog level.  Many different catalogs can apply their 
application specific interpretation to one or more Zemantic graphs.

Catalog's are kept up to date with an event notification system.  When a 
Zemantic graph changes, the various catalogs that subscribe to that graph get 
updated with the changes.  What the catalog does with that notification is up 
to the application it is specific to, but most will probably use the info to 
update their indexes.

-Michel


More information about the Z3-zemantic mailing list