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" + ] + } + } + } +}