diff --git a/.github/workflows/backend-ci.yml b/.github/workflows/backend-ci.yml
index 1292b7a9..482fd7b9 100644
--- a/.github/workflows/backend-ci.yml
+++ b/.github/workflows/backend-ci.yml
@@ -42,6 +42,10 @@ jobs:
run: mvn -B test
- name: Integration tests
run: mvn -B verify
+ - name: Export OpenAPI spec
+ run: mvn -B -Dopenapi.export=true -Dtest=OpenApiSpecExportTest -DfailIfNoTests=false test
+ - name: Verify committed OpenAPI spec is up to date
+ run: git diff --exit-code -- ../frontend/openapi.json
- name: Update third-party licenses (Renovate PRs only)
if: >
github.event_name == 'pull_request' &&
diff --git a/.github/workflows/frontend-ci.yml b/.github/workflows/frontend-ci.yml
index f2677bc1..c4ad1d73 100644
--- a/.github/workflows/frontend-ci.yml
+++ b/.github/workflows/frontend-ci.yml
@@ -37,6 +37,8 @@ jobs:
echo "PUBLIC_REPOSITORY_URL=https://github.com/${GITHUB_REPOSITORY}" >> "$GITHUB_ENV"
- name: Clean install
run: npm run clean-install
+ - name: Generate API client
+ run: npm run api:generate
- name: Update third party licenses (Renovate PRs only)
if: >
github.event_name == 'pull_request' &&
diff --git a/.github/workflows/publish-test-images.yml b/.github/workflows/publish-test-images.yml
index b17602b4..81480de5 100644
--- a/.github/workflows/publish-test-images.yml
+++ b/.github/workflows/publish-test-images.yml
@@ -30,6 +30,8 @@ jobs:
echo "PUBLIC_REPOSITORY_URL=https://github.com/${GITHUB_REPOSITORY}" >> "$GITHUB_ENV"
- name: Clean install
run: npm run clean-install
+ - name: Generate API client
+ run: npm run api:generate
- name: Build
env:
PUBLIC_APP_VERSION: ${{ env.APP_VERSION }}
diff --git a/README.md b/README.md
index 22f6f8d6..7b932415 100644
--- a/README.md
+++ b/README.md
@@ -121,6 +121,35 @@ When the backend is running, Swagger UI is available at:
- `http://localhost:8080/swagger-ui.html`
+### Generated frontend API client
+
+The frontend calls the backend through a typed client generated by
+[`@hey-api/openapi-ts`](https://heyapi.dev/) from the backend's OpenAPI spec. To keep CI and
+Docker builds independent of a running backend, the spec is committed as a contract at
+`frontend/openapi.json` and the client (`frontend/src/lib/api/generated`, git-ignored) is
+generated from it:
+
+```bash
+cd frontend
+npm run api:generate # writes src/lib/api/generated from ./openapi.json
+```
+
+When backend routes or DTOs change, regenerate and commit the contract from the backend module:
+
+```bash
+cd backend
+mvn -B -Dopenapi.export=true -Dtest=OpenApiSpecExportTest -DfailIfNoTests=false test
+# writes ../frontend/openapi.json - commit the result
+```
+
+Backend CI runs the same export and fails if `frontend/openapi.json` is out of date, so the
+committed contract can never drift from the controllers. To regenerate the client against a
+live backend instead of the committed file, set `OPENAPI_INPUT`:
+
+```bash
+OPENAPI_INPUT=http://localhost:8080/v3/api-docs npm run api:generate
+```
+
## Development Workflows
### Backend
@@ -138,6 +167,7 @@ mvn -B verify
```bash
cd frontend
npm run clean-install
+npm run api:generate
npm run test
npm run lint
npm run build
diff --git a/backend/src/test/java/org/rdfarchitect/api/OpenApiSpecExportTest.java b/backend/src/test/java/org/rdfarchitect/api/OpenApiSpecExportTest.java
new file mode 100644
index 00000000..4a317ef2
--- /dev/null
+++ b/backend/src/test/java/org/rdfarchitect/api/OpenApiSpecExportTest.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2024-2026 SOPTIM AG
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.rdfarchitect.api;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.core.util.DefaultIndenter;
+import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.web.servlet.MockMvc;
+import org.springframework.web.context.WebApplicationContext;
+
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Exports the springdoc OpenAPI document to a deterministic JSON file so the frontend can generate
+ * its API client offline (in CI and in Docker) without a running backend.
+ *
+ *
Disabled by default; enabled with {@code -Dopenapi.export=true}. The output path defaults to
+ * {@code ../frontend/openapi.json} (relative to the backend module) and can be overridden with
+ * {@code -Dopenapi.export.path=...}. Backend CI runs this and diffs the result so the committed
+ * spec can never drift from the controllers.
+ *
+ *
Uses the default (mock) web environment and builds {@link MockMvc} from the context, matching
+ * the other {@code @SpringBootTest}s. A real server environment is avoided on purpose: it would
+ * start the embedded container and eagerly instantiate {@code @ServletComponentScan} components.
+ */
+@SpringBootTest
+@EnabledIfSystemProperty(named = "openapi.export", matches = "true")
+class OpenApiSpecExportTest {
+
+ private static final String DEFAULT_OUTPUT_PATH = "../frontend/openapi.json";
+
+ @Autowired private WebApplicationContext webApplicationContext;
+
+ @Test
+ void exportsOpenApiSpec() throws Exception {
+ MockMvc mockMvc = webAppContextSetup(webApplicationContext).build();
+
+ String rawSpec =
+ mockMvc.perform(get("/v3/api-docs"))
+ .andExpect(status().isOk())
+ .andReturn()
+ .getResponse()
+ .getContentAsString(StandardCharsets.UTF_8);
+
+ assertThat(rawSpec).contains("\"openapi\"");
+
+ String formattedSpec = formatDeterministically(rawSpec);
+
+ Path target = Path.of(System.getProperty("openapi.export.path", DEFAULT_OUTPUT_PATH));
+ Path parent = target.toAbsolutePath().normalize().getParent();
+ if (parent != null) {
+ Files.createDirectories(parent);
+ }
+ Files.writeString(target, formattedSpec, StandardCharsets.UTF_8);
+ }
+
+ /**
+ * Re-serializes the spec with sorted keys and a fixed {@code \n} indenter so the output is
+ * stable across runs and operating systems. The {@code servers} entry is dropped because it
+ * reflects the request URL and is overridden at runtime by the frontend client ({@code
+ * src/lib/api/hey-api.ts}); keeping it adds no value to the committed contract.
+ */
+ private static String formatDeterministically(String rawSpec) throws Exception {
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.enable(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS);
+
+ DefaultIndenter indenter = new DefaultIndenter(" ", "\n");
+ DefaultPrettyPrinter printer = new DefaultPrettyPrinter();
+ printer.indentObjectsWith(indenter);
+ printer.indentArraysWith(indenter);
+
+ Map spec = mapper.readValue(rawSpec, new TypeReference<>() {});
+ spec.remove("servers");
+ sortRequiredArrays(spec);
+ return mapper.writer(printer).writeValueAsString(spec) + "\n";
+ }
+
+ /**
+ * Sorts every {@code required} string array in the document. springdoc derives this list from
+ * field reflection, whose order is not guaranteed across JVMs; {@code required} is an unordered
+ * set in OpenAPI, so sorting it makes the committed contract robust against that variance.
+ */
+ private static void sortRequiredArrays(Object node) {
+ if (node instanceof Map, ?> map) {
+ Object required = map.get("required");
+ if (required instanceof List> values
+ && values.stream().allMatch(String.class::isInstance)) {
+ List sorted = values.stream().map(String.class::cast).sorted().toList();
+ @SuppressWarnings("unchecked")
+ Map writableMap = (Map) map;
+ writableMap.put("required", sorted);
+ }
+ map.values().forEach(OpenApiSpecExportTest::sortRequiredArrays);
+ } else if (node instanceof List> values) {
+ values.forEach(OpenApiSpecExportTest::sortRequiredArrays);
+ }
+ }
+}
diff --git a/frontend/.prettierignore b/frontend/.prettierignore
index a880ac06..352aeb76 100644
--- a/frontend/.prettierignore
+++ b/frontend/.prettierignore
@@ -1 +1,7 @@
-LICENSES-THIRD-PARTY.md
\ No newline at end of file
+LICENSES-THIRD-PARTY.md
+
+# Generated from the backend OpenAPI spec (see openapi-ts.config.ts)
+src/lib/api/generated
+
+# Committed API contract, formatted by the backend exporter (OpenApiSpecExportTest)
+openapi.json
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
index a6be5cb9..6b3576af 100644
--- a/frontend/Dockerfile
+++ b/frontend/Dockerfile
@@ -11,6 +11,9 @@ RUN npm ci
# Copy source code
COPY . .
+# Generate the API client from the committed OpenAPI spec (offline, no backend needed)
+RUN npm run api:generate
+
# Build frontend
RUN npm run build
diff --git a/frontend/openapi-ts.config.ts b/frontend/openapi-ts.config.ts
index 50613709..3d2de2a4 100644
--- a/frontend/openapi-ts.config.ts
+++ b/frontend/openapi-ts.config.ts
@@ -17,7 +17,7 @@
import { defineConfig } from "@hey-api/openapi-ts";
export default defineConfig({
- input: "http://localhost:8080/v3/api-docs",
+ input: process.env.OPENAPI_INPUT ?? "./openapi.json",
output: "src/lib/api/generated",
plugins: [
{
diff --git a/frontend/openapi.json b/frontend/openapi.json
new file mode 100644
index 00000000..681dc100
--- /dev/null
+++ b/frontend/openapi.json
@@ -0,0 +1,7660 @@
+{
+ "components" : {
+ "schemas" : {
+ "AddNewClassRequest" : {
+ "properties" : {
+ "classLayoutPosition" : {
+ "$ref" : "#/components/schemas/ClassLayoutPositionDTO"
+ },
+ "className" : {
+ "type" : "string"
+ },
+ "classURIPrefix" : {
+ "type" : "string"
+ },
+ "packageDTO" : {
+ "$ref" : "#/components/schemas/PackageDTO"
+ }
+ },
+ "type" : "object"
+ },
+ "AffectedResource" : {
+ "properties" : {
+ "actions" : {
+ "items" : {
+ "enum" : [
+ "DELETE",
+ "KEEP",
+ "REMOVE_PACKAGE_REFERENCE",
+ "REMOVE_SUBCLASS_REFERENCE"
+ ],
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "children" : {
+ "items" : {
+ "$ref" : "#/components/schemas/AffectedResource"
+ },
+ "type" : "array"
+ },
+ "context" : {
+ "additionalProperties" : {
+ "type" : "string"
+ },
+ "type" : "object"
+ },
+ "reason" : {
+ "enum" : [
+ "CONTAINED_IN_PACKAGE",
+ "USES_DELETED_CLASS_AS_DATATYPE",
+ "REFENCES_DELETED_CLASS_VIA_ASSOCIATION",
+ "CHILD_OF",
+ "USES_DELETED_CLASS_AS_DEFAULT_VALUE",
+ "USES_DELETED_CLASS_AS_FIXED_VALUE",
+ "DELETION_REQUESTED_BY_USER"
+ ],
+ "type" : "string"
+ },
+ "resourceIdentifier" : {
+ "$ref" : "#/components/schemas/ResourceIdentifier"
+ },
+ "type" : {
+ "enum" : [
+ "PACKAGE",
+ "CLASS",
+ "ATTRIBUTE",
+ "ASSOCIATION",
+ "ENUM_ENTRY",
+ "ONTOLOGY",
+ "UNKNOWN"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "AssociationDTO" : {
+ "properties" : {
+ "associationUsed" : {
+ "type" : "boolean"
+ },
+ "comment" : {
+ "type" : "string"
+ },
+ "domain" : {
+ "type" : "string"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "multiplicity" : {
+ "type" : "string"
+ },
+ "prefix" : {
+ "type" : "string"
+ },
+ "range" : {
+ "$ref" : "#/components/schemas/DataTypeDTO"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "AssociationPairDTO" : {
+ "properties" : {
+ "from" : {
+ "$ref" : "#/components/schemas/AssociationDTO"
+ },
+ "to" : {
+ "$ref" : "#/components/schemas/AssociationDTO"
+ }
+ },
+ "type" : "object"
+ },
+ "AssociationUUIDs" : {
+ "properties" : {
+ "fromUUID" : {
+ "format" : "uuid",
+ "type" : "string"
+ },
+ "toUUID" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "AttributeDTO" : {
+ "properties" : {
+ "comment" : {
+ "type" : "string"
+ },
+ "dataType" : {
+ "$ref" : "#/components/schemas/DataTypeDTO"
+ },
+ "defaultValue" : {
+ "type" : "string"
+ },
+ "domain" : {
+ "type" : "string"
+ },
+ "fixedValue" : {
+ "type" : "string"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "multiplicity" : {
+ "type" : "string"
+ },
+ "prefix" : {
+ "type" : "string"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "BelongsToCategoryDTO" : {
+ "properties" : {
+ "label" : {
+ "type" : "string"
+ },
+ "prefix" : {
+ "type" : "string"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CIMAttribute" : {
+ "properties" : {
+ "comment" : {
+ "$ref" : "#/components/schemas/RDFSComment"
+ },
+ "dataType" : {
+ "$ref" : "#/components/schemas/CIMSDataType"
+ },
+ "defaultValue" : {
+ "$ref" : "#/components/schemas/CIMSIsDefault"
+ },
+ "domain" : {
+ "$ref" : "#/components/schemas/RDFSDomain"
+ },
+ "fixedValue" : {
+ "$ref" : "#/components/schemas/CIMSIsFixed"
+ },
+ "label" : {
+ "$ref" : "#/components/schemas/RDFSLabel"
+ },
+ "multiplicity" : {
+ "$ref" : "#/components/schemas/CIMSMultiplicity"
+ },
+ "stereotype" : {
+ "type" : "string"
+ },
+ "uri" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CIMClass" : {
+ "properties" : {
+ "comment" : {
+ "$ref" : "#/components/schemas/RDFSComment"
+ },
+ "graphUri" : {
+ "type" : "string"
+ },
+ "label" : {
+ "$ref" : "#/components/schemas/RDFSLabel"
+ },
+ "package" : {
+ "$ref" : "#/components/schemas/CIMSBelongsToCategory"
+ },
+ "stereotypes" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "superClass" : {
+ "$ref" : "#/components/schemas/RDFSSubClassOf"
+ },
+ "uri" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CIMPrefixPair" : {
+ "properties" : {
+ "prefix" : {
+ "type" : "string"
+ },
+ "substitutedPrefix" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CIMSBelongsToCategory" : {
+ "properties" : {
+ "label" : {
+ "$ref" : "#/components/schemas/RDFSLabel"
+ },
+ "uri" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CIMSDataType" : {
+ "properties" : {
+ "label" : {
+ "$ref" : "#/components/schemas/RDFSLabel"
+ },
+ "type" : {
+ "enum" : [
+ "PRIMITIVE",
+ "RANGE",
+ "UNKNOWN"
+ ],
+ "type" : "string"
+ },
+ "uri" : {
+ "$ref" : "#/components/schemas/URI"
+ }
+ },
+ "type" : "object"
+ },
+ "CIMSIsDefault" : {
+ "properties" : {
+ "blankNode" : {
+ "type" : "boolean"
+ },
+ "dataType" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "value" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CIMSIsFixed" : {
+ "properties" : {
+ "blankNode" : {
+ "type" : "boolean"
+ },
+ "dataType" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "value" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CIMSMultiplicity" : {
+ "properties" : {
+ "uri" : {
+ "$ref" : "#/components/schemas/URI"
+ }
+ },
+ "type" : "object"
+ },
+ "ChangeLogEntry" : {
+ "properties" : {
+ "additions" : {
+ "properties" : {
+ "enqueued" : {
+ "deprecated" : true,
+ "type" : "boolean"
+ }
+ },
+ "type" : "object"
+ },
+ "changeId" : {
+ "format" : "uuid",
+ "type" : "string"
+ },
+ "deletions" : {
+ "properties" : {
+ "enqueued" : {
+ "deprecated" : true,
+ "type" : "boolean"
+ }
+ },
+ "type" : "object"
+ },
+ "message" : {
+ "type" : "string"
+ },
+ "timestamp" : {
+ "format" : "date-time",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "ClassDTO" : {
+ "properties" : {
+ "belongsToCategory" : {
+ "format" : "uuid",
+ "type" : "string"
+ },
+ "comment" : {
+ "type" : "string"
+ },
+ "graphUri" : {
+ "type" : "string"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "prefix" : {
+ "type" : "string"
+ },
+ "stereotypes" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "superClass" : {
+ "$ref" : "#/components/schemas/SuperClassDTO"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "ClassInDiagram" : {
+ "properties" : {
+ "graphUri" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "ClassLayoutPositionDTO" : {
+ "properties" : {
+ "xposition" : {
+ "format" : "float",
+ "type" : "number"
+ },
+ "yposition" : {
+ "format" : "float",
+ "type" : "number"
+ }
+ },
+ "type" : "object"
+ },
+ "ClassPositionDTO" : {
+ "properties" : {
+ "classUUID" : {
+ "format" : "uuid",
+ "type" : "string"
+ },
+ "xPosition" : {
+ "format" : "float",
+ "type" : "number"
+ },
+ "xposition" : {
+ "format" : "float",
+ "type" : "number"
+ },
+ "yPosition" : {
+ "format" : "float",
+ "type" : "number"
+ },
+ "yposition" : {
+ "format" : "float",
+ "type" : "number"
+ },
+ "zPosition" : {
+ "format" : "int32",
+ "type" : "integer"
+ },
+ "zposition" : {
+ "format" : "int32",
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ },
+ "ClassRelationsDTO" : {
+ "properties" : {
+ "classesReferencingThisClass" : {
+ "additionalProperties" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ClassDTO"
+ },
+ "type" : "array"
+ },
+ "type" : "object"
+ },
+ "classesReferencingThisClassFromCIM" : {
+ "additionalProperties" : {
+ "items" : {
+ "$ref" : "#/components/schemas/CIMClass"
+ },
+ "type" : "array"
+ },
+ "type" : "object",
+ "writeOnly" : true
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "ClassUMLAdaptedDTO" : {
+ "properties" : {
+ "associationPairs" : {
+ "items" : {
+ "$ref" : "#/components/schemas/AssociationPairDTO"
+ },
+ "type" : "array"
+ },
+ "attributes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/AttributeDTO"
+ },
+ "type" : "array"
+ },
+ "comment" : {
+ "type" : "string"
+ },
+ "enumEntries" : {
+ "items" : {
+ "$ref" : "#/components/schemas/EnumEntryDTO"
+ },
+ "type" : "array"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "package" : {
+ "$ref" : "#/components/schemas/BelongsToCategoryDTO"
+ },
+ "prefix" : {
+ "type" : "string"
+ },
+ "stereotypes" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "superClass" : {
+ "$ref" : "#/components/schemas/SuperClassDTO"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CopyClassRequestDTO" : {
+ "properties" : {
+ "copyAsAbstract" : {
+ "type" : "boolean"
+ },
+ "copyAssociations" : {
+ "type" : "boolean"
+ },
+ "copyAttributes" : {
+ "type" : "boolean"
+ },
+ "targetDatasetName" : {
+ "type" : "string"
+ },
+ "targetGraphURI" : {
+ "type" : "string"
+ },
+ "targetPackage" : {
+ "$ref" : "#/components/schemas/PackageDTO"
+ }
+ },
+ "type" : "object"
+ },
+ "CopyClassResponseDTO" : {
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "uuid" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "CustomAndGeneratedTupleListPropertyShape" : {
+ "properties" : {
+ "custom" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PropertyShape"
+ },
+ "type" : "array"
+ },
+ "generated" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PropertyShape"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "CustomAndGeneratedTupleSHACLToClassRelations" : {
+ "properties" : {
+ "custom" : {
+ "$ref" : "#/components/schemas/SHACLToClassRelations"
+ },
+ "generated" : {
+ "$ref" : "#/components/schemas/SHACLToClassRelations"
+ }
+ },
+ "type" : "object"
+ },
+ "CustomDiagram" : {
+ "description" : "DTO for the diagram to be replaced.",
+ "properties" : {
+ "classes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ClassInDiagram"
+ },
+ "type" : "array"
+ },
+ "diagramId" : {
+ "format" : "uuid",
+ "type" : "string"
+ },
+ "name" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "DataTypeDTO" : {
+ "properties" : {
+ "label" : {
+ "type" : "string"
+ },
+ "prefix" : {
+ "type" : "string"
+ },
+ "type" : {
+ "enum" : [
+ "PRIMITIVE",
+ "RANGE",
+ "UNKNOWN"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "DatasetDTO" : {
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "prefixes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/CIMPrefixPair"
+ },
+ "type" : "array"
+ },
+ "readonly" : {
+ "type" : "boolean"
+ }
+ },
+ "type" : "object"
+ },
+ "DefaultValueView" : {
+ "properties" : {
+ "associations" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ "type" : "array"
+ },
+ "attributes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ "type" : "array"
+ },
+ "classLabel" : {
+ "type" : "string"
+ },
+ "enumEntries" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "EnumEntryDTO" : {
+ "properties" : {
+ "comment" : {
+ "type" : "string"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "prefix" : {
+ "type" : "string"
+ },
+ "stereotype" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "GraphBulkImportResponse" : {
+ "properties" : {
+ "failedImports" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "importedGraphUris" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "message" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "GraphChangeLog" : {
+ "properties" : {
+ "entries" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ChangeLogEntry"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "GraphFilter" : {
+ "properties" : {
+ "allowedUUIDs" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "includeAssociations" : {
+ "type" : "boolean"
+ },
+ "includeAttributes" : {
+ "type" : "boolean"
+ },
+ "includeEnumEntries" : {
+ "type" : "boolean"
+ },
+ "includeInheritance" : {
+ "type" : "boolean"
+ },
+ "includeRelationsToExternalPackages" : {
+ "type" : "boolean"
+ },
+ "packageUUID" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "ListPackagesResponse" : {
+ "properties" : {
+ "externalPackageList" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PackageDTO"
+ },
+ "type" : "array"
+ },
+ "internalPackageList" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PackageDTO"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "NodeShape" : {
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ },
+ "triples" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "OntologyDTO" : {
+ "properties" : {
+ "entries" : {
+ "items" : {
+ "$ref" : "#/components/schemas/OntologyEntry"
+ },
+ "type" : "array"
+ },
+ "namespace" : {
+ "type" : "string"
+ },
+ "uuid" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "OntologyEntry" : {
+ "properties" : {
+ "datatypeIri" : {
+ "type" : "string"
+ },
+ "iri" : {
+ "type" : "string"
+ },
+ "isIriEntry" : {
+ "type" : "boolean"
+ },
+ "value" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "OntologyField" : {
+ "properties" : {
+ "datatypeIri" : {
+ "type" : "string"
+ },
+ "iri" : {
+ "type" : "string"
+ },
+ "iriEntry" : {
+ "type" : "boolean"
+ },
+ "isIriEntry" : {
+ "type" : "boolean"
+ }
+ },
+ "type" : "object"
+ },
+ "PackageDTO" : {
+ "properties" : {
+ "comment" : {
+ "type" : "string"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "package" : {
+ "$ref" : "#/components/schemas/BelongsToCategoryDTO"
+ },
+ "prefix" : {
+ "type" : "string"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "PropertyOverview" : {
+ "properties" : {
+ "associations" : {
+ "$ref" : "#/components/schemas/ResourceRenameOverviewSemanticAssociationChange"
+ },
+ "attributes" : {
+ "$ref" : "#/components/schemas/ResourceRenameOverviewSemanticAttributeChange"
+ },
+ "enumEntries" : {
+ "$ref" : "#/components/schemas/ResourceRenameOverviewSemanticEnumEntryChange"
+ },
+ "label" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "PropertyRenamings" : {
+ "properties" : {
+ "associationRenames" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticAssociationChange"
+ },
+ "type" : "array"
+ },
+ "attributeRenames" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticAttributeChange"
+ },
+ "type" : "array"
+ },
+ "classLabel" : {
+ "type" : "string"
+ },
+ "enumEntryRenames" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticEnumEntryChange"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "PropertyShape" : {
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ },
+ "order" : {
+ "format" : "double",
+ "type" : "number"
+ },
+ "triples" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "PropertyShapesWrapper" : {
+ "properties" : {
+ "domain" : {
+ "format" : "uuid",
+ "type" : "string"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "propertyShapes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PropertyShape"
+ },
+ "type" : "array"
+ },
+ "propertyType" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "RDFSComment" : {
+ "properties" : {
+ "format" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "value" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "RDFSDomain" : {
+ "properties" : {
+ "label" : {
+ "$ref" : "#/components/schemas/RDFSLabel"
+ },
+ "uri" : {
+ "$ref" : "#/components/schemas/URI"
+ }
+ },
+ "type" : "object"
+ },
+ "RDFSLabel" : {
+ "properties" : {
+ "lang" : {
+ "type" : "string"
+ },
+ "value" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "RDFSSubClassOf" : {
+ "properties" : {
+ "label" : {
+ "$ref" : "#/components/schemas/RDFSLabel"
+ },
+ "uri" : {
+ "$ref" : "#/components/schemas/URI"
+ }
+ },
+ "type" : "object"
+ },
+ "RenameCandidateSemanticAssociationChange" : {
+ "properties" : {
+ "confidenceScore" : {
+ "format" : "double",
+ "type" : "number"
+ },
+ "newResource" : {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ "oldResource" : {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ }
+ },
+ "type" : "object"
+ },
+ "RenameCandidateSemanticAttributeChange" : {
+ "properties" : {
+ "confidenceScore" : {
+ "format" : "double",
+ "type" : "number"
+ },
+ "newResource" : {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ "oldResource" : {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ }
+ },
+ "type" : "object"
+ },
+ "RenameCandidateSemanticClassChange" : {
+ "properties" : {
+ "confidenceScore" : {
+ "format" : "double",
+ "type" : "number"
+ },
+ "newResource" : {
+ "$ref" : "#/components/schemas/SemanticClassChange"
+ },
+ "oldResource" : {
+ "$ref" : "#/components/schemas/SemanticClassChange"
+ }
+ },
+ "type" : "object"
+ },
+ "RenameCandidateSemanticEnumEntryChange" : {
+ "properties" : {
+ "confidenceScore" : {
+ "format" : "double",
+ "type" : "number"
+ },
+ "newResource" : {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ "oldResource" : {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ }
+ },
+ "type" : "object"
+ },
+ "RenameCandidateSemanticResourceChange" : {
+ "properties" : {
+ "confidenceScore" : {
+ "format" : "double",
+ "type" : "number"
+ },
+ "newResource" : {
+ "oneOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticClassChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticPackageChange"
+ }
+ ]
+ },
+ "oldResource" : {
+ "oneOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticClassChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticPackageChange"
+ }
+ ]
+ }
+ },
+ "type" : "object"
+ },
+ "RenderingDataDTO" : {
+ "properties" : {
+ "format" : {
+ "enum" : [
+ "MERMAID",
+ "SVELTEFLOW"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "ResourceDeleteRequest" : {
+ "properties" : {
+ "action" : {
+ "enum" : [
+ "DELETE",
+ "KEEP",
+ "REMOVE_PACKAGE_REFERENCE",
+ "REMOVE_SUBCLASS_REFERENCE"
+ ],
+ "type" : "string"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "ResourceIdentifier" : {
+ "properties" : {
+ "label" : {
+ "type" : "string"
+ },
+ "namespace" : {
+ "type" : "string"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "ResourceRenameOverview" : {
+ "properties" : {
+ "added" : {
+ "items" : {
+ "oneOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticPackageChange"
+ }
+ ]
+ },
+ "type" : "array"
+ },
+ "deletedAndRenamed" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticResourceChange"
+ },
+ "type" : "array"
+ },
+ "modified" : {
+ "items" : {
+ "oneOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticClassChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ {
+ "$ref" : "#/components/schemas/SemanticPackageChange"
+ }
+ ]
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "ResourceRenameOverviewSemanticAssociationChange" : {
+ "properties" : {
+ "added" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ "type" : "array"
+ },
+ "deletedAndRenamed" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticAssociationChange"
+ },
+ "type" : "array"
+ },
+ "modified" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "ResourceRenameOverviewSemanticAttributeChange" : {
+ "properties" : {
+ "added" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ "type" : "array"
+ },
+ "deletedAndRenamed" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticAttributeChange"
+ },
+ "type" : "array"
+ },
+ "modified" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "ResourceRenameOverviewSemanticEnumEntryChange" : {
+ "properties" : {
+ "added" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ "type" : "array"
+ },
+ "deletedAndRenamed" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticEnumEntryChange"
+ },
+ "type" : "array"
+ },
+ "modified" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "SHACLToClassRelations" : {
+ "properties" : {
+ "derivedPropertyShapes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PropertyShapesWrapper"
+ },
+ "type" : "array"
+ },
+ "namespaces" : {
+ "type" : "string"
+ },
+ "nodeShapes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/NodeShape"
+ },
+ "type" : "array"
+ },
+ "propertyShapes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PropertyShapesWrapper"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "SearchFilter" : {
+ "description" : "The scope where the search is performed.",
+ "properties" : {
+ "datasetName" : {
+ "type" : "string"
+ },
+ "graphUri" : {
+ "type" : "string"
+ },
+ "packageUUID" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "SearchResult" : {
+ "properties" : {
+ "datasetName" : {
+ "type" : "string"
+ },
+ "graphUri" : {
+ "type" : "string"
+ },
+ "label" : {
+ "$ref" : "#/components/schemas/RDFSLabel"
+ },
+ "packageLabel" : {
+ "$ref" : "#/components/schemas/RDFSLabel"
+ },
+ "packageUUID" : {
+ "format" : "uuid",
+ "type" : "string"
+ },
+ "parentClassUUID" : {
+ "format" : "uuid",
+ "type" : "string"
+ },
+ "parentClassUri" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "type" : {
+ "enum" : [
+ "CLASS",
+ "PACKAGE",
+ "ATTRIBUTE",
+ "ASSOCIATION",
+ "ENUMTYPE"
+ ],
+ "type" : "string"
+ },
+ "uri" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "uuid" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "SearchResults" : {
+ "properties" : {
+ "externalSearchResults" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SearchResult"
+ },
+ "type" : "array"
+ },
+ "internalSearchResults" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SearchResult"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ },
+ "SemanticAssociationChange" : {
+ "allOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "properties" : {
+ "associationUsed" : {
+ "type" : "boolean"
+ },
+ "mapping" : {
+ "type" : "string"
+ },
+ "range" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ ]
+ },
+ "SemanticAttributeChange" : {
+ "allOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "properties" : {
+ "allowedValues" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "dataType" : {
+ "type" : "string"
+ },
+ "defaultValue" : {
+ "type" : "string"
+ },
+ "forceDefaultValue" : {
+ "type" : "boolean"
+ },
+ "optional" : {
+ "type" : "boolean"
+ },
+ "primitiveDataType" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ ]
+ },
+ "SemanticClassChange" : {
+ "allOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "properties" : {
+ "associationRenameCandidates" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticAssociationChange"
+ },
+ "type" : "array"
+ },
+ "associations" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticAssociationChange"
+ },
+ "type" : "array"
+ },
+ "attributeRenameCandidates" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticAttributeChange"
+ },
+ "type" : "array"
+ },
+ "attributes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticAttributeChange"
+ },
+ "type" : "array"
+ },
+ "enumEntries" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticEnumEntryChange"
+ },
+ "type" : "array"
+ },
+ "enumEntryRenameCandidates" : {
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticEnumEntryChange"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ }
+ ]
+ },
+ "SemanticEnumEntryChange" : {
+ "allOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "properties" : {
+ "allowedValues" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ },
+ "replacementValue" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ ]
+ },
+ "SemanticFieldChange" : {
+ "properties" : {
+ "from" : {
+ "type" : "string"
+ },
+ "semanticFieldChangeType" : {
+ "enum" : [
+ "LABEL_CHANGE",
+ "COMMENT_CHANGE",
+ "SUPERCLASS_CHANGE",
+ "BELONGS_TO_CATEGORY_CHANGE",
+ "DATATYPE_CHANGE",
+ "DATATYPE_RENAME",
+ "MADE_OPTIONAL",
+ "MADE_REQUIRED",
+ "MULTIPLICITY_CHANGE",
+ "STEREOTYPE_ADDED",
+ "STEREOTYPE_REMOVED",
+ "MADE_ABSTRACT",
+ "DOMAIN_CHANGE",
+ "DOMAIN_RENAME",
+ "TARGET_CHANGE",
+ "ASSOCIATION_USED_CHANGE",
+ "DEFAULT_VALUE_CHANGE",
+ "FIXED_VALUE_CHANGE"
+ ],
+ "type" : "string"
+ },
+ "to" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "SemanticPackageChange" : {
+ "allOf" : [
+ {
+ "$ref" : "#/components/schemas/SemanticResourceChange"
+ },
+ {
+ "properties" : {
+ "classChanges" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticClassChange"
+ },
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ }
+ ]
+ },
+ "SemanticResourceChange" : {
+ "discriminator" : {
+ "propertyName" : "type"
+ },
+ "properties" : {
+ "changes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/SemanticFieldChange"
+ },
+ "type" : "array"
+ },
+ "iri" : {
+ "type" : "string"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "oldIRI" : {
+ "type" : "string"
+ },
+ "semanticResourceChangeType" : {
+ "enum" : [
+ "ADD",
+ "ADDED_FROM_INHERITANCE",
+ "DELETE",
+ "DELETED_FROM_INHERITANCE",
+ "CHANGE",
+ "RENAME"
+ ],
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ }
+ },
+ "required" : [
+ "type"
+ ],
+ "type" : "object"
+ },
+ "SuperClassDTO" : {
+ "properties" : {
+ "label" : {
+ "type" : "string"
+ },
+ "prefix" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "TripleClassChange" : {
+ "properties" : {
+ "associations" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TripleResourceChange"
+ },
+ "type" : "array"
+ },
+ "attributes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TripleResourceChange"
+ },
+ "type" : "array"
+ },
+ "changes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TriplePropertyChange"
+ },
+ "type" : "array"
+ },
+ "enumEntries" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TripleResourceChange"
+ },
+ "type" : "array"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "uri" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "TriplePackageChange" : {
+ "properties" : {
+ "changes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TriplePropertyChange"
+ },
+ "type" : "array"
+ },
+ "classes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TripleClassChange"
+ },
+ "type" : "array"
+ },
+ "external" : {
+ "type" : "boolean"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "uri" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "TriplePropertyChange" : {
+ "properties" : {
+ "from" : {
+ "type" : "string"
+ },
+ "predicate" : {
+ "type" : "string"
+ },
+ "to" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "TripleResourceChange" : {
+ "properties" : {
+ "changes" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TriplePropertyChange"
+ },
+ "type" : "array"
+ },
+ "label" : {
+ "type" : "string"
+ },
+ "uri" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "URI" : {
+ "description" : "When deserializing (parsing json to object), it is possible to alternatively only put a String containing the whole uri. For serializing (parsing object to json), the object structure ist always used.",
+ "properties" : {
+ "prefix" : {
+ "type" : "string"
+ },
+ "suffix" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "info" : {
+ "contact" : {
+ "name" : "soptim",
+ "url" : "https://www.soptim.de/"
+ },
+ "description" : "This API provides utilities for editing RDFGraphs that model UML classes using the CIM standard.",
+ "license" : {
+ "name" : "Apache License 2.0",
+ "url" : "https://www.apache.org/licenses/LICENSE-2.0"
+ },
+ "title" : "RDFArchitect backend",
+ "version" : "1.0.0-43-gb09e7103"
+ },
+ "openapi" : "3.1.0",
+ "paths" : {
+ "/api/compare" : {
+ "post" : {
+ "description" : "Compare two given graphs",
+ "operationId" : "compareSchemasFromFiles",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "properties" : {
+ "fileA" : {
+ "description" : "The first graph file.",
+ "format" : "binary",
+ "type" : "string"
+ },
+ "fileB" : {
+ "description" : "The second graph file.",
+ "format" : "binary",
+ "type" : "string"
+ }
+ },
+ "required" : [
+ "fileA",
+ "fileB"
+ ],
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TriplePackageChange"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "compare schemas",
+ "tags" : [
+ "comparison"
+ ]
+ }
+ },
+ "/api/datasets" : {
+ "get" : {
+ "description" : "Lists all non-snapshots datasets including their prefixes and read-only status.",
+ "operationId" : "listDatasets",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/DatasetDTO"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "List datasets",
+ "tags" : [
+ "dataset"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}" : {
+ "delete" : {
+ "description" : "Deletes a dataset including all of its graphs.",
+ "operationId" : "deleteDataset",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Delete dataset",
+ "tags" : [
+ "dataset"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/content" : {
+ "get" : {
+ "description" : "Export a file storing all RDFSchema graphs from a dataset",
+ "operationId" : "getDatasetSchema",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/n-quads" : { },
+ "application/trig" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "export dataset",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/diagrams" : {
+ "get" : {
+ "operationId" : "getCustomDiagramList_1",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/CustomDiagram"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "all-custom-dataset-diagrams-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/diagrams/{diagramId}" : {
+ "delete" : {
+ "operationId" : "deleteDiagram_1",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-dataset-diagrams-rest-controller"
+ ]
+ },
+ "get" : {
+ "operationId" : "getCustomDatasetViewRenderingData",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/RenderingDataDTO"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-dataset-diagrams-rest-controller"
+ ]
+ },
+ "put" : {
+ "operationId" : "replaceDiagram_1",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CustomDiagram"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-dataset-diagrams-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/diagrams/{diagramId}/classes" : {
+ "post" : {
+ "operationId" : "addToDiagram_1",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The list of the classes to be added to the diagram",
+ "items" : {
+ "$ref" : "#/components/schemas/ClassInDiagram"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-dataset-diagram-all-classes-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/diagrams/{diagramId}/classes/{classId}" : {
+ "delete" : {
+ "operationId" : "removeFromDiagram_1",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class to be removed from the diagram.",
+ "in" : "path",
+ "name" : "classId",
+ "required" : true,
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-dataset-diagram-class-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs" : {
+ "get" : {
+ "description" : "Lists all graphs in a specified datasets",
+ "operationId" : "listGraphs",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "List graphs",
+ "tags" : [
+ "dataset"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/content" : {
+ "put" : {
+ "description" : "Replace or insert one or more rdf graphs for the dataset. Accepts multiple files and/or zip archives containing several graph files.",
+ "operationId" : "replaceGraphs",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "Optional graph URIs, one per file. Defaults to file names.",
+ "in" : "query",
+ "name" : "graphUris",
+ "required" : false,
+ "schema" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "multipart/form-data" : {
+ "schema" : {
+ "properties" : {
+ "files" : {
+ "description" : "The files containing the graph data",
+ "items" : {
+ "format" : "binary",
+ "type" : "string"
+ },
+ "type" : "array"
+ }
+ },
+ "required" : [
+ "files"
+ ],
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/GraphBulkImportResponse"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace/Insert multiple graphs",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/canRedo" : {
+ "post" : {
+ "description" : "Check whether the last undone change can be redone",
+ "operationId" : "canRedo",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "boolean"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "can Redo",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/canUndo" : {
+ "post" : {
+ "description" : "Check whether an undo operation is possible.",
+ "operationId" : "canUndo",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "boolean"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "can undo",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/changes" : {
+ "get" : {
+ "description" : "Get a list containing all changes made to a graph",
+ "operationId" : "getChangeLog",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/GraphChangeLog"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "list changes for graph",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes" : {
+ "get" : {
+ "description" : "Get a list containing all classes. Doesn't include: stereotypes, attributes and associations.",
+ "operationId" : "getClassList",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "Whether to include external classes.",
+ "in" : "query",
+ "name" : "includeExternalClasses",
+ "required" : false,
+ "schema" : {
+ "default" : false,
+ "type" : "boolean"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ClassUMLAdaptedDTO"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "list classes",
+ "tags" : [
+ "graph"
+ ]
+ },
+ "post" : {
+ "description" : "Create a new class with default name and no attributes, stereotypes or associations. Because no concrete stereotype is added the class is abstract by default.",
+ "operationId" : "addClass",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AddNewClassRequest"
+ }
+ }
+ },
+ "description" : "Helper record, functions as DTO for accepting the necessary information for adding a new class",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "create new class",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}" : {
+ "delete" : {
+ "description" : "Deletes a whole class.",
+ "operationId" : "deleteClass",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Delete class",
+ "tags" : [
+ "class"
+ ]
+ },
+ "get" : {
+ "description" : "Get all information about a specified class.",
+ "operationId" : "getClassInformation",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ClassUMLAdaptedDTO"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get class information",
+ "tags" : [
+ "class"
+ ]
+ },
+ "put" : {
+ "description" : "Replace a whole class.",
+ "operationId" : "replaceClass",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ClassUMLAdaptedDTO"
+ }
+ }
+ },
+ "description" : "The new class",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace class",
+ "tags" : [
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/associations" : {
+ "post" : {
+ "description" : "Creates a new association for a specified class.",
+ "operationId" : "createAssociation",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AssociationPairDTO"
+ }
+ }
+ },
+ "description" : "The new association",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AssociationUUIDs"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Creates association",
+ "tags" : [
+ "class"
+ ]
+ },
+ "put" : {
+ "description" : "Replaces all associations of a specified class.",
+ "operationId" : "replaceAllAssociations",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/AssociationPairDTO"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "The new association",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace all association",
+ "tags" : [
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/associations/{associationUUID}" : {
+ "put" : {
+ "description" : "Replaces an association of a specified class.",
+ "operationId" : "replaceAssociation",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The old, to be replaced association.",
+ "in" : "path",
+ "name" : "associationUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AssociationPairDTO"
+ }
+ }
+ },
+ "description" : "The new association",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AssociationUUIDs"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace/Create association",
+ "tags" : [
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/associations/{associationUUID}/shacl" : {
+ "get" : {
+ "description" : "GET the shacl rules that can be related to a specified association.",
+ "operationId" : "getAssociationSHACL",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the association.",
+ "in" : "path",
+ "name" : "associationUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CustomAndGeneratedTupleListPropertyShape"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get SHACL related to an association",
+ "tags" : [
+ "shacl"
+ ]
+ },
+ "put" : {
+ "description" : "Replace the SHACL rules of an association.",
+ "operationId" : "replaceAssociationSHACL",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the association.",
+ "in" : "path",
+ "name" : "associationUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The SHACL shapes to be inserted.",
+ "type" : "string"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "replace SHACL of an association",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/attributes" : {
+ "post" : {
+ "description" : "Creates a new attribute for a specified class.",
+ "operationId" : "createAttribute",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AttributeDTO"
+ }
+ }
+ },
+ "description" : "The new attribute",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Create attribute",
+ "tags" : [
+ "class"
+ ]
+ },
+ "put" : {
+ "description" : "Replaces all attributes of a specified class.",
+ "operationId" : "replaceAllAttributes",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/CIMAttribute"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "The new attribute",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace all attributes",
+ "tags" : [
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/attributes/{attributeUUID}" : {
+ "put" : {
+ "description" : "Replaces an attribute of a specified class.",
+ "operationId" : "replaceAttribute",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the old, to be replaced attribute.",
+ "in" : "path",
+ "name" : "attributeUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AttributeDTO"
+ }
+ }
+ },
+ "description" : "The new attribute",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace/Create attribute",
+ "tags" : [
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/attributes/{attributeUUID}/shacl" : {
+ "get" : {
+ "description" : "GET the shacl rules that can be related to a specified attribute.",
+ "operationId" : "getAttributeSHACL",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the attribute.",
+ "in" : "path",
+ "name" : "attributeUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CustomAndGeneratedTupleListPropertyShape"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get SHACL related to an attribute",
+ "tags" : [
+ "shacl"
+ ]
+ },
+ "put" : {
+ "description" : "Replace the SHACL rules of an attribute.",
+ "operationId" : "replaceAttributeSHACL",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the association.",
+ "in" : "path",
+ "name" : "attributeUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The SHACL shapes to be inserted.",
+ "type" : "string"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "replace SHACL of an attribute",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/copy" : {
+ "post" : {
+ "description" : "Create a copy of a class in the specified graph",
+ "operationId" : "copyClass",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CopyClassRequestDTO"
+ }
+ }
+ },
+ "description" : "Contains the information of the target where the class should be copied to. Also includes if the class should be copied only abstract or fully.",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CopyClassResponseDTO"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "copy a class",
+ "tags" : [
+ "copy-class-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/enumentries" : {
+ "post" : {
+ "description" : "Creates a new enum entry for a specified class..",
+ "operationId" : "createEnumEntry",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the enum.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/EnumEntryDTO"
+ }
+ }
+ },
+ "description" : "The new enum entry.",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Create enum entry",
+ "tags" : [
+ "enum"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/enumentries/{enumEntryUUID}" : {
+ "put" : {
+ "description" : "Replaces the enum entry for a given enum URI and labels",
+ "operationId" : "replaceEnumEntry",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the enum.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the enum entry.",
+ "in" : "path",
+ "name" : "enumEntryUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/EnumEntryDTO"
+ }
+ }
+ },
+ "description" : "The new enum entry.",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace enum entry",
+ "tags" : [
+ "enum"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/extend" : {
+ "post" : {
+ "description" : "extends a class in another graph",
+ "operationId" : "extendClass",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AttributeDTO"
+ }
+ }
+ },
+ "description" : "The new attribute",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ClassDTO"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Extend class",
+ "tags" : [
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/referencedByClasses" : {
+ "get" : {
+ "description" : "Get all classes referencing this class.",
+ "operationId" : "getClassesReferencingThisClass",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ClassRelationsDTO"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get classes referencing this class",
+ "tags" : [
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/shacl" : {
+ "get" : {
+ "description" : "Get the shacl rules that can be related to a specified class.",
+ "operationId" : "getSHACLRelatedToClass",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CustomAndGeneratedTupleSHACLToClassRelations"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get SHACL related to a class",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/shacl/custom" : {
+ "put" : {
+ "description" : "Replace or insert SHACL rules related to a class.",
+ "operationId" : "putSHACL",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The SHACL shapes to be inserted.",
+ "type" : "string"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace or insert SHACL",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/classes/{classUUID}/shacl/propertyShapes" : {
+ "get" : {
+ "description" : "Get the shacl rules that can be related to a specified class.",
+ "operationId" : "getPropertyShapes",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class.",
+ "in" : "path",
+ "name" : "classUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PropertyShapesWrapper"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get SHACL related to a class",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/compare" : {
+ "get" : {
+ "description" : "Compare two graphs stored in the database",
+ "operationId" : "compareStoredSchemas",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the base dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the base graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset to compare against.",
+ "in" : "query",
+ "name" : "otherDataset",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph to compare against.",
+ "in" : "query",
+ "name" : "otherGraph",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TriplePackageChange"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "compare schemas",
+ "tags" : [
+ "comparison"
+ ]
+ },
+ "post" : {
+ "description" : "Compare a given graph with the specified graph from the dataset",
+ "operationId" : "compareSchemas",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "properties" : {
+ "file" : {
+ "description" : "The file containing the graph to be compared.",
+ "format" : "binary",
+ "type" : "string"
+ }
+ },
+ "required" : [
+ "file"
+ ],
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/TriplePackageChange"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "compare schemas",
+ "tags" : [
+ "comparison"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/content" : {
+ "delete" : {
+ "description" : "Delete an rdf-schema graph",
+ "operationId" : "deleteGraph",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "delete graph",
+ "tags" : [
+ "graph"
+ ]
+ },
+ "get" : {
+ "description" : "Export the rdf-schema graph",
+ "operationId" : "getSchema",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/n-triples" : { },
+ "application/rdf+json" : { },
+ "application/rdf+xml" : { },
+ "text/turtle" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "export graph",
+ "tags" : [
+ "graph"
+ ]
+ },
+ "put" : {
+ "description" : "Replace or insert an rdf-schema graph",
+ "operationId" : "replaceGraph",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "properties" : {
+ "file" : {
+ "description" : "The file containing the graph to be inserted",
+ "format" : "binary",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace/Insert graph",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/datatypes" : {
+ "get" : {
+ "description" : "Get a list of datatypes/classes. Doesn't include: Primitive Datatypes, stereotypes, attributes and associations.",
+ "operationId" : "listDatatypes",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ClassUMLAdaptedDTO"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "list datatypes",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/delete-requests" : {
+ "post" : {
+ "description" : "Processes a list of delete requests, each specifying a resource UUID and the desired action.",
+ "operationId" : "deleteResources",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "A list of resource delete requests, each containing the uuid of the resource to delete and the type of deletion",
+ "items" : {
+ "$ref" : "#/components/schemas/ResourceDeleteRequest"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Delete resources",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/diagrams" : {
+ "get" : {
+ "operationId" : "getCustomDiagramList",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/CustomDiagram"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "all-custom-diagrams-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/diagrams/{diagramId}" : {
+ "delete" : {
+ "operationId" : "deleteDiagram",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-diagrams-rest-controller"
+ ]
+ },
+ "get" : {
+ "operationId" : "getCustomProfileViewRenderingData",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/RenderingDataDTO"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-diagrams-rest-controller"
+ ]
+ },
+ "put" : {
+ "operationId" : "replaceDiagram",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CustomDiagram"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-diagrams-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/diagrams/{diagramId}/classes" : {
+ "post" : {
+ "operationId" : "addToDiagram",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The list of the classes to be added to the diagram",
+ "items" : {
+ "$ref" : "#/components/schemas/ClassInDiagram"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-diagram-all-classes-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/diagrams/{diagramId}/classes/{classId}" : {
+ "delete" : {
+ "operationId" : "removeFromDiagram",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the diagram.",
+ "in" : "path",
+ "name" : "diagramId",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The uuid of the class to be removed from the diagram.",
+ "in" : "path",
+ "name" : "classId",
+ "required" : true,
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "tags" : [
+ "custom-diagram-class-rest-controller"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/layout/{diagramUUID}/classes" : {
+ "put" : {
+ "description" : "Updates the positions for all the classes provided in the request body with the provided coordinates.",
+ "operationId" : "updateClassPositions",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The UUID of the package or custom diagram being updated.",
+ "in" : "path",
+ "name" : "diagramUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ClassPositionDTO"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "The DTO with necessary information for class reposition",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "updates class positions",
+ "tags" : [
+ "diagram",
+ "layout",
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/ontology" : {
+ "delete" : {
+ "description" : "Deletes the currently stored ontology.",
+ "operationId" : "deleteOntology",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Delete ontology",
+ "tags" : [
+ "ontology"
+ ]
+ },
+ "get" : {
+ "description" : "Get the currently stored ontology. null if none stored.",
+ "operationId" : "getOntology",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/OntologyDTO"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get ontology",
+ "tags" : [
+ "ontology"
+ ]
+ },
+ "post" : {
+ "description" : "create a new ontology.",
+ "operationId" : "createOntology",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/OntologyDTO"
+ }
+ }
+ },
+ "description" : "The new ontology",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Create ontology",
+ "tags" : [
+ "ontology"
+ ]
+ },
+ "put" : {
+ "description" : "Replace the currently stored ontology with a new one.",
+ "operationId" : "replaceOntology",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/OntologyDTO"
+ }
+ }
+ },
+ "description" : "The new ontology",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace ontology",
+ "tags" : [
+ "ontology"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/ontology/generate" : {
+ "get" : {
+ "description" : "Get the Ontology fields that can be automatically generated.",
+ "operationId" : "getOntologyEntries",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/OntologyEntry"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get generated ontology entries",
+ "tags" : [
+ "ontology"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/packages" : {
+ "get" : {
+ "description" : "Get two lists of packages: internal and external packages.",
+ "operationId" : "listPackages",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ListPackagesResponse"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "list packages",
+ "tags" : [
+ "graph"
+ ]
+ },
+ "post" : {
+ "description" : "Create a new package with a given name and optional comment, sub-package relation is nulled",
+ "operationId" : "addPackage",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/PackageDTO"
+ }
+ }
+ },
+ "description" : "DTO for the package to be created",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "create new package",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/packages/{packageUUID}" : {
+ "delete" : {
+ "description" : "Deletes a package by UUID.",
+ "operationId" : "deletePackage",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The UUID of the package to be deleted.",
+ "in" : "path",
+ "name" : "packageUUID",
+ "required" : true,
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "delete package",
+ "tags" : [
+ "package",
+ "graph"
+ ]
+ },
+ "get" : {
+ "description" : "Returns the package DTO for the given UUID.",
+ "operationId" : "getPackage",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The UUID of the package to retrieve.",
+ "in" : "path",
+ "name" : "packageUUID",
+ "required" : true,
+ "schema" : {
+ "format" : "uuid",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/PackageDTO"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "get package",
+ "tags" : [
+ "package",
+ "graph"
+ ]
+ },
+ "put" : {
+ "description" : "Replaces a whole package.",
+ "operationId" : "replacePackage",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The UUID of the package to be replaced.",
+ "in" : "path",
+ "name" : "packageUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/PackageDTO"
+ }
+ }
+ },
+ "description" : "DTO for the package to be replaced",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "replace package",
+ "tags" : [
+ "package",
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/primitives" : {
+ "get" : {
+ "description" : "Get a list of primitive datatypes/classes. Doesn't include: stereotypes, attributes and associations.",
+ "operationId" : "listPrimitives",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ClassUMLAdaptedDTO"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "list primitives",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/redo" : {
+ "post" : {
+ "description" : "Redo the last undone change",
+ "operationId" : "redo",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "redo ",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/rendering" : {
+ "post" : {
+ "description" : "Returns rendering data for UML diagrams. The content varies based on environment configuration (Mermaid or Svelteflow).",
+ "operationId" : "getRenderingDataParameterized",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/GraphFilter"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/RenderingDataDTO"
+ }
+ }
+ },
+ "description" : "Rendering data (Mermaid or Svelteflow)"
+ }
+ },
+ "summary" : "Get rendering data",
+ "tags" : [
+ "svelteflow",
+ "mermaid"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/resolve/iri/{iriIdentifier}" : {
+ "get" : {
+ "description" : "Resolve iri identifier of a cim resource to its uuid.",
+ "operationId" : "resolveIri",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded iri identifier of the cim resource.",
+ "in" : "path",
+ "name" : "iriIdentifier",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "resolve iri identifier",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/restore" : {
+ "post" : {
+ "description" : "restores the graph to the state specified by the version id",
+ "operationId" : "restoreVersion",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "The ID of the version to restore.",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "restore ",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/shacl/combined/file" : {
+ "get" : {
+ "description" : "Export the combined rdf-shacl graph of the generated and custom shapes for a graph.",
+ "operationId" : "getCombinedSHACLAsFile",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/n-triples" : { },
+ "application/rdf+json" : { },
+ "application/rdf+xml" : { },
+ "text/turtle" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "export shacl",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/shacl/custom/file" : {
+ "get" : {
+ "description" : "Export the rdf-shacl graph",
+ "operationId" : "getCustomSHACLAsFile",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/n-triples" : { },
+ "application/rdf+json" : { },
+ "application/rdf+xml" : { },
+ "text/turtle" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "export shacl",
+ "tags" : [
+ "shacl"
+ ]
+ },
+ "put" : {
+ "description" : "Replace or insert a shacl graph stored in a file",
+ "operationId" : "replaceGraphWithFile",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "properties" : {
+ "file" : {
+ "description" : "The file containing the shacl graph to be inserted",
+ "format" : "binary",
+ "type" : "string"
+ }
+ },
+ "required" : [
+ "file"
+ ],
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace/Insert shacl",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/shacl/custom/namespaces/ttl" : {
+ "get" : {
+ "description" : "Export the namespaces of the custom SHACL graph for a given graph identifier.",
+ "operationId" : "getCustomSHACLNamespacesAsString",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "text/turtle" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "export custom SHACL namespaces",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/shacl/custom/string" : {
+ "get" : {
+ "description" : "Export the rdf-shacl graph as String",
+ "operationId" : "getCustomSHACLAsString",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "text/turtle" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "export shacl",
+ "tags" : [
+ "shacl"
+ ]
+ },
+ "put" : {
+ "description" : "Replace or insert a shacl graph stored in a Turtle String",
+ "operationId" : "replaceGraphWithGraphString",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The entire SHACL graph as a string",
+ "type" : "string"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace/Insert shacl",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/shacl/custom/{shaclShapeURI}" : {
+ "delete" : {
+ "description" : "Delete a shacl shape form a shacl graph",
+ "operationId" : "deleteShape",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The property shape to delete.",
+ "in" : "path",
+ "name" : "shaclShapeURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "delete a shacl shape",
+ "tags" : [
+ "shacl"
+ ]
+ },
+ "put" : {
+ "description" : "Replace or insert a shacl shape from a shacl graph with the given triples in a valid turtle syntax.",
+ "operationId" : "replaceShape",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The property shape to replace.",
+ "in" : "path",
+ "name" : "shaclShapeURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "the triples to replace, requires valid turtle syntax.",
+ "type" : "string"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace/Insert shacl shape",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/shacl/generate/file" : {
+ "get" : {
+ "description" : "Export the rdf-shacl graph as a file",
+ "operationId" : "getGeneratedSHACLAsFile",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/n-triples" : { },
+ "application/rdf+json" : { },
+ "application/rdf+xml" : { },
+ "text/turtle" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "export shacl",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/shacl/generate/string" : {
+ "get" : {
+ "description" : "generate shacl for the whole graph and return it as a Turtle string.",
+ "operationId" : "getGeneratedSHACLAsString",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "generate shacl",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/shacl/generated/namespaces/ttl" : {
+ "get" : {
+ "description" : "Export the namespaces of the generated SHACL graph for a given graph identifier.",
+ "operationId" : "getGeneratedSHACLNamespacesAsString",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "text/turtle" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "export generated SHACL namespaces",
+ "tags" : [
+ "shacl"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/stereotypes" : {
+ "get" : {
+ "description" : "Get a list of all occurring stereotypes in the graph.",
+ "operationId" : "listStereotypes",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "list stereotypes",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/undo" : {
+ "post" : {
+ "description" : "Undo the last change",
+ "operationId" : "undo",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "undo ",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/uuid/{uuid}/deletion-impact" : {
+ "get" : {
+ "description" : "Returns a tree of affected resources for deleting the resource with the given UUID.",
+ "operationId" : "getDeletionImpact",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded iri identifier of the cim resource.",
+ "in" : "path",
+ "name" : "uuid",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AffectedResource"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get deletion impact",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/graphs/{graphURI}/writeToDatabase" : {
+ "post" : {
+ "description" : "Write a graph to a database to persist it.",
+ "operationId" : "writeToDatabase",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The url encoded uri of the graph, or \"default\" to access the default graph.",
+ "in" : "path",
+ "name" : "graphURI",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Write to database",
+ "tags" : [
+ "graph"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/layout/{diagramUUID}/classes" : {
+ "put" : {
+ "description" : "Updates the positions for all the classes provided in the request body with the provided coordinates.",
+ "operationId" : "updateDatasetClassPositions",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The UUID of the package or custom diagram being updated.",
+ "in" : "path",
+ "name" : "diagramUUID",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ClassPositionDTO"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "The DTO with necessary information for class reposition",
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "updates class positions on dataset level",
+ "tags" : [
+ "diagram",
+ "layout",
+ "class"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/namespaces" : {
+ "get" : {
+ "description" : "Get a list of namespaces stored in a specified dataset.",
+ "operationId" : "listNamespaces",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/CIMPrefixPair"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "List namespaces",
+ "tags" : [
+ "dataset"
+ ]
+ },
+ "put" : {
+ "description" : "Replace all namespaces of a specified dataset.",
+ "operationId" : "replaceNamespaces",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The new Namespaces.",
+ "items" : {
+ "$ref" : "#/components/schemas/CIMPrefixPair"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Replace namespaces",
+ "tags" : [
+ "dataset"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/namespaces/{format}" : {
+ "get" : {
+ "description" : "Get a list of namespaces stored in a specified dataset formatted in a specified format.",
+ "operationId" : "listFormattedNamespaces",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The format of the namespaces.",
+ "in" : "path",
+ "name" : "format",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "List formatted namespaces",
+ "tags" : [
+ "dataset"
+ ]
+ }
+ },
+ "/api/datasets/{datasetName}/readonly" : {
+ "delete" : {
+ "description" : "Disables editing for specified dataset",
+ "operationId" : "disableEditing",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "disable editing",
+ "tags" : [
+ "dataset",
+ "read-only"
+ ]
+ },
+ "get" : {
+ "description" : "Check whether dataset is read-only",
+ "operationId" : "isReadOnly",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "boolean"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "is read only",
+ "tags" : [
+ "dataset",
+ "read-only"
+ ]
+ },
+ "put" : {
+ "description" : "Enables editing for specified dataset",
+ "operationId" : "enableEditing",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "datasetName",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "enable editing",
+ "tags" : [
+ "dataset",
+ "read-only"
+ ]
+ }
+ },
+ "/api/migrations/class-renamings" : {
+ "get" : {
+ "description" : "Provides an overview of the migration classes including added, modified, deleted and potentially renamed classes.",
+ "operationId" : "getClassRenamings",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/ResourceRenameOverview"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "migration class overview",
+ "tags" : [
+ "migration"
+ ]
+ },
+ "post" : {
+ "description" : "Confirms the previously suggested renamed classes and updates the migration context accordingly.",
+ "operationId" : "confirmRenamedClasses",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The updated class renamings",
+ "items" : {
+ "$ref" : "#/components/schemas/RenameCandidateSemanticClassChange"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK"
+ }
+ },
+ "summary" : "confirm renamed classes",
+ "tags" : [
+ "migration"
+ ]
+ }
+ },
+ "/api/migrations/context" : {
+ "delete" : {
+ "description" : "Resets the current migration context, removing all stored data related to the ongoing migration session.",
+ "operationId" : "clearMigrationContext",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "description" : "OK"
+ }
+ },
+ "summary" : "reset migration context",
+ "tags" : [
+ "migration"
+ ]
+ },
+ "post" : {
+ "description" : "Computes the diff of two given graphs and stores it in the session for later usage in migration endpoints. Accepts the graphs either as file uploads, GraphIdentifiers or a combination of both.",
+ "operationId" : "computeMigrationContext",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "Dataset of graph A. Required together with graph_uri_a when not uploading graph A as a file.",
+ "in" : "query",
+ "name" : "datasetA",
+ "required" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "URI of graph A. Required together with dataset_a when not uploading graph A as a file.",
+ "in" : "query",
+ "name" : "graphA",
+ "required" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "Dataset of graph B. Required together with graph_uri_b when not uploading graph B as a file.",
+ "in" : "query",
+ "name" : "datasetB",
+ "required" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "URI of graph B. Required together with dataset_b when not uploading graph B as a file.",
+ "in" : "query",
+ "name" : "graphB",
+ "required" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "multipart/form-data" : {
+ "schema" : {
+ "properties" : {
+ "fileA" : {
+ "description" : "The file containing graph A. Mutually exclusive with dataset_a and graph_uri_a.",
+ "format" : "binary",
+ "type" : "string"
+ },
+ "fileB" : {
+ "description" : "The file containing graph B. Mutually exclusive with dataset_b and graph_uri_b.",
+ "format" : "binary",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK"
+ }
+ },
+ "summary" : "compute migration context",
+ "tags" : [
+ "migration"
+ ]
+ }
+ },
+ "/api/migrations/default-values" : {
+ "get" : {
+ "description" : "Provides an overview of attributes that require default values to be set for migration.",
+ "operationId" : "getDefaultValuesViews",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/DefaultValueView"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "get default values overview",
+ "tags" : [
+ "migration"
+ ]
+ },
+ "post" : {
+ "description" : "Sets the default values for attributes as provided by the user.",
+ "operationId" : "submitDefaultValues",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The updated default values for attributes.",
+ "items" : {
+ "$ref" : "#/components/schemas/DefaultValueView"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK"
+ }
+ },
+ "summary" : "submit default values",
+ "tags" : [
+ "migration"
+ ]
+ }
+ },
+ "/api/migrations/export" : {
+ "get" : {
+ "description" : "Generates a migration script based on the previously computed migration actions and the shacl shapes of the new schema.",
+ "operationId" : "generateMigrationScript",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/zip" : { }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "generate migration script",
+ "tags" : [
+ "migration"
+ ]
+ }
+ },
+ "/api/migrations/property-renames" : {
+ "get" : {
+ "description" : "Provides an overview of the properties on migration classes including added, modified, deleted and potentially renamed properties.",
+ "operationId" : "migrationPropertiesOverview",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/PropertyOverview"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "migration class property overview",
+ "tags" : [
+ "migration"
+ ]
+ },
+ "post" : {
+ "description" : "Confirms the previously suggested renamed properties and updates the migration context accordingly.",
+ "operationId" : "confirmRenamedProperties",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The updated property renames",
+ "items" : {
+ "$ref" : "#/components/schemas/PropertyRenamings"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK"
+ }
+ },
+ "summary" : "confirm renamed properties",
+ "tags" : [
+ "migration"
+ ]
+ }
+ },
+ "/api/ontology-fields" : {
+ "get" : {
+ "description" : "Get a list of all known ontology fields.",
+ "operationId" : "getKnownOntologyFields",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/OntologyField"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Get known ontology fields",
+ "tags" : [
+ "ontology"
+ ]
+ }
+ },
+ "/api/primitiveDatatypes" : {
+ "get" : {
+ "description" : "Get a list of all supported xsd datatypes.",
+ "operationId" : "getPrimitiveDatatypes",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "items" : {
+ "$ref" : "#/components/schemas/URI"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "description" : "A list containing the uris of xsd datatypes."
+ }
+ },
+ "summary" : "Get primitive datatypes",
+ "tags" : [
+ "data"
+ ]
+ }
+ },
+ "/api/search" : {
+ "post" : {
+ "description" : "Searches the given graph for a specific query",
+ "operationId" : "search",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The query to search for",
+ "in" : "query",
+ "name" : "query",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/SearchFilter"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/SearchResults"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "Search the graph",
+ "tags" : [
+ "dataset"
+ ]
+ }
+ },
+ "/api/snapshots" : {
+ "post" : {
+ "description" : "Creates a snapshot for a dataset and persists it in the database",
+ "operationId" : "createSnapshot",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ }
+ ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "description" : "The literal name of the dataset.",
+ "type" : "string"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "snapshot dataset",
+ "tags" : [
+ "snapshot",
+ "dataset"
+ ]
+ }
+ },
+ "/api/snapshots/{base64Token}" : {
+ "get" : {
+ "description" : "Fetch a snapshot",
+ "operationId" : "loadSnapshot",
+ "parameters" : [
+ {
+ "description" : "The name/url of the inquirer.",
+ "in" : "header",
+ "name" : "Origin",
+ "required" : false,
+ "schema" : {
+ "default" : "unknown",
+ "type" : "string"
+ }
+ },
+ {
+ "description" : "The literal name of the dataset.",
+ "in" : "path",
+ "name" : "base64Token",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ ],
+ "responses" : {
+ "200" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "OK"
+ }
+ },
+ "summary" : "get snapshot",
+ "tags" : [
+ "snapshot",
+ "dataset"
+ ]
+ }
+ }
+ }
+}