This repository hosts semantic models and tools with a focus on self-description and catalogue capabilities of the Catena-X Knowledge Agents Kit (about to move to: Tractus-X Knowledge Agents Kit) KIT with a special attention on Automotive Supply Chains.
They may be used in conjunction with the Tractus-X Extensions for the Eclipse Dataspace Components and Tractus-X Binding Agent Implementations for dataspace-wide validation, discovery, type inference and binding definitions.
- See the authors file
- See the license file
- See the code of conduct
- See the contribution guidelines
- See this README
- See this Maven Manifest
- See this Maven Repository Settings
- See this README
- See the dependencies and their licenses
- See the Security disclaimer
The Catena-X Ontology and its initial Catena-X Taxonomy is not aimed at being a world model. Instead it is aimed as an integrative framework with a focus on Automotive Manufacturing.
Therefore, our focus lies on defining practical domain/use case ontology files (and tools to process/merge them into broader contexts). Each domain ontology file is written in a format named Turtle (TTL).
Following the Resource Description Framework (RDF), these files defines
- semantic concepts (classes of entities/nodes, where a node can have multiple classes)
- properties (attributes of entities using primitive node types) and
- relations/predicates (which are links between nodes where the source node is called subject and the target node is called the object)
All definitions in a file should belong to the same namespace (which is the technical key of the domain) and should be using a common nickname (prefix) that is also the name of the file. Each commit/branch/release tag coincides with a version of the respective ontology. Therefore, namespaces and versions are different types of IRIs, the former being represented by URNs the latter by URLs.
Domain ontologies can refer to concepts of other domains/prefixes by importing concrete versions. Relations are usually defined in those concepts/domain which cannot exist without the relation.
- Catena-X Merged Ontology
- Catena-X Taxonomy
- Catena-X Domain Ontologies
- Modelling Documentation
- Ontology Tools
- Ontology Tools (Python)
- Example Data Bindings
- Catena-X Use Case Ontologies
A suitable conda environment named knowledgeagents
can be created
and activated with:
conda env create -f environment.yaml
conda activate knowledgeagents
Creating a new ontology excel source can be done by invoking
python
>>> import ontology_tools.create_ontology as co
>>> co.create_ontology_table('test','Schorsch','1.0.0')
Creating a merged ontology out of several domain ontologies may be done by invoking
python -m ontology_tools.merge_ontology ontology/*_ontology.ttl
Creating a new use case excel source can be done by invoking
python
>>> import ontology_tools.create_use_case as cu
>>> cu.create_use_case_template('behaviour_twin')
The excel template can then be edited to annotate the required classes, attributes and relations by the stakeholders of the use case.
Deriving a new use case ontology can then be done
python
>>> import ontology_tools.create_use_case as cu
>>> cu.create_use_case_ontology('behaviour_twin')