Editing forms based on RDF/OWL classes?


I have an OWL ontology used as a TBox model uploaded on my Virtuoso (open source edition) and I want to build CRUD (create-retrieve-update-delete) forms upon my classes defined in the TBox. For example, for classes “Student” and “Teacher” I would like to create two forms allowing me to create-retrieve-update-delete their instances (and of course their property values) using a simple User Interface (UI).

If nobody could suggest a solution working out of the box, I was thinking that perhaps I could use a data access library for virtuoso (e.g. ADO NET/Entity Framework or JDBC/Hibernate) to get my RDF/OWL classes as entities, and then use .NET or Java based Rapid Application Development (RAD) frameworks based on the produced entities. I have seen similar approaches on relevant (quite outdated) tutorial1 and tutorial2

My questions:

  1. Could anyone propose a specific software stack following this rationale of Domain Driven Development (DDD) upon RDF/OWL classes?
  2. I can only find examples using rather old versions of Visual Studio. Are the ADO NET and JDBCconnectors stable and updated? Can they be used with recent versions of .NET/java development stack?
    3.Is my assumption (i.e. that I could produce .NET or Java entities corresponding to my RDF/OWL classes via ADO NET or Hibernate) valid?


We do provide a Generic RDF Editor for CRUD operations called the OpenLink Structured Data Editor (OSDE). I would make this your first point of call.



We have a currently academic product OBIS (Ontology-based information system) that allows doing exactly this. Should you be interested, we might help with the set-up as well as using the tool.


Thank you very much for the information. I really appreciate it.

I will evaluate the OSDE option first and if this doesn’t work I will also check on OBIS.

However, I would still kindly request information regarding the ability to create a domain model out of my ontology using Hibernate, Entity Framework or something similar.


hi @patsiavas ,

you are hitting an important general topic of semantic web…
open world vs. closed world assumption, see this excellent description of the distinction between those two [1].
in any case semantic web is following the open world assumption with some subtle differences re. this matter. actually it is impossible to create a form based on an ontology due to the following difference:

  1. relational: a person must be described using a value for givenName
  2. semantic: anything that is described using a givenName can be seen as a person

this “gap” within the realm of the semantic web was targeted by SHACL [1]. With a SHACL shape you can actually define how an entity must be described (see 1. above). checkout the SHACL Use Cases page, section UC11 [3] re. UI contraints.
you would then create your forms based on SHACL shapes, defining all requirements for a happy entity description of whatever kind…

play: http://shacl.org/playground/

kr turnguard

[1] http://spinrdf.org/shacl-and-owl.html
[2] https://www.w3.org/TR/shacl/
[3] https://www.w3.org/TR/shacl-ucr/#uc11:-model-driven-ui-constraints