We are interested in R&D knowledge graph databases capable of indexing multiple knowledge representations (polyglot) while supporting common query languages such as Gremlin and SPARQL
Hi Nicola, thank you for your answer. From my point of view, Virtuoso has a great RDF index scheme, which consists of 2 full indices over RDF quads and 3 partial indices. On the other hand, you would not have the means to optmize performance if you want to store another representation language (besides RDF), since there is no way of creating or integrating a new index schema. Moreover, Virtuoso supports SPARQL queries only. In this case, if you want to make queries just to traverse graphs filtering through node and edge types you would not have the expressivity and flexibility that Gremlin provides. Different mechanisms for indexing and querying are the main reasons we are interested in finding a polyglot knowledge base.
I definitely like Stardog’s architecture and concepts. It brings this idea of having virtual graphs where you can map your data into a Stardog database graph.
From their documentation: “Stardog rewrites (a portion of) SPARQL queries against the Stardog database into SQL, issues that SQL query to an RDBMS, and translates the SQL results into SPARQL results. Virtual Graphs can be used for mapping any tabular data, e.g. CSV, to RDF. Stardog also supports mapping NoSQL sources such as MongoDB or Cassandra to graphs, and in the future other semi-structured formats including XML, JSON and enterprise directory services.”
In this sense, I have some doubts if it provides full support to SPARQL 1.1.
They claim supporting Gremlin as a plugin, but I couldn't find how it would perform queries in multiple tipes of representations.
Its commercial license makes difficult to apply contributions to move forward with the state-of-the-art.
Also, I don't know if there is limitations regarding using only representations exchangeable with RDF because of their indexing strategy.
AWS Neptune supports storing, indexing, and querying using both SPARQL and Gremlin. However, it stores both the models in physically separate representations.
Furthermore, Apache TinkerPop also supports querying property graphs using both SPARQL and Gremlin (http://tinkerpop.apache.org/docs/current/reference/#sparql-gremlin) using the sparql-gremlin plugin. Find out more at http://harshthakkar.in/wp-content/uploads/2020/01/ICSC_2020_Resource_Thakker_Gremlinator_final.pdf and https://arxiv.org/pdf/1801.02911.pdf
Not sure about the polyglot nature but aws neptune supports querying knowledge graphs using both sparql and gremlin.
You may also be interested in apache tinkerpop which offers sparql querying of property graph-based KGs via a plugin ( https://tinkerpop.apache.org/docs/current/reference/#sparql-gremlin)