Skip to content
Snippets Groups Projects
Unverified Commit 1c4709d7 authored by Martin Weise's avatar Martin Weise
Browse files

Merge the docs in the main repository

parent 7520cf18
No related branches found
No related tags found
1 merge request!222Resolve "Enable database dump import"
Showing
with 11391 additions and 0 deletions
{"definitions":{},"externalDocs":{"description":"Sourcecode Documentation","url":"https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services"},"info":{"contact":{"email":"andreas.rauber@tuwien.ac.at","name":"Prof. Andreas Rauber"},"description":"Service that analyses data structures","license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0"},"title":"Database Repository Analyse Service API","version":"1.2.0"},"openapi":"3.0.0","paths":{"/api/analyse/determinedt":{"post":{"consumes":["application/json"],"description":"This is a simple API which returns the datatypes of a (path) csv file","parameters":[{"description":"to-do description","in":"body","name":"body","required":true,"schema":{"properties":{"enum":{"example":true,"type":"boolean"},"enum_tol":{"example":0.1},"filepath":{"example":"/data/testdt08.csv","type":"string"},"separator":{"example":",","type":"string"}},"type":"object"}}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"405":{"description":"Invalid input"}},"summary":"Determine datatypes"}},"/api/analyse/determinepk":{"post":{"consumes":["application/json"],"description":"This is a simple API which returns the primary keys + ranking of a (path) csv file","parameters":[{"description":"to-do description","in":"body","name":"body","required":true,"schema":{"properties":{"filepath":{"example":"/data/testdt08.csv","type":"string"},"seperator":{"example":",","type":"string"}},"type":"object"}}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"405":{"description":"Invalid input"}},"summary":"Determine primary keys"}}},"servers":[{"description":"Generated server url","url":"http://localhost:5000"},{"description":"Sandbox","url":"https://dbrepo2.tuwien.ac.at"}]}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
openapi: 3.0.1
info:
title: Database Repository Metadata Service API
description: Service that manages the metadata
contact:
name: Prof. Andreas Rauber
email: andreas.rauber@tuwien.ac.at
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 1.2.0
externalDocs:
description: Sourcecode Documentation
url: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
servers:
- url: http://localhost:9099
description: Generated server url
- url: https://dbrepo2.tuwien.ac.at
description: Sandbox
paths:
/api/oai:
get:
tags:
- metadata-endpoint
summary: Get the record
operationId: identify_1_1_1_1
parameters:
- name: verb
in: query
- name: parameters
in: query
required: true
schema:
$ref: '#/components/schemas/OaiListIdentifiersParameters'
responses:
"200":
description: List containers
content:
text/xml: {}
components:
schemas:
OaiListIdentifiersParameters:
type: object
properties:
metadataPrefix:
type: string
from:
type: string
until:
type: string
set:
type: string
resumptionToken:
type: string
fromDate:
type: string
format: date-time
untilDate:
type: string
format: date-time
parametersString:
type: string
This diff is collapsed.
openapi: 3.0.1
info:
title: Database Repository Semantic Service API
description: Service that manages the tables
contact:
name: Prof. Andreas Rauber
email: andreas.rauber@tuwien.ac.at
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 1.2.0
externalDocs:
description: Sourcecode Documentation
url: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
servers:
- url: http://localhost:9097
description: Generated server url
- url: https://dbrepo2.tuwien.ac.at
description: Sandbox
paths:
/api/semantic/ontology/{id}:
get:
tags:
- ontology-endpoint
summary: Find one ontology
operationId: find
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
"200":
description: Find one ontology
content:
application/json:
schema:
$ref: '#/components/schemas/OntologyDto'
"404":
description: Could not find ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
put:
tags:
- ontology-endpoint
summary: Update an ontology
operationId: update
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OntologyModifyDto'
required: true
responses:
"202":
description: Updated ontology successfully
content:
application/json:
schema:
$ref: '#/components/schemas/OntologyDto'
"404":
description: Could not find ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
delete:
tags:
- ontology-endpoint
summary: Delete an ontology
operationId: delete
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
"202":
description: Deleted ontology successfully
content:
application/json: {}
"404":
description: Could not find ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
/api/semantic/unit:
get:
tags:
- semantics-endpoint
summary: List semantic units
operationId: findAllUnits
responses:
"200":
description: Find all semantic units
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UnitDto'
post:
tags:
- semantics-endpoint
summary: Save a semantic unit
operationId: saveUnit
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnitSaveDto'
required: true
responses:
"202":
description: Saved a semantic unit
content:
application/json:
schema:
$ref: '#/components/schemas/UnitDto'
security:
- bearerAuth: []
/api/semantic/ontology:
get:
tags:
- ontology-endpoint
summary: List all ontologies
operationId: findAll
responses:
"200":
description: List all ontologies
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OntologyDto'
post:
tags:
- ontology-endpoint
summary: Register a new ontology
operationId: create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OntologyCreateDto'
required: true
responses:
"201":
description: Registered ontology successfully
content:
application/json:
schema:
$ref: '#/components/schemas/OntologyDto'
security:
- bearerAuth: []
/api/semantic/concept:
get:
tags:
- semantics-endpoint
summary: List semantic concepts
operationId: findAllConcepts
responses:
"200":
description: Find all semantic concepts
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConceptDto'
post:
tags:
- semantics-endpoint
summary: Create or update a semantic concept
operationId: saveUnit_1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ConceptSaveDto'
required: true
responses:
"202":
description: Saved a semantic concept
content:
application/json:
schema:
$ref: '#/components/schemas/ConceptDto'
security:
- bearerAuth: []
/api/semantic/ontology/{id}/entity:
get:
tags:
- query-endpoint
summary: Find entities
operationId: find_1
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
- name: label
in: query
required: false
schema:
type: string
- name: uri
in: query
required: false
schema:
type: string
responses:
"200":
description: Found entities
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EntityDto'
"417":
description: Generated query or uri is malformed
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
"404":
description: Could not find ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
"400":
description: Filter params are invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
/api/semantic/database/{databaseId}/table/{tableId}:
get:
tags:
- table-endpoint
summary: Suggest table semantics
operationId: analyseTable
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
responses:
"417":
description: Generated query is malformed
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
"404":
description: Could not find the table
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
"200":
description: Suggested table semantics successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TableColumnEntityDto'
security:
- bearerAuth: []
/api/semantic/database/{databaseId}/table/{tableId}/column/{columnId}:
get:
tags:
- table-endpoint
summary: Suggest table column semantics
operationId: analyseTableColumn
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
- name: columnId
in: path
required: true
schema:
type: integer
format: int64
responses:
"417":
description: Generated query is malformed
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
"200":
description: Suggested table column semantics successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TableColumnEntityDto'
"404":
description: Could not find the table column
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
components:
schemas:
OntologyModifyDto:
required:
- prefix
- uri
type: object
properties:
uri:
type: string
example: Ontology URI
prefix:
type: string
example: Ontology prefix
sparql_endpoint:
type: string
example: Ontology SPARQL endpoint
OntologyDto:
required:
- created
- id
- prefix
- rdf
- sparql
- uri
type: object
properties:
id:
type: integer
format: int64
uri:
type: string
example: Ontology URI
prefix:
type: string
example: Ontology prefix
sparql:
type: boolean
example: true
rdf:
type: boolean
example: true
creator:
$ref: '#/components/schemas/UserBriefDto'
created:
type: string
format: date-time
example: 2021-03-12T15:26:21.678396092Z
sparql_endpoint:
type: string
example: Ontology SPARQL endpoint
UserBriefDto:
required:
- id
- username
type: object
properties:
id:
type: string
format: uuid
example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
username:
type: string
description: Only contains lowercase characters
example: jcarberry
name:
type: string
example: Josiah Carberry
orcid:
type: string
example: 0000-0002-1825-0097
given_name:
type: string
example: Josiah
family_name:
type: string
example: Carberry
email_verified:
type: boolean
example: true
ApiErrorDto:
required:
- code
- message
- status
type: object
properties:
status:
type: string
example: STATUS
enum:
- 100 CONTINUE
- 101 SWITCHING_PROTOCOLS
- 102 PROCESSING
- 103 EARLY_HINTS
- 103 CHECKPOINT
- 200 OK
- 201 CREATED
- 202 ACCEPTED
- 203 NON_AUTHORITATIVE_INFORMATION
- 204 NO_CONTENT
- 205 RESET_CONTENT
- 206 PARTIAL_CONTENT
- 207 MULTI_STATUS
- 208 ALREADY_REPORTED
- 226 IM_USED
- 300 MULTIPLE_CHOICES
- 301 MOVED_PERMANENTLY
- 302 FOUND
- 302 MOVED_TEMPORARILY
- 303 SEE_OTHER
- 304 NOT_MODIFIED
- 305 USE_PROXY
- 307 TEMPORARY_REDIRECT
- 308 PERMANENT_REDIRECT
- 400 BAD_REQUEST
- 401 UNAUTHORIZED
- 402 PAYMENT_REQUIRED
- 403 FORBIDDEN
- 404 NOT_FOUND
- 405 METHOD_NOT_ALLOWED
- 406 NOT_ACCEPTABLE
- 407 PROXY_AUTHENTICATION_REQUIRED
- 408 REQUEST_TIMEOUT
- 409 CONFLICT
- 410 GONE
- 411 LENGTH_REQUIRED
- 412 PRECONDITION_FAILED
- 413 PAYLOAD_TOO_LARGE
- 413 REQUEST_ENTITY_TOO_LARGE
- 414 URI_TOO_LONG
- 414 REQUEST_URI_TOO_LONG
- 415 UNSUPPORTED_MEDIA_TYPE
- 416 REQUESTED_RANGE_NOT_SATISFIABLE
- 417 EXPECTATION_FAILED
- 418 I_AM_A_TEAPOT
- 419 INSUFFICIENT_SPACE_ON_RESOURCE
- 420 METHOD_FAILURE
- 421 DESTINATION_LOCKED
- 422 UNPROCESSABLE_ENTITY
- 423 LOCKED
- 424 FAILED_DEPENDENCY
- 425 TOO_EARLY
- 426 UPGRADE_REQUIRED
- 428 PRECONDITION_REQUIRED
- 429 TOO_MANY_REQUESTS
- 431 REQUEST_HEADER_FIELDS_TOO_LARGE
- 451 UNAVAILABLE_FOR_LEGAL_REASONS
- 500 INTERNAL_SERVER_ERROR
- 501 NOT_IMPLEMENTED
- 502 BAD_GATEWAY
- 503 SERVICE_UNAVAILABLE
- 504 GATEWAY_TIMEOUT
- 505 HTTP_VERSION_NOT_SUPPORTED
- 506 VARIANT_ALSO_NEGOTIATES
- 507 INSUFFICIENT_STORAGE
- 508 LOOP_DETECTED
- 509 BANDWIDTH_LIMIT_EXCEEDED
- 510 NOT_EXTENDED
- 511 NETWORK_AUTHENTICATION_REQUIRED
message:
type: string
example: Error message
code:
type: string
example: error.service.code
UnitSaveDto:
required:
- description
- name
- uri
type: object
properties:
uri:
type: string
name:
type: string
description:
type: string
ColumnBriefDto:
required:
- column_type
- database_id
- id
- internal_name
- name
- table_id
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: date
database_id:
type: integer
format: int64
table_id:
type: integer
format: int64
internal_name:
type: string
example: mdb_date
column_type:
type: string
example: date
enum:
- enum
- number
- decimal
- string
- text
- boolean
- date
- timestamp
- blob
UnitDto:
required:
- columns
- created
- uri
type: object
properties:
uri:
type: string
name:
type: string
description:
type: string
created:
type: string
format: date-time
columns:
type: array
items:
$ref: '#/components/schemas/ColumnBriefDto'
OntologyCreateDto:
required:
- prefix
- uri
type: object
properties:
uri:
type: string
example: Ontology URI
prefix:
type: string
example: Ontology prefix
sparql_endpoint:
type: string
example: Ontology SPARQL endpoint
ConceptSaveDto:
required:
- description
- name
- uri
type: object
properties:
uri:
type: string
name:
type: string
description:
type: string
ConceptDto:
required:
- columns
- created
- uri
type: object
properties:
uri:
type: string
name:
type: string
description:
type: string
created:
type: string
format: date-time
columns:
type: array
items:
$ref: '#/components/schemas/ColumnBriefDto'
EntityDto:
required:
- label
- uri
type: object
properties:
uri:
type: string
example: https://www.wikidata.org/entity/Q1686799
label:
type: string
example: Apache Jena
description:
type: string
example: open source semantic web framework for Java
TableColumnEntityDto:
required:
- columnId
- databaseId
- tableId
- uri
type: object
properties:
databaseId:
type: integer
format: int64
example: 1
tableId:
type: integer
format: int64
example: 1
columnId:
type: integer
format: int64
example: 1
uri:
type: string
example: https://www.wikidata.org/entity/Q1686799
label:
type: string
example: Apache Jena
description:
type: string
example: open source semantic web framework for Java
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
This diff is collapsed.
This diff is collapsed.
File added
#!/bin/bash
# This script is executed before pushing to the pipeline for the moment.
# @author: Martin Weise
declare -A services
services[5000]=analyse
services[9050]=mirror
services[9093]=data
services[9099]=metadata
function retrieve () {
if [[ "$2" == analyse ]]; then
echo "... retrieve json api from localhost:$1"
wget "http://localhost:$1/api-$2.json" -O "./.docs/.swagger/api-$2.yaml" -q
else
echo "... retrieve yaml api from localhost:$1"
wget "http://localhost:$1/v3/api-docs.yaml" -O "./.docs/.swagger/api-$2.yaml" -q
fi
}
for key in "${!services[@]}"; do
echo "Generating ${services[$key]} API"
retrieve "$key" "${services[$key]}"
done
\ No newline at end of file
#!/bin/bash
# clean up
echo "clean up ./dist ./site"
rm -rf ./dist ./site
# ensure target directories are present
echo "ensure target directory ./site are present"
mkdir -p ./site
# extract static site
echo "extract static site .docs/.swagger/dist.tar.gz"
tar xzf .docs/.swagger/dist.tar.gz
for service in "analyse" "mirror" "data" "metadata" "upload"; do
mkdir -p ./site/$service
echo "extract static site ./dist -> ./site/$service"
cp -r ./dist/* ./site/$service
echo "placing .docs/.swagger/api-$service.yaml -> ./site/$service/api.yaml"
cp ".docs/.swagger/api-$service.yaml" "./site/$service/api.yaml"
done
---
author: Martin Weise
hide:
- navigation
---
# Contact
## Team
### Project Management
Ao.univ.Prof. Dr. [Andreas Rauber](https://www.ifs.tuwien.ac.at/~andi)<br />
Technische Universit&auml;t Wien<br />
Research Unit Data Science<br />
Favoritenstra&szlig;e 9-11<br />
A-1040 Vienna, Austria
### Development
Projektass. Dipl.-Ing. [Martin Weise](https://ec.tuwien.ac.at/~weise/)<br />
Technische Universit&auml;t Wien<br />
Research Unit Data Science<br />
Favoritenstra&szlig;e 9-11<br />
A-1040 Vienna, Austria
## Contributors (alphabetically)
- Ganguly, Raman
- Gergely, Eva
- Grantner, Tobias
- Karnbach, Geoffrey
- Michlits, Cornelia
- Rauber, Andreas
- Staudinger, Moritz
- Stytsenko, Kirill
- Taha, Josef
- Tsepelakis, Sotiris
- Weise, Martin
---
author: Martin Weise
hide:
- navigation
---
# Customization
!!! info "Abstract"
On this page, we showcase the customization capabilities of DBRepo to e.g. whitelabel your deployment.
## Custom Title
The default title is "Database Repository" and can be replaced by changing the `TITLE` environment variable.
## Custom Logo
The default placeholder logo consists of the two universities that developed this software. You can replace it by
mounting your own logo with a volume.
```console
docker run -v /path/to/your_logo.png:/logo.png ...
```
In case your logo is not in PNG format, you need to change the environment variable `LOGO` accordingly, e.g. for a logo
in JPEG format, set `LOGO: "/logo.JPEG"` in the `.env` file and start the container with a volume.
```console
docker run -v /path/to/your_logo.JPEG:/logo.JPEG ...
```
<figure markdown>
![](images/custom_logo.png)
<figcaption>Custom logo which replaces the default placeholder logo</figcaption>
</figure>
## Custom Icon
The default placeholder icon can be replaced by mounting your own icon with a volume.
```console
docker run -v /path/to/your_logo.ico:/favicon.ico ...
```
<figure markdown>
![](images/custom_icon.png)
<figcaption>Custom icon which replaces the default placeholder icon</figcaption>
</figure>
In case your icon is not in ICO format, you need to change the environment variable `ICON` accordingly, e.g. for an icon
in GIF format, set `ICON: "/favicon.GIF"` in the `.env` file and start the container with a volume.
```console
docker run -v /path/to/favicon.GIF:/favicon.GIF ...
```
This diff is collapsed.
-----BEGIN PUBLIC KEY-----
role: mweise
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiF4l7rlcaope9LGiodp6yHRtsUek
WjYX8mVi3AAcuoXvKtnbRZTwX78FOID2zZiQSsHWIcuMDOKJfubNzWrtMw==
-----END PUBLIC KEY-----
This diff is collapsed.
.docs/images/DS-icon_white_hiRes.png

3.67 KiB

.docs/images/TU_Signet_weiss_transparent_300dpi_RGB.png

19.2 KiB

.docs/images/architecture-ui.png

33.9 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment