Open aaronAB1993 opened 4 years ago
Here are some points that already came up in previous discussions:
Advantages of OSP-core:
Ultimately RDF is just a data format (true?), whereas a CUDS object also has an API (get, add, etc.)
(to be completed. See here)
As I see it:
owlready is a tool to create and manipulate ontologies with python code. And you use it to store ontology compliant data in sqlite. And they also have a reasoner (hermit) built in. --> OSP core cannot manipulate the ontology. OSP core has the wrapper mechanism, that allows to connect any database and even simulation engines. The reasoner they ship takes hours on emmo - even without data.
neo4/neosemantics is a database, so in that sense more similar to SQL database. We could (and probably should) have a neo4j wrapper to store cuds objects in neo4j.
RDF is a data model, without api.
There is also OWLAPI and Apache Jena for java, in case someone wants compare osp-core with those. I think both of them are similar to owlready2.
See here a comparison between AiiDA and OSP-core (credit to @mathias-driesse): https://www.notion.so/Comparison-of-osp-and-AiiDA-c674c8f7040e46f49bf9dff2b3975760
I frequently asked myself in which sense osp-core is different to other (semantic) technologies out there. For example, neo4j + ontologies: here and here, RDF, etc.. It is a difficult topic to grasp and it takes quite some time to digest the small differences. In addition, it is hard to relate them to the big picture.
Those are discussions that pop up quite often, especially with externals or new team members (like me). It would be very beneficial for the whole project if we could refer to a documentation section where common similar applications are compared to osp-core (RDF, neo4j, ...). At the same time, we could point out the advantages of osp-core. Note that such a documentation should be "for dummies", i.e. we should keep it as easy as possible to follow.
A first step would be to gather all technologies that we consider "similar" and work out the differences. There was already a first try packed in an issue: https://github.com/simphony/osp-core/issues/332