3

Situation

We have research projects that involve generating and curating Linked Open Data.

We used to have the ontology and instance data as a collection of Turtle or N-Triples files in a Git Repository, perform all changes there and regularly export it to a Virtuoso SPARQL endpoint as read-only data for queries and other applications.

Goal

However the domain experts are not necessarily experienced in Semantic Web techniques and prefer a web application to add or modify instances of the classes of an ontology.

When a user creates a new instance of a class, the software should present all required properties and show all valid values as combo boxes.

Properties for an instance of a class should be taken out of the ontology, both optional (rdfs:domain and rdfs:range) and obligatory ones (OWL restrictions).

For example, a new instance of "Human" should have exactly one required value for the datatype property foaf:name and exactly one required value for each of the object properties example:mother and example:father.

Known Candidates

OntoWiki

The idea behind the OntoWiki is almost exactly what we are looking for. However it is not maintained anymore and does not support our newer Virtuoso versions due to ODBC driver issues, which we were not able to fix. Also there were performance problems. Furthermore, it does not seem to support new instances with properties and value candidates based on the ontology and existing instances.

Semantic Media Wiki

We installed the Semantic Media Wiki locally, which seems well maintained, documented and supported, but its focus seems to be on text, with articles as the basic unit and the Linked Data as additional annotations. Also, we set it up with an SQL database.

Is it possible and reasonable to use the Semantic Media Wiki as a pure Linked Data wiki powered by a Virtuoso SPARQL endpoint with RDF resources as the basic editing unit and without using the text features? Is it possible to support users creating instances based on our ontology?

Or is there another application that fits our requirements?

It should run on a Ubuntu server, preferably as a docker container and should have fast response times when using 1 CPU core, 1 GB of RAM and around 10 GB of disk space.

3

Not sure if this is still an open question, but TerminusDB might be worth considering. It meets most of the requirements you set and has a console that allows domain experts to easily interact with the software. It also gives you versioning out of the box, so you can time travel to any point in the history of the database, which may be useful in the application you are building.

TerminusDB is also about to launch a collaborative hub to allow remote collaboration on this type of linked data project. You can work on the same asset at the same time as a colleague and then sync the changes.

It ships as a docker container and is in-memory so will have super fast response times in your setup.

| improve this answer | |
  • 1
    That is a great suggestion and seems to be really now so I didn't even knew it existed, thanks, I will try it out! – Konrad Höffner Jul 20 at 14:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.