simphony-osp icon indicating copy to clipboard operation
simphony-osp copied to clipboard

Implement a neosemantics wrapper

Open urbanmatthias opened this issue 5 years ago • 13 comments

Neo4j recently presented neosemantics which is a project to store rdf data in an efficient manner in neo4j. This might be a better way to store CUDS objects compared to SQL databases.

This could improve export and import to rdf needed for #297

@aaronAB1993 @yoavnash anything missing?

urbanmatthias avatar Aug 12 '20 13:08 urbanmatthias

Did you find any information concerning its capabilities of exporting to RDF/OWL?

yoavnash avatar Aug 12 '20 14:08 yoavnash

https://neo4j.com/docs/labs/nsmntx/current/export/

urbanmatthias avatar Aug 13 '20 06:08 urbanmatthias

I guess to export everything, one would need to use the export by CIPHER method with a CIPHER query that selects every resource.

urbanmatthias avatar Aug 13 '20 06:08 urbanmatthias

Would it be too much work to test the export time of both neosemantics and a triple-store SQL-database?

yoavnash avatar Aug 13 '20 09:08 yoavnash

You mean without a wrapper? Does it make sense to compare SQL and Neosemantics only in terms of rdf-export? I think neo4j will be definitely better when it comes to complex queries, where the sql table would need to do a lot of self-joins.

urbanmatthias avatar Aug 13 '20 11:08 urbanmatthias

The export is planned to be done directly on the DB, correct? or are you planning to convert first to CUDS?

yoavnash avatar Aug 13 '20 12:08 yoavnash

No ideally we skip the conversion to cuds here

urbanmatthias avatar Aug 13 '20 12:08 urbanmatthias

Sorry, I misread before. In that case, comparing without a wrapper would make sense I would say, but you asked about other aspects. For queries, are we going to query directly the DB? if so, then wouldn't we be bypassing the semantic layer? if not, then should we even consider querying?

yoavnash avatar Aug 13 '20 12:08 yoavnash

In second thought, for implementing the search methods and get_by_oclass it might make a big difference.

yoavnash avatar Aug 13 '20 12:08 yoavnash

I think the speed of RDF export is one of the least important aspects when it comes to the choice of your database backend

urbanmatthias avatar Aug 13 '20 13:08 urbanmatthias

Update: With the new TriplestoreWrapperSession, this should be very simple. We could use the AllegroGraphSession as an example.

urbanmatthias avatar Mar 17 '21 07:03 urbanmatthias

We could keep that in mind for a HiWi task. Maybe we should tag as such? (e.g. "Possible HiWI task")

yoavnash avatar Mar 17 '21 09:03 yoavnash

I just did

urbanmatthias avatar Mar 17 '21 09:03 urbanmatthias