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

