
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
@gaia-x/ontology
Advanced tools
This repository contains schema and documentation for developing compliant Gaia-X Credentials (formerly called Gaia-X Self-Descriptions / SDs).
Credentials ensure the fulfillment of the policies and rules agreed by the participants that decide to build a data ecosystem under the governance defined according to the Gaia-X Association.
To build and validate Credentials, the schema is made available through the Gaia-X Compliance Services.
Folders:
linkml: Gaia-X Ontology described by linkml. Ontology contains of a hierarchy of classes, called taxonomy and a set of attributes for each class. Attributes are encoded in YAML files.instances: Sample credentials in JSON-LD.toolchain: Scripts and unit tests for our CI/CD pipeline.deprecated: Files pending to convert to LinkML (eventually will be removed).Documentation for the Gaia-X Ontology can be found at https://w3id.org/gaia-x/.
The Gaia-X ontology has been built with extensibility and mass adoption in mind, so we aim to offer multiple ways of using and extending the ontology.
To broadcast the Gaia-X ontology schemas, we rely on the perma-id w3id.org project which allows to publish our schemas via a single HTTPS endpoint.
https://w3id.org/gaia-x/
If you resolve the above URL, it will guide you to the Gaia-X ontology documentation; but it has many more features when resolved with a few additional elements which are described in the following chapters.
All the following chapters use a URL with the https://w3id.org/gaia-x/{version}# pattern where {version} corresponds
to the version you wish to reference. Then the wanted content type can be specified through the HTTP Accept request
header.
⚠️ Please note that currently, only
developmentis available and it references our latest unstable development version.
The Gaia-X SHACL shapes can be retrieved with the following query:
GET /gaia-x/development# HTTP/1.1
Host: w3id.org
Accept: text/turtle
If you were to extend the Gaia-X SHACL shapes to add mygx:MyLegalPerson, a child of gx:LegalPerson, you could use
the following snippet:
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix gx: <https://w3id.org/gaia-x/development#> .
@prefix mygx: <https://my-gaia-x.eu#> .
gx:MyLegalPersonShape
a gx:LegalPerson ;
sh:closed true ;
sh:description "A custom definition of the Gaia-X LegalPerson" ;
sh:ignoredProperties ( rdf:type ) ;
sh:property [ sh:datatype xsd:string ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 0 ;
sh:path mygx:myAdditionalAttribute ] ;
sh:targetClass mygx:MyLegalPerson .
✋ We suggest you extends the Gaia-X ontology directly with LinkML as described in the Extending Through LinkML chapter.
The Gaia-X JSON-LD context can be retrieved with the following query:
GET /gaia-x/development# HTTP/1.1
Host: w3id.org
Accept: application/ld+json
Basing ourselves on the example of the SHACL Shapes chapter, a mygx:MyLegalPerson object would look
like the following example:
{
"@context": {
"gx": "https://w3id.org/gaia-x/development#",
"mygx": "https://my-gaia-x.eu#"
},
"@id": "https://my-gaia-x.eu/myLegalPerson",
"@type": "mygx:MyLegalPerson",
"mygx:myAdditionalAttribute": "Additional Attribute"
}
✋ We suggest you extends the Gaia-X ontology directly with LinkML as described in the Extending Through LinkML chapter.
The Gaia-X OWL ontology can be retrieved with the following query:
GET /gaia-x/development# HTTP/1.1
Host: w3id.org
Accept: application/rdf+xml
The best way to extend the Gaia-X ontology is to use
the powers of LinkML's import keyword.
In order to produce the same mygx:LegalPerson entity as the SHACL Shapes chapter, the following
LinkML snippet can be used:
id: https://my-gaia-x.eu#my-ontology
name: my-ontology
default_prefix: mygx
prefixes:
gaia-x: https://w3id.org/gaia-x/development/linkml/
mygx: https://my-gaia-x.eu#
imports:
- gaia-x:types
classes:
MyLegalPerson:
title: "My Legal Person"
is_a: LegalPerson
description: A custom definition of the Gaia-X LegalPerson
An NPM package is made available by this repository to allow developers to use Gaia-X entities, shapes and contexts in their JavaScript or TypeScript project.
You can find this package here 👉 https://www.npmjs.com/package/@gaia-x/ontology.
All you need to do is install the Gaia-X ontology NPM package with your favorite dependency management system.
# NPM
npm install --save @gaia-x/ontology
# Yarn
yarn add @gaia-x/ontology
As NPM package versioning is done with a <major>.<minor>.<patch> pattern, ontology versions cannot be used.
The below table explains version correspondence.
| Ontology version | NPM package version |
|---|---|
| 24.06 | 1.x.x |
These are the steps you should take if you want to collaborate in the development or maintenance of the working streams that are carried out in the group.
status:in_progress.At this point, you can get these artifacts in two main ways.
develop. This request (also any time you push new changes to your branch) will throw the CI/CD process, that will - among other tasks - generate a zip with these JSON, OWL and SHACL files.Once you got the shapes:
When you have all the work done:
Guidelines for merge into develop:
status:ready_for_approval will be approved and merged.PLEASE NOTE: The author, this means you, is responsible for propagating relevant changes back to other Gaia-X deliverables. This will not happen automatically or by any other member of the community.
These are the stages that will be executed during the continuous integration process:
Gaia-X ontology versions need to be easy to distinguish and reference. To do so, the context name contains the referenced version in its URI.
https://w3id.org/gaia-x/{version}#
For example, this is the URI of the 24.04 Gaia-X ontology namespace.
https://w3id.org/gaia-x/2404#
Please notice that the . in the version number has been removed for convenience and technical reasons in the URI.
For security reasons, only users with a minimum of Maintainer access level are allowed to create a new release of this project.
Releases are automatically created and published once a tag is created, to do so the following command can be used.
git checkout main
git tag -a v<YOUR_VERSION>
Tags must always be created from the main branch as it houses production ready code. YOUR_VERSION must be replaced
with the version you are releasing (ie. 22.10 for October 2022's specification version).
FAQs
The Gaia-X ontology package
We found that @gaia-x/ontology demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.