Developers

Website open data API

The ALISE website publishes its knowledge graph as open data: every component, framework layer, capability, industry and article, and how they relate. Read it as JSON, download it as RDF (Turtle, JSON-LD) or query it with SPARQL.

Base URLhttps://alise.systems

Overview

  • Base URL: https://alise.systems. All endpoints are read only.
  • No authentication and no API key. Please keep requests reasonable; there is no rate limit yet.
  • Format: JSON in UTF-8 unless an endpoint says otherwise. Field names are stable; new fields may be added, so ignore fields you do not know.
  • CORS: every /api/ endpoint can be called from any website (Access-Control-Allow-Origin: *).
  • Caching: graph responses may be cached for 5 minutes (Cache-Control: max-age=300).

Languages

Labels and descriptions exist in English (en), German (de) and French (fr). Choose one with the lang query parameter or the standard Accept-Language header. Without either, the answer is in English. Texts that have no translation fall back to English.

curl -s "https://alise.systems/api/concept/leto?lang=de"
curl -s -H "Accept-Language: fr" "https://alise.systems/api/concept/leto"

Identifiers

Every resource has a short id (leto, layer-integration, blog:json-api-documentation) and a full IRI (https://w3.alise.systems/id/leto). Ids are used in URLs of this API and of the website (/concept/leto). In SPARQL these prefixes are predeclared:

Prefix Namespace
alise: https://w3.alise.systems/ontology# (types and relations)
id: https://w3.alise.systems/id/ (resources)
schema: https://schema.org/
rdf:, rdfs:, owl:, xsd: the W3C standard vocabularies

Errors

Errors use the HTTP status code and a JSON body.

Status Meaning
400 The request is invalid, for example a SPARQL syntax error. The body has an error message.
404 There is no resource with this id.
5xx Something failed on our side. Try again later.
{ "error": "Lexical error at line 1, column 7.  Encountered: ' ' (32), after prefix \"SELEKT\"" }

Knowledge graph

Get the graph

Nodes, relations and node types, ready for a graph visualisation.

GET /api/graph

Returns all resources of the knowledge graph as nodes, the relations between them as links and the types that occur. With focus, only the neighbourhood of one node is returned. This is what the graph explorer on this site uses.

Parameters

focus string query

Id of a node. Only nodes within depth relations of it are returned.

depth integer query default 2

With focus: how many relations away from the focus node to include, 1 to 4.

articles boolean query default true

Include blog articles as nodes.

lang string query default en

Language of labels and descriptions: en, de or fr.

Response application/json

nodes[] array

Resources: id, label, type and typeLabel, color, icon, description, url (page on this site) and degree (number of relations).

links[] array

Relations: source and target (node ids), predicate (relation id) and label.

types[] array

Node types that occur: id, label, color, icon, order and count.

curl -s -G "https://alise.systems/api/graph" \
  --data-urlencode 'focus=charon' \
  --data-urlencode 'depth=1' \
  --data-urlencode 'articles=false'
Try it
Response exampleapplication/json
{
  "nodes": [
    {
      "id": "charon",
      "label": "CHARON",
      "type": "Component",
      "typeLabel": "Component",
      "color": "#4f7bff",
      "icon": "sync",
      "description": "The Independent Data Synchronizer. It operates autonomously …",
      "url": "/concept/charon",
      "degree": 4
    },
    …
  ],
  "links": [
    { "source": "charon", "target": "leto", "predicate": "synchronizes", "label": "synchronizes with" },
    …
  ],
  "types": [
    { "id": "Component", "label": "Component", "color": "#4f7bff", "icon": "cpu", "order": 2, "count": 1 },
    …
  ]
}

Get a concept

One resource with all its relations, in both directions.

GET /api/concept/{id}

Returns one concept of the graph (a component, layer, capability, service, industry, system category or topic) with its outgoing and incoming relations and the articles about it. Articles themselves are not concepts; read them with Get the graph.

Parameters

id string path required

Id of the concept, for example leto, layer-integration or industry-biotech.

lang string query default en

Language of labels and descriptions: en, de or fr.

Response application/json

node object

The concept, with the same fields as a node of the graph.

iri string

Full IRI of the concept.

outgoing[] array

Relations from this concept: predicate, label and the node on the other side.

incoming[] array

Relations to this concept, in the same form.

includes[] array

For services: what the service includes.

articles[] array

Blog articles about this concept, as nodes.

Errors

404

No concept with this id.

curl -s "https://alise.systems/api/concept/charon"
Try it
Response exampleapplication/json
{
  "node": { "id": "charon", "label": "CHARON", "type": "Component", … },
  "iri": "https://w3.alise.systems/id/charon",
  "outgoing": [
    {
      "predicate": "provides",
      "label": "provides",
      "node": { "id": "data-sync", "label": "Data synchronization", "type": "Capability", … }
    },
    …
  ],
  "incoming": [ … ],
  "includes": [],
  "articles": []
}

Download as Turtle

The complete graph as RDF in Turtle syntax.

GET /api/graph.ttl

The whole knowledge graph, including all languages and the blog articles, as RDF in Turtle. Load it into any RDF store or library (Apache Jena, rdflib, RDF4J …).

Response text/turtle

curl -s "https://alise.systems/api/graph.ttl"
Try it
Response exampletext/turtle
PREFIX alise:  <https://w3.alise.systems/ontology#>
PREFIX id:     <https://w3.alise.systems/id/>
PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>
…
id:charon  rdf:type  alise:Component;
        rdfs:label         "CHARON";
        alise:synchronizes id:leto;
        …

Download as JSON-LD

The complete graph as RDF in JSON-LD.

GET /api/graph.jsonld

The same RDF graph as JSON-LD, for tools that prefer JSON.

Response application/ld+json

curl -s "https://alise.systems/api/graph.jsonld"
Try it
Response exampleapplication/ld+json
{
  "@graph": [
    {
      "@id": "alise:Topic",
      "rdfs:label": [
        { "@language": "fr", "@value": "Sujet" },
        …
      ]
    },
    …
  ]
}

Query

Run a SPARQL query

Ask the knowledge graph anything, in the standard query language of RDF.

GET /api/sparql

Runs a read only SPARQL 1.1 query: SELECT, ASK, CONSTRUCT or DESCRIBE. The prefixes listed under Identifiers are predeclared. At most 1000 rows are returned and a query may run for 5 seconds. Try queries interactively in the SPARQL playground.

Long queries can also be sent as POST, either form encoded (query=…) or as the request body with Content-Type: application/sparql-query.

Parameters

query string query required

The SPARQL query, at most 5000 characters.

Response application/json

kind string

SELECT, ASK, CONSTRUCT or DESCRIBE.

vars[] array

Column names. For CONSTRUCT and DESCRIBE: subject, predicate, object.

rows[] array

One object per result row, keyed by column name. IRIs are shortened with the prefixes (id:leto); language tagged texts end with @de.

ask boolean

The answer of an ASK query, otherwise null.

elapsedMs integer

Time the query took.

truncated boolean

true when the result had more than 1000 rows and was cut.

Errors

400

Syntax error, unsupported query (updates are not allowed) or query too long. error explains why.

curl -s -G "https://alise.systems/api/sparql" \
  --data-urlencode 'query=SELECT ?component ?label WHERE { ?component a alise:Component ; rdfs:label ?label } ORDER BY ?label'
Try it
Response exampleapplication/json
{
  "kind": "SELECT",
  "vars": ["component", "label"],
  "rows": [
    { "component": "id:aglaia", "label": "AGLAIA" },
    { "component": "id:charon", "label": "CHARON" },
    { "component": "id:hephaistos", "label": "HEPHAISTOS" },
    { "component": "id:leto", "label": "LETO" }
  ],
  "ask": null,
  "elapsedMs": 12,
  "truncated": false
}

Feeds and status

Blog feed

The latest 30 articles as RSS 2.0.

GET /blog/feed.xml

Subscribe in a feed reader or poll it to show the latest articles elsewhere.

Response application/rss+xml

curl -s "https://alise.systems/blog/feed.xml"
Try it
Response exampleapplication/rss+xml
<rss version="2.0">
<channel>
<title>ALISE.Systems Blog</title>
<item><title>Your Organization Is Using AI. Here Are 10 Things to Check …</title>
      <link>https://w3.alise.systems/blog/your-organization-is-using-ai-…</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate> … </item>
…

Sitemap

Every page of the site, for search engines and crawlers.

GET /sitemap.xml

Response application/xml

curl -s "https://alise.systems/sitemap.xml"
Try it
Response exampleapplication/xml
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://w3.alise.systems/</loc></url>
  <url><loc>https://w3.alise.systems/concept/leto</loc></url>
  …

Health

Whether the site is up, for monitoring.

GET /actuator/health

Response application/json

curl -s "https://alise.systems/actuator/health"
Try it
Response exampleapplication/json
{ "status": "UP", "groups": ["liveness", "readiness"] }

Cookie-Einstellungen

Wählen Sie, welche optionalen Technologien verwendet werden dürfen. Sie können diese Einstellungen jederzeit ändern.