This will delete the page "Graph Exploring Tool". Please be certain.
Virtual Knowledge Graph exploration tool built for use with a graph based on the FTG+PM concept. We add prefix translation for general concepts and the SDO2L vocabulary. The translated prefixes can be extended:
# Functions and services
[[prefixes]]
name = "dtf"
namespace = "https://ontology.rys.app/dt/function/"
# Generic
[[prefixes]]
name = "owl"
namespace = "http://www.w3.org/2002/07/owl#"
[[prefixes]]
name = "rdf"
namespace = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
[[prefixes]]
name = "xsd"
namespace = "http://www.w3.org/2001/XMLSchema#"
[[prefixes]]
name = "rdfs"
namespace = "http://www.w3.org/2000/01/rdf-schema#"
[[prefixes]]
name = "dc"
namespace = "http://purl.org/dc/elements/1.1/"
[[prefixes]]
name = "vim4"
namespace = "http://bipm.org/jcgm/vim4#"
[[prefixes]]
name = "swrl"
namespace = "http://www.w3.org/2003/11/swrl#"
# Digital Twin Design
## Drivetrain
[[prefixes]]
name = "dart"
namespace = "http://ua.be/drivetrain/description/artifacts/artifacts#"
[[prefixes]]
name = "dftg"
namespace = "http://ua.be/drivetrain/description/ftg#"
## SDO2L
[[prefixes]]
name = "acyclic"
namespace = "http://ua.be/sdo2l/vocabulary/base/acyclic#"
[[prefixes]]
name = "base"
namespace = "http://ua.be/sdo2l/vocabulary/base/base#"
[[prefixes]]
name = "file"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/file#"
[[prefixes]]
name = "ftg"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/ftg#"
[[prefixes]]
name = "traces"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/processtraces#"
[[prefixes]]
name = "shaclproperty"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/shaclproperty#"
[[prefixes]]
name = "system"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/system#"
[[prefixes]]
name = "violation"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/violation#"
[[prefixes]]
name = "code"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/code#"
[[prefixes]]
name = "component"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/component#"
[[prefixes]]
name = "csas"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/cs_as#"
[[prefixes]]
name = "dict"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/dict#"
[[prefixes]]
name = "drawio"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/drawio#"
[[prefixes]]
name = "object_diagram"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#"
[[prefixes]]
name = "pm"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/pm#"
[[prefixes]]
name = "requirement"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/requirement#"
[[prefixes]]
name = "richtext"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/richtext#"
[[prefixes]]
name = "script"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/script#"
[[prefixes]]
name = "tabular"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/tabular#"
[[prefixes]]
name = "text"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/text#"
[[prefixes]]
name = "traceability_model"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/traceability_model#"
[[prefixes]]
name = "xopp"
namespace = "http://ua.be/sdo2l/vocabulary/formalisms/xopp#"
[[prefixes]]
name = "federation"
namespace = "http://ua.be/sdo2l/vocabulary/federation#"
The Modifying settings section goes into more detail on this file.
This tool allows a user to explore the knowledge graph using predefined SPARQL queries. Therefore, SPARQL knowledge requirements are minimized while still allowing service invoking and data extraction.
If you are on Windows, you can download the binary at URL and run it by double-clicking it.
Note: You may need to install Python SSL certificates in case you encounter connection issues. You can do this by running pip install certifi. macOS users may need to install certificates directly from their Python installation directory. Search for Install Certificates.command.
We also provide the option to install the package from a repository. If this is your preferred method, please follow along.
pip install --index-url https://pip:glpat-m8mNfhxZAUnWvy7rLS1x@git.rys.one/api/v4/projects/264/packages/pypi/simple --no-deps graph-exploring-tool
To run the application, you can use python3 -m graph-exploring-tool.
For WSL check out: https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps
The Graph Exploring Tool (or GET) is a graphical application which allows you to explore the knowledge graph using SPARQL queries. We provide templates which allow for quick traversal of compliant knowledge graphs. The tool separates actions into multiple panels.
We propose a simple workflow: You open up the FTGPM++ (workflow diagram) and look at what is of interest to you. Let's say you are interested in finding all the individuals (or instances) of a certain type. You look at the Query Palette panel. You see the first option, which is what you need. Now you click on this (Find Individuals) button. Here you see that you need to specify two parameters.
The example assumes you want to find all Formalisms and their name.
At this point, you can execute the query by clicking the Query button.
The list of corresponding individuals will now be visible in the Results panel.
You can now use these results to further query the graph.
To give a concrete example, we follow a workflow for figuring out outliers in a CSV file created during the enactment process.
You start by opening the GUI.
You can then double-check the settings, like the endpoint.
If all settings are correct, you can proceed by choosing the Outlier Function in the Query Palette.
The Visual Query Editor will now have the following Query pre-set for you.
SELECT ?outlier ?outlier_relation ?outlier_value WHERE {
SERVICE <{{ service_endpoint }}> {
SELECT ?outlier ?outlier_relation ?outlier_value WHERE {
BIND(dtf:outlier("{{ outlier_file }}", "{{ outlier_column }}", "{{ outlier_artifact }}") AS ?outlier)
}
}
}
You don't need to understand the SPARQL query itself. What you are interested in are the fields below the Query.
http://127.0.0.1:8000/rotation.csv2<http://ua.be/drivetrain/description/artifacts/artifacts#drivetrain-sensor-data-v1>They are, in sequential order, the service, the file, the column, and the artifact URI.
The first field, http://127.0.0.1:8000/, is the URI to a (in this case local) service for outliers we provide.
Once you're satisfied with the fields you filled in you can gently press the Query button.
You should be greeted by a results resembling the following image.
Congratulations! You have successfully performed outlier detection on the enactment artifact.
All settings are stored in the data/configuration.toml file.
There isn't much of value for an end user to change.
The 4 settings available are:
endpoint_sparql: where to send the queries.example_prefix: the initial prefix shown in the interface.example_query: the initial query shown in the interface.prefixes which have a name and namespace: these are used for simplifying queries.You can add more templates by creating a .toml file under data/palette/.
Each template has required fields.
group: What group this template belongs to in the palette panel.name: A short identifier for the template.prefix list: A string containing the full prefix for the query.query template: The query itself. Placeholder can be defined between double curly brackets.description: A longer description for the template, which will be shown as the tooltip.visual_support is enabled: Deprecated. Always true.A list of replacements each having 3 fields: One needs to be defined for each placeholder in the query.
placeholder: Which placeholder gets replaced.suggestion: The initial value of the replacement.description: What should be put in the field.You need to restart the interface after you create a new file. The new template will now be available as a choice in the palette panel.
This will delete the page "Graph Exploring Tool". Please be certain.