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.