-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integration with dictionaries #20
Comments
Some references I found:
|
I will try to clear things up based on my (limited) knowledge of the topic :) Let's start with Skosmos, which has been what it has been suggested as starting point to serve our dictionaries :) Skosmos provides a web interface and REST OpenAPI on top of a SPARQL endpoint serving vocabularies in the SKOS data model. The web interface is nice for the users (intuitive, multilingual support), the SPARQL is great for linked data, and the REST API is great to integrate the system from other systems (like a webpage for writing metadata with search/autocomplete functionality). Skosmos suggests to use Apache Fuseki to provide the SPARQL interface on top of RDF/SKOS vocabulary files, that are imported into a TDB database. Fuseki is suggested because it provides text indexing via Ideally, we would like to store vocabularies in a regular Postgres database, handled by the NINA catalogue as a Django app, so that it would be easier to enforce consistency for references and make the system easier to handle, instead of having to maintain a whole new set of applications built with an entirely different group of frameworks, programming languages and technologies.
Here is a map with all the possible connections for the various components and interfaces: graph TD;
oxigraph-->rocksdb;
sparql-->rdflib-endpoint-->rdflib;
rdflib-->BerkeleyDB;
rdflib-->memory;
rdflib-->oxigraph;
sparql-->oxigraph_server-->oxigraph;
sparql-->jena;
jena-->TDB;
jena-->SDB-->postgres;
rest-api-->skosmos-->sparql;
nina-catalogue-->rest-api;
sparql-->ontop-->postgres;
nina-catalogue-->rdflib-->rdflib-django3-->postgres;
This is my favourite architecture, that needs to be validated: graph TD;
nina-catalogue-->rdflib-->rdflib-django3-->postgres;
skosmos-->sparql-->rdflib-entrypoint-->rdflib;
|
Related: ontop/ontop#781 |
I'll run an experiment on the proposed architecture, few notes:
|
@mdsnor Should we set up Skosmos and use its API in the catalog, or should handle import the dictionaries? What is the use case there? Is there any common client to query vocabularies using standard interfaces?
The text was updated successfully, but these errors were encountered: