OntoGrapher

OntoGrapher is one software tool among many in a toolkit known as the Assembly Line, which serves as a software suite supporting creation, management, evaluation, and publishing of vocabularies - currently for, but not theoretically limited to, those vocabularies containing terms from a legal domain. In particular, OntoGrapher has the following goals:

Installation

Requirements
Instructions
  1. Download the repository of the demo.
  2. Download the latest version of graphDB server and put the .zip file into the ./graphdb/ directory.
  3. Make sure that the name of the .zip file corresponds with the GRAPHDB_ZIP argument in docker-compose.yml (line 22).
  4. Run "docker-compose up" in the root directory of the repository.
  5. Run the /graphdb/query.rq query (instructions) and import the /graphdb/data.jsonld (instructions) in the testOG repository from the GraphDB front-end at http://localhost:7201.
  6. The instance is available at http://localhost:8080/?workspace=https://slovník.gov.cz/datový/pracovní-prostor/pojem/metadatový-kontext/instance946326684.

Demo

Scenario
The premise of the demo is that we have been given a vocabulary of the terms of Czech Act 56/2001, an act for establishing the terms and conditions under which operation of vehicles on public roads is permitted. This vocabulary is incomplete, yet complex; we will use OntoGrapher to organize its visual representation in order to make understanding it simpler, and correct some mistakes, modifying the vocabulary itself as well as taking advantage of the search function to connect the vocabulary with other vocabularies of terms of Czech law.
Walk-through
When opening the demo for the first time, you will see a screen similar to this: OntoGrapher screenshot

The main area is called the canvas, where all the viewed terms and relationships are located. The left panel is where the currently managed vocabularies and terms are listed and can be filtered through various means. In between the menu panel and the canvas is the diagram panel - we will talk about in a moment. For now, let's take a look at the canvas.

As you may have already noticed, the canvas contains terms and relationships concerning road vehicles and their various conditions. The resulting graph is hard to visually process! First, the terms are all in Czech. To change this, use the select input on the top right and change it from "Čeština" (Czech) to English. The terms will change into English right away.

Second, the graph itself is rather complicated, with too many terms on the screen at once. One way of helping legibility is by switching to Compact view with the button in the top left corner of the screen. Doing so simplifies the Relationship types and aggregates Intrinsic Trope types in the related terms as to make the model easier to read. For now, let's switch back into the default Full view.

OntoGrapher allows you to manage your models more efficiently with diagrams - distinct "sections" of the entire model, containing some or all of the terms and relationships within.

For this example, we will create a new diagram containing just the vehicle terms. To do so, click the ➕ tab next to the "New Diagram" tab currently viewed. A new tab will be created, which we can click on to view the new diagram. Clicking on a selected diagram tab allows you to rename the diagram - let's call it "Vehicles".

The new diagram is empty, as we haven't put any terms in it yet. Notice how in the left panel, all of the terms have a crossed-out eye next to their name. That's because they aren't present in the currently viewed diagram. There are several ways with which we can add terms onto the canvas:

We can pick terms from the left panel and drag them onto the canvas with the mouse. Since we want to have all vehicle-related terms on the canvas, though, we can take advantage of multi-selection: search for "road vehicle" in the search bar, control+click on the terms to select them, then bring the terms over with the mouse. You can then arrange the terms in any way you desire.

We will demonstrate another way with a new diagram with the Road Vehicle term to start with. Whenever you click on a term, a panel on the right appears with details of the term you just clicked on. For now, let's look at the "Connections" section of the panel, which lists all relationships involving the term. We can use the 🔍 icon to filter through the list.

If we want to only see Intrinsic Trope Type terms in the list, we can select the stereotype from the "Any Type stereotype" select input. Then, we can select all the results with ✅ and arrange them onto the canvas with ➕. If we don't want to use these buttons, we can use the same dragging action used for the left panel here for any individual listing.

The "Terms outside the workspace" button at the bottom of the list is notable for a significant feature of OntoGrapher we will talk about next: searching through and using terms from cached vocabularies not present in the model. In this example, we can see that the Road vehicle term we are inspecting is a specialization of a Vehicle term in another vocabulary. We can bring over the term in the same dragging action as any other term.

Upon doing so, the term is initialized with a new background color - terms are color-coded according to the vocabulary they belong to. The left panel, accordingly, shows another vocabulary with the number of terms that vocabulary is represented with in the workspace.

There are several other ways with which we can bring over terms from other vocabularies:

However, we don't have to use just the terms that have already been created, we can create terms of our own. The list of vehicles is missing a Motorcycle term in order to be fully compliant with the definitions of the subject law. To create a term, use the right mouse button on the canvas. A modal dialogue will appear, requiring you to fill out the name of your new term.

We can then create a generalization relationship between the new term and the Road vehicle term: Click on the circular arrow icon with the orange background that is shown when hovering over the new term. All terms will turn orange to signify with which terms you can create a relationship with. Click on the Road vehicle term, which brings up a modal dialogue with which you can select the generalization relationship. The visual path of the relationship can then be modified by clicking on it and then dragging it to create various breakpoints.

For more information, visit the project website at https://data.gov.cz (in Czech).