Description
We should be able to directly provide OWL ontology URLs to be used for the LDWizard class and predicate search (instead of needing to load them in a SPARQL or ElasticSearch)
This will greatly reduce the friction to start a LDWizard for a specific ontologyThis could be defined in the WizardAppConfig using the usual classConfig/predicateConfig:
classConfig: {
method: "local" as const,
endpoint: [ "https://url-to-owl-ontology-file.org" ]
},
The LDWizard would download all ontologies in the list, and load them in a in-memory triplestore that can be queried locally. There are a few solution for that
- Comunica
- Oxigraph (written in rust, compiled to webassembly, it will probably more efficient than comunica on larger dataset)
In my opinion SPARQL query can be nice to query structured data, but it's not really good to show you the closest match for a given string. If we can find a SPARQL engine that also have some capabilities to do "full-text search engine" that would be a perfect match. Otherwise there are a few options to easily setup a local search engine in JS: IndexedDB, orama...
It was also mentioned it would be nice to be able to configure the SPARQL queries that are performed to do the search. It could also be added easily to the class and predicateConfig