[Z3-zemantic] graph class and catalog interface
Michel Pelletier
michel at dialnetwork.com
Mon Mar 28 22:49:15 MEST 2005
Big changes coming soon for the 3.1 compatible release.
First, Dan and I are working to combine TripleStore and InformationStore into
one class called "Graph".
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". Both concepts are implemented by the same class.
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