Yo,

> I'm simply confronted with the question 'why do you use such a graph
> model and not another one based on graph classes'?
> Hence, I'm gathering pros and cons for the 'property graph' model.
> Why is an interface like the one of Neo4j provided this way and not in
> another (e.g. using graph classes). Is there any design or architectural
> decision we don't know, yet?
> The longer I think the more I come to the conclusion that important
> points are: object-oriented representation of a network, and related
> with that, an 'external' representation of the graph structure that is
> not bound to a graph class managing the access to the graph structure
> and the data stored in properties.
> All other points like performance, or representation of the graph
> structure, seem to be equivalent to text-book graphs (directed,
> undirected, etc.), like you already stated out.

Ah. I remember now -- you are interested in vertex typing (classes). I read 
your paper on the topic.

Here are my thoughts on the matter. In the world of RDF (which is has nice 
clear separations), there is the data model (multi-relational graph), the 
schema language (RDF schema), and the ontology language (OWL). Mixing these 
layers into a single framework is deadly because you pigeonhole the 
interpretation of the graph. For example, if you are into classes and type 
hierarchies (and OO-based instantiations), then you are pigeonholing yourself 
into close-world semantics and a taxonomical mind-set. Thats great for you if 
you like that sort of thing---but what about others who wish, lets say to 
explore evidential logics in which such strongly typed models are not desired. 
This is also one of my problems with the RDF stack---while keeping the layers 
separate, RDF/RDFS/OWL is seen as the only layer. And frankly, description 
logics are not the only useful logics ( http://arxiv.org/abs/0905.3378 ). Now 
map that to what you are saying about property graphs and vertex typing.

A property graph is a multi-relational graph data model. You can build logic 
layers atop to implement your worldview as you see fit. It is the job of the 
database to persist the structure and make it fast to traverse/query. It is the 
job of the layers above to model and create meaning.

> Perhaps it is also a problem that the term 'property graph' isn't
> formally declared in some kind of scientific work and therefore widely
> unknown, isn't it?

Science is an industry claiming to be the ruler by which ideas are measured. 
Ideas do not need science. However, science needs ideas. Do not be sucked into 
the trap -- you will end up wearing a dusty suit, unhealthy, in some stodgy 
dinning hall at some conference talking to others who think publications make 
truth. And worst of all, you will be wearing a name tag.

Outz,
Marko.

http://markorodriguez.com
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to