Tractus-X Knowledge Agents AAS Bridges (KA-AAS) is a product of the Catena-X Knowledge Agents Kit (about to move to: Tractus-X Knowledge Agents Kit). It implements bridging components between the Catena-X Association's CX-0084 (Federated Queries in Dataspaces) and Industrial Digitial Twin Association's AAS Part 1 & 2 (Asset Administration Sheel) standards.
- See the Authors
- See the Changelog
- See the Code of Conduct
- See the Contribution Guidelines
- See the License
- See the Notice on 3rd Party Software
- See this Readme
- See the Security Notice
This repository provides FOSS implementations for so-called bridging components between 'Knowledge Agents' and 'Asset Administration Shells'.
According to CX-0084, an "Agent" is a component that allows to represent and query a backend system ('source') using Semantic Web protocols (such as SPARQL).
According to AAS Part 1 & 2, an "Asset Administration Shell" (Server, Registry) is a component that allows to represent and query a source using a predefined REST Api.
Both Knowledge Agents as well as AAS components are expected to be compatible to the Tractus-X EDC connector.
Currently we provide the following bridge components:
- Knowledge Agents Sparql-To-AAS Bridge (KA-AAS-SPARQL) Implements an AAS server/AAS registry interface that is backed by a one or several agents. Using a templating approach, queries to the AAS API are translated into SPARQL queries. Changes in the (virtual) knowledge graph should be automatically reflected in changes to the resulting (virtual) AAS tree.
Included in this repository are ready-made Helm charts.
They can be installed from the Tractus-X Helm Repository (Stable Versions) or Tractus-X Helm Repository (Dev Versions).
To compile, package and containerize the binary artifacts (includes running the unit tests)
./mvnw package -Pwith-docker-image
To publish the binary artifacts (environment variables GITHUB_ACTOR and GITHUB_TOKEN must be set)
./mvnw -s settings.xml publish
To update the DEPENDENCIES declarations
./mvnw org.eclipse.dash:license-tool-plugin:license-check
Deployment can be done
- via JAR libraries copied into your Java runtime
- via Docker images
- via Helm Charts (Stable Versions) or Helm Charts (Dev Versions)
See the individual bridge documentations for more detailed deployment information
In order to run KA-RI applications via helm on your local machine, please make sure the following preconditions are met.
- Have a local Kubernetes runtime ready. We've tested this setup with KinD, but other runtimes such as Minikube may work as well, we just haven't tested them. All following instructions will assume KinD.
For the most bare-bones installation of the dataspace, execute the following commands in a shell:
kind create cluster -n ka --config kind.config.yaml
# the next step is specific to KinD and will be different for other Kubernetes runtimes!
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
# wait until the ingress controller is ready
kubectl wait --namespace ingress-nginx \
--for=condition=ready pod \
--selector=app.kubernetes.io/component=controller \
--timeout=90s
# transfer images
kind load docker-image docker.io/tractusx/aas-bridge:1.14.24-SNAPSHOT --name ka
# run container test
ct install --charts charts/aas-bridge