Created on Jan. 20, 2013, 11:38 p.m. by antonkulaga
& updated on Jan. 21, 2013, 12:31 a.m. by Hevok
I propose to use hypergraphs with hybgrid schema mode. OrientDB may be used as database here because it is simple and optimized for graph traversals.
¶ It is really a challenge to create good ontoloty at once. In many sciences there are different alternative classifications that intersect and may be suitable for different purposes. So the best choice is to allow having multiple ontologies and belonging to different classes.
¶ In order to do this we may use so called "duck typing". We may have several ontologies for any domain. Each class of the ontology is represented as a node containing names of the properties and conditions they must satisfy (i.e. according to ontology "vechicles" class car must have mandatory string property name, relationships to engine, wheels etc,) In order to say that this object is of "class A' and 'class B' we just load with class description, see its demands. And if the node satisfy them, we may say that this hypernode belongs to the specified class.
¶ Of course it is computationaly intensive to make such evaluations every time, that's why we may store inside the hypernode references to the classes and ontologies it belongs to and make evaluations only on some specified events (like manual assigment, property delition, etc.)
¶ Ontologies can be stored and edited like ordinary hypernodes but with more with more stringent rules for editing.