Metadata-Version: 2.4
Name: oldaplib
Version: 0.6.10
Summary: Open Media Access Server Library (Linked Open Data middleware/RESTApi)
License-Expression: AGPL-3.0-only
Author: Lukas Rosenthaler
Author-email: lukas.rosenthaler@unibas.ch
Requires-Python: >=3.12,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: bcrypt (==5.0.0)
Requires-Dist: cloudpickle (>=3.1.1,<4.0.0)
Requires-Dist: convertdate (==2.4.1)
Requires-Dist: isodate (>=0.7.2,<0.8.0)
Requires-Dist: pyjwt (>=2.8.0,<3.0.0)
Requires-Dist: pyshacl (==0.31.0)
Requires-Dist: pystrict (>=1.3,<2.0)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Requires-Dist: rdflib (>=7.0.0,<8.0.0)
Requires-Dist: redis (==7.4.0)
Requires-Dist: requests (>=2.32.5,<3.0.0)
Requires-Dist: shapely (>=2.1.2,<3.0.0)
Requires-Dist: validators (>=0.35.0,<0.36.0)
Requires-Dist: xmlschema (>=4.1.0,<5.0.0)
Requires-Dist: yamale (>=6.0.0,<7.0.0)
Description-Content-Type: text/markdown

# OLDAPlib
Basic library for OLDAP Python-based backend. OLDAP relies as much as possible on
standard ontologies. Currently, the following ontologies are being used:
- xs: `<http://www.w3.org/2001/XMLSchema#>`
- rdf: `<http://www.w3.org/1999/02/22-rdf-syntax-ns#>`
- rdfs: `<http://www.w3.org/2000/01/rdf-schema#>`
- owl: `<http://www.w3.org/2002/07/owl#>`
- skos: `<http://www.w3.org/2004/02/skos/core#>`
- sh: `<http://www.w3.org/ns/shacl#>`

## Setup of IRI's and namespaces

The generic base IRI that is to be used has the form of
```
http://oldap.org/<location>
```
`<location>` is a **unique name** identifying the OLDAP installation of the
type [NCName](https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName).

### System namespace

#### System ontologies and SHACL files
All system relevant definitions like system-wide ontologies or shacl definitions
are in a graph named
```
http://oldap.org/base#
```

#### System-wide data
Data such as project information, user data etc. is in a graph named
```
http://oldap.org/<location>/data#
```

### Project specific graphs
Each project has several namespaces (aka "named graphs")

#### Project specific data
All project specific data resides in a graph named
```
http://oldap.org/<location>/<project>/data#
```
The project name must be unique to the location and is of
type [NCName](https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName).

## Media object

- originalName: `<http://purl.org/dc/terms/originalName>`
- originalMimeType: `<http://purl.org/dc/terms/format>`
- mediaserverUri: xsd:anyURI
- project: `<http://oldap.org/base#project>`


