Semantic modeling with Drupal 8

The focus of the WissKI project was to combine the implementation of the common data storage of the Semantic Web in the form of triples with the functionality of Drupal. An obvious approach would be as Semantic Mediawiki pursues it: all individuals correspond to their own websites and all relations correspond to data fields. If one tries to implement this directly with Drupal, then individuals in Drupal correspond to the entities, concepts to the bundles and relations to the fields.

Due to the strong demands of ISO 21127 on a complex data graph, WissKI implements an even more complex approach. The integral component of the system is the so-called "Pathbuilder". He assists the system administrator in creating "paths" through the ontology. A path is a concatenation of n concepts and n-1 relations between the concepts. When storing data using a path, an individual is first created per concept. Subsequently, the resulting individuals are interconnected by the relations according to the guidelines of the path. At the end of such a path in WissKI is always a relation to a primitive data type in which the actual input is stored. To store multiple entries about the same subject, paths can be grouped into so-called groups. The group defines the common share of all its associated paths. The trivial case (groups and paths of length 1) corresponds directly to the implementation of OWL described above. However, it also allows the implementation of more complex modeling, as prescribed by CIDOC CRM. For the implementation in Drupal the Pathbuilder forms an intermediate layer between the Triplestore with the data stored there in Triples on the one hand and Drupal with the data storage based on Entity Types, Bundles, Entities and Fields on the other. It creates a mapping of groups and subgroups in the pathbuilder on bundles and referenced bundles in Drupal as well as paths to data fields. This mechanism hides the full complexity of the Semantic Web approach and CIDOC CRM from the actual user, who only has to fill in forms.
The system offers the possibility to load any OWL-based ontology. When creating paths based on ontology, the system can assist the administrator by calculating the concepts and relationships possible for each step (domain and range).