RE: properties as nodes etc.

> Heh - actually that isn't what I meant, but someone offlist 
> sent me skeleton
> code doing just that. Edge can be a subclass of Vertex, it'd 
> just have all
> the characteristics of a Vertex itself, as well as knowing 
> about two other
> vertices.

In fact, i tried to do this in my first implementation of an
RDF repository last year. But i quickly came back on my design
since it was too expensive.

I now figured out that this kind of graph representation was
cool enough for programmers to explore a graph. But that this
should be materialized as an upper system above a simple
ntuples repository and processor.

My actual implementation is centered around a Model interface.
The Engine interface enables to build models (Builder pattern).
You may ask it for a ModelBuilder or a FormulaBuilder.

My RDFXML, Triple and n3 parsers ask the main engine for a builder
in order to load models into it. This separates implementations of
syntaxes reading from implementations of engines.

My MemoryEngine when populating one of its builders create either
a MemoryModel or a RuleBasedModel (which i expect to derive soon
from MemoryModel for base facts).

All this is manageable via a MetadataService and MetadataInspector
concrete classes.

When you do a query to the MetadataInspector, it loads a formula
corresponding to the query. It then runs the 'no-conclusions' rules.
And returns a binding (a set of valuations eg.
((a=...; b=...) (a=...; b=...)) ) where values are QNames and not
concrete nodes!!!!

I even yet don't know if i still want a graph API above this.
Hoping it may help you.

The MemoryEngine is completely implemented
in PHP. I will soon extract make an implementation of Model based
on a relationnal db for it.

BTW: I'm looking for some people to make an implementation of an
Engine based on XSB. This is mainly a prolog (or flora which could
be really simpler or whatever) generation task as we allready have
a quite working PHP extension for XSB.

A+. Didier.

Received on Wednesday, 19 June 2002 04:24:26 UTC