Fragen? Jetzt Anruf vereinbaren!

Das VEC RDF Toolkit

Mit der Verfügbarkeit des VEC (Vehicle Electric Container) als OWL Ontologie ergeben sich vielfältige, neue Möglichkeiten zur Nutzung von Bordnetzdaten in der Praxis. Die VEC Ontologie ist die Grundlage, um Bordnetzdaten in Knowledge Graphen bzw. als Linked Data interoperable einzusetzen. Zudem erhält man dadurch Zugang zu den Technologien des Semantic Web Stacks.

Die VEC Ontologie alleine ist aber noch nicht ausreichend, wenn man loslegen möchte. Diese beschreibt ja „nur“ das Meta-Modell des VECs in geeigneter Form. Zusätzlich ist es notwendig, die Nutzdaten in einem RDF-kompatiblen Format vorliegen zu haben.

Liegen die Daten als RDF vor, bieten sich zwei sehr grundlegende Anwendungsfälle an:

  1. Die Durchführung von Analysen und Abfragen auf den Daten. Hierfür exisitiert die standardisierte Abfragesprache SPARQL.
  2. Die Überprüfung semantischer Regeln. Hierfür existiert die standardisierte Regelsprache SHACL.

Beides ist im XML-Stack des VEC nur mit hohem Aufwand, nicht standardisiert und/oder mit hoher Komplexität und schlechter Performance möglich (In der Vergangenheit gab es Experimente, dies etwa auf Basis von Schematron und XPath zu erreichen).

Beide Anwendungsfälle werden in Zukunft von der VEC Community genutzt, um eine Compliance Test Suite aufzubauen. Zielsetzung ist es, mit Hilfe von semantischen Regeln und Auswertungen die Interoperabilität verschiedener VEC Implementierungen zu verbessern, die Bildung von Dialekten zu vermeiden und die Verwendung der Erweiterungsmöglichkeiten zu VECs (z.B. custom properties) zu überprüfen.

Um die Compliance Test Suite in der Praxis möglichst schnell nutzbar zu machen, und um die Einstiegshürde in die Welt von Linked Data für die VEC Community zu senken, haben wir uns entschieden unser VEC RDF Toolkit öffentlich und kostenfrei zur Verfügung zu stellen. Es bietet momentan zwei Funktionen:

  1. Convert: Konvertierung von VEC XML Daten nach RDF.
  2. Validate: Ausführung von SHACL-Constraints und SPARQL-Queries auf VEC XML Daten (diese werden intern zuvor nach RDF konvertiert). Die Ergebnisse werden anschließend in einem Excel-Report zusammengefasst.

Funktionsweise

Beim VEC RDF Toolkit handelt es sich momentan um eine Java Anwendung für die Kommandozeile. Ein funktionsfähiges Java 21 JRE/JDK wird vorausgesetzt. Im Bedarfsfall kann ein solches bei Adoptium heruntergeladen werden. Eine Installation des Toolkits ist nicht notwendig aber eventuell müssen die mitgelieferten Startup-Skripte angepasst werden.

Der Toolkit Unterstützt derzeit die folgenden VEC Versionen:

Convert

Es erfolgt eine 1:1-Konvertierung VEC XML nach RDF. Das Ergebnis wird als Turtle-Datei gespeichert.Ein Hauptaspekt dabei ist die Generierung von URIs für RDF Ressourcen. In RDF erhält jedes Datenelement eine global eindeutige URI. Die Güte der verwendeten URIs bestimmte die Nutzbarkeit der Daten in einer verteilten Datenhaltung. Der VEC hat zwar mit Version 2.1 eine immutable-global-iri eingeführt, diese wird aber von existierenden Schnittstellen-Implementierungen noch nicht verwendet.

Aus diesem Grund müssen bei der Konvertierung passende URIs generiert werden. Die dabei verwendete Strategie ist denkbar einfach und für die vom VEC RDF Toolkit unterstützten Anwendungsfälle ausreichend. Der Konverter erhält bei der Ausführung einen Basis-Namespace als Parameter. Mit diesem Namespace, dem Namen der VEC-Datei und der XML-Id des jeweiligen Elements werden dann eindeutige URIs nach folgendem Schema gebildet:

{baseNameSpace}/{fileName-without-Extension}#{Vec-Class-Name}-{XML-ID}

Also beispielsweise: https://www.acme.inc/conversion/test/oldbeetle_vec113#PartOccurrence-id_partOccurrence_23864

Diese Strategie erlaubt es dem Konverter, URIs ohne jegliches Kontextwissen zu generieren und dabei die Integrität von Referenzen zu erhalten. Andere sinnvolle Eigenschaften von URIs wie die zeitliche Stabilität, oder dass das gleiche Element auch immer die gleiche URI erhält, unabhägig vom Datenaustausch, werden dadurch nicht erreicht. Für weiterführende Anwendungsfälle wie beispielsweise die Nutzung der Daten in einem verteilten Szenario wären fortgeschrittenere Strategien zu verwenden, die dann allerdings ein gewisses Kontextwissen erfordern.

Primitive Datentypen des VECs (z.B. NumericalValue oder LocalizedString) werden als Blank Nodes konvertiert und erhalten somit keine URI.

Validate

Die Validierung benötigt folgende Eingabe:

  1. Eine oder mehrere VEC XML Dateien (Wildcard-Patterns).
  2. Die VEC Ontologien und SHACL-Schemas, die für die VEC Version veröffentlicht sind (diese werden zusammen mit dem Toolkit bereit gestellt).
  3. Die Defintion einer Validierungssuite. Ein Beispiel für eine Suite-Definition sind die VEC Compliance Tests. Eine Validierungssuite besteht aus:
    1. einer allgemeinen Ontologie, die Ableitungen, Verallgemeinerungen u.ä. enthalten kann, um die Formulierung von Regeln und Abfragen zu erleichtern. Hierbei werden im Wesentlichen die Inferenzregeln aus RDFS unterstützt.
    2. Ein SHACL-Schema mit semantischen Regeln, die geprüft werden sollen.
    3. Ein Satz von SPARQL Queries, die für jede Datei ausgewertet werden sollen.
Abbildung: Workflow der Validierung

Abbildung: Workflow der Validierung

Der Ablauf der Validierung verläuft dann wie in der Abbildung dargestellt:

  1. On-The-Fly Konvertierung der VEC XML Daten nach RDF.
  2. Anwenden der Inferenz-Regeln der Ontologien der passenden VEC-Version und der Validierungs-Suite.
  3. Auswerten der SHACL-Regeln des VEC-Standards und der Validierungs-Suite.
  4. Auswerten der definierten Abfragen.
  5. Erzeugen eines Excel-Reports

Verwendung

usage: java -jar vecrdf-<version>.jar --command=<command> [--ns=<arg>] --source=<uri-pattern>
       [--suite=<path-to-validation-suite>]

The VEC RDF Toolkit is supposed to support the VEC community in the adoption of the VEC standard.
At the moment it supports two main use cases:
    CONVERT:  Conversion of existing VEC XML files into RDF conforming to the VEC ontology.
              The URI generation strategy applied is quite simple. For real world uses, more
              advanced strategies are required, to enable stable and consistent identification
              of resources across files.
    VALIDATE: Supports the validation & analysis of VEC XML files with RDF technology.
              This command supports the ECAD-IF compliance test suite. However, it be extend
              with your own queries and constraints.

    --command=<command>                  Chooses the command / action the VEC RDF Toolkit will
                                         execute. Possible values are: convert/validate
    --ns=<arg>                           The target namespace in which resources are created during
                                         conversion. default is https://www.example.com
    --source=<uri-pattern>               The files to be handled. This is can be a pattern, e.g.:
                                         'some-dir/**/*.vec'
    --suite=<path-to-validation-suite>   A path to a validation suite directory. Default is
                                         'compliance-suite' expecting a 'compliance-suite' directory
                                         in the current directory. A valid validation suite is
                                         required for validation.

Beispiel

Dieser Aufruf validiert alle VEC Dateien im Verzeichnis data und darunter mit der compliance test suite, die ins Verzeichnis ../path-to-suite entpackt wurde.

java -jar vecrdf-x.y.z.jar --command=validate --ns=https://www.4soft.de --source=data/**/*.vec --suite=../path-to-suite

Feedback

Für Fehlermeldungen, Anregungen oder Feature-Wünsche haben wir für den VEC RDF Toolkit ein öffentliches Github-Repository eingrichtet. Nutzen sie bitte das Issue-Management dort. Sollten Sie andere Wünsche haben bspw. wie man diese Technologie in Ihren Anwendungsfällen einsetzen kann, kontaktieren Sie uns gerne direkt.

Disclaimer & Download

Die Software darf gemäß den Lizenzbedingungen nur zu Evaluierungs-, Test- oder Schulungszwecken verwendet werden.

Der Einsatz in Produktionsumgebungen, insbesondere für betriebliche Zwecke oder für die Verarbeitung von Produktionsdaten innerhalb von Workflows, ist die Nutzung ausdrücklich untersagt. Die Verarbeitung von Echtdaten ist zu Evaluierungszwecken erlaubt, sofern die Software nicht für den produktiven Betrieb eingesetzt wird.

Wenn Sie Lösungen für diese Anwendungsfälle benötigen, kontaktieren Sie uns bitte per E-Mail unter info@4soft.de.

Johannes Becker

Johannes Becker

Managing Consultant

+49 89 5307 44-523

becker@4soft.de