diff --git a/docs/data/datamodel.md b/docs/data/datamodel.md
index 8a4ce8f6..cd1c7c85 100644
--- a/docs/data/datamodel.md
+++ b/docs/data/datamodel.md
@@ -1,8 +1,325 @@
# Data Model
-Documentation for the data model.
+All metadata are modelled according to the model as described in the following.
-!!! info
+There are two schemas for metadata: `draft` and `final`.
+Final describes the metadata as they should be in the end,
+draft has fewer constraints, in case the metadata is not yet complete.
+Any metadata of a project that is marked as `Finished` must use the final schema,
+metadata of a projects that are marked as `Ongoing` may use the draft schema.
- More documentation will be added soon.
+The two schemas can be found [here](https://github.com/dasch-swiss/dsp-meta/tree/main/resources).
+The following description is based on the final schema.
+
+## Top Level
+
+A set of metadata consists of the following top-level elements:
+
+- Project
+- Dataset
+- Person
+- Organization
+- Grant
+
+Each of these elements is an entity identified by a unique identifier.
+Other elements can refer to these entities by their identifier.
+
+Any other metadata element may itself be a complex object,
+but it is always part of one of the top-level elements.
+Such elements do not have an identifier,
+but are identified by their position in the hierarchy.
+
+| Field | Type | Cardinality |
+| --------------- | -------------- | ----------- |
+| `$schema` | string | 0-1 |
+| `project` | project | 1 |
+| `datasets` | dataset[] | 1-n |
+| `persons` | person[] | 0-n |
+| `organizations` | organization[] | 0-n |
+| `grants` | grant[] | 0-n |
+
+
+## Types
+
+### Entity Types
+
+#### Project
+
+| Field | Type | Cardinality | Restrictions |
+| -------------------- | ------------------ | ----------- | ------------------------------------------------------------ |
+| `__type` | string | 1 | Literal "Project" |
+| `shortcode` | string | 1 | 4 char hexadecimal |
+| `status` | string | 1 | Literal "Ongoing" or "Finished" |
+| `name` | string | 1 | |
+| `description` | lang_string | 1 | |
+| `startDate` | date | 1 | String of format "YYYY-MM-DD" |
+| `teaserText` | string | 1 | |
+| `url` | url | 1 | |
+| `howToCite` | string | 1 | |
+| `datasets` | id[] | 1-n | String containing the identifier of a dataset |
+| `keywords` | lang_string[] | 1-n | |
+| `disciplines` | lang_string\|url[] | 1-n | |
+| `temporalCoverage` | lang_string\|url[] | 1-n | |
+| `spatialCoverage` | url[] | 1-n | |
+| `funders` | id[] | 1-n | String containing the identifier of a person or organization |
+| `endDate` | date | 0-1 | String of format "YYYY-MM-DD" |
+| `secondaryURL` | url | 0-1 | |
+| `dataManagementPlan` | dmp | 0-1 | |
+| `contactPoint` | id | 0-1 | String containing the identifier of a person or organization |
+| `publications` | publication[] | 0-n | |
+| `grants` | id[] | 0-n | String containing the identifier of a grant |
+| `alternativeNames` | lang_string[] | 0-n | |
+
+
+#### Dataset
+
+| Field | Type | Cardinality | Restrictions |
+| ------------------- | ---------------- | ----------- | ------------------------------------------------------- |
+| `__id` | string | 1 | |
+| `__type` | string | 1 | Literal "Dataset" |
+| `title` | string | 1 | |
+| `accessConditions` | string | 1 | Literal "open", "restricted" or "closed" |
+| `howToCite` | string | 1 | |
+| `status` | string | 1 | Literal "In Planning", "Ongoing", "On hold", "Finished" |
+| `abstract` | lang_string\|url | 1-n | |
+| `typeOfData` | string[] | 1-n | Literal "XML", "Text", "Image", "Video", "Audio" |
+| `licenses` | license[] | 1-n | |
+| `languages` | lang_string[] | 1-n | |
+| `attributions` | attribution[] | 1-n | |
+| `datePublished` | date | 0-1 | |
+| `dateCreated` | date | 0-1 | |
+| `dateModified` | date | 0-1 | |
+| `distribution` | url | 0-1 | |
+| `alternativeTitles` | lang_string[] | 0-n | |
+| `urls` | url[] | 0-n | |
+| `additional` | lang_string\|url | 0-n | |
+
+
+#### Person
+
+| Field | Type | Cardinality | Restrictions |
+| ---------------- | -------- | ----------- | -------------------------------------- |
+| `__id` | string | 1 | |
+| `__type` | string | 1 | Literal 'Person' |
+| `givenNames` | string[] | 1-n | |
+| `familyNames` | string[] | 1-n | |
+| `jobTitles` | string[] | 0-n | |
+| `affiliations` | id[] | 0-n | Organization IDs |
+| `address` | address | 0-1 | |
+| `email` | string | 0-1 | |
+| `secondaryEmail` | string | 0-1 | |
+| `authorityRefs` | url[] | 0-n | References to external authority files |
+
+
+#### Organization
+
+| Field | Type | Cardinality | Restrictions |
+| ----------------- | ----------- | ----------- | -------------------------------------- |
+| `__id` | string | 1 | |
+| `__type` | string | 1 | Literal 'Organization' |
+| `name` | string | 1 | |
+| `url` | url | 1 | |
+| `address` | address | 0-1 | |
+| `email` | string | 0-1 | |
+| `alternativeName` | lang_string | 0-1 | |
+| `authorityRefs` | url[] | 0-n | References to external authority files |
+
+
+#### Grant
+
+| Field | Type | Cardinality | Restrictions |
+| --------- | ------ | ----------- | -------------------------- |
+| `__id` | string | 1 | |
+| `__type` | string | 1 | Literal 'Grant' |
+| `funders` | id[] | 1-n | Person or Organization IDs |
+| `number` | string | 0-1 | |
+| `name` | string | 0-1 | |
+| `url` | url | 0-1 | |
+
+
+### Value Types
+
+#### String with Language Tag (`lang_string`)
+
+Object with an ISO language code as key and a string as value.
+
+```json
+{
+ "en": "Lorem ipsum in English.",
+ "de": "Lorem ipsum auf Deutsch."
+}
+```
+
+
+#### Date
+
+String with the format `YYYY-MM-DD`.
+
+
+#### URL
+
+An object representing a URL.
+Depending on the `type` field,
+the URL may be a generic URL
+or a more specific link, like a PID
+or a reference to a resource in an external authority file.
+
+
+| Field | Type | Cardinality | Restrictions |
+| -------- | ------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
+| `__type` | string | 1 | Literal 'URL' |
+| `type` | string | 1 | Literal 'URL', 'Geonames', 'Pleiades', 'Skos', 'Periodo', 'Chronontology', 'GND', 'VIAF', 'Grid', 'ORCID', 'Creative Commons', 'DOI', 'ARK' |
+| `url` | string | 1 | |
+| `text` | string | 0-1 | |
+
+
+#### Data Management Plan (`dmp`)
+
+| Field | Type | Cardinality | Restrictions |
+| ---------- | ------- | ----------- | ---------------------------- |
+| `__type` | string | 1 | Literal 'DataManagementPlan' |
+| `available | boolean | 0-1 | |
+| `url` | url | 0-1 | |
+
+
+#### Publication
+
+| Field | Type | Cardinality | Restrictions |
+| ------ | ------ | ----------- | ------------ |
+| `text` | string | 1 | |
+| `url` | url | 0-1 | |
+
+
+#### Address
+
+| Field | Type | Cardinality | Restrictions |
+| ------------ | ------ | ----------- | ----------------- |
+| `__type` | string | 1 | Literal 'Address' |
+| `street` | string | 1 | |
+| `postalCode` | string | 1 | |
+| `locality` | string | 1 | |
+| `country` | string | 1 | |
+| `canton` | string | 0-1 | |
+| `additional` | string | 0-1 | |
+
+
+#### License
+
+| Field | Type | Cardinality | Restrictions |
+| --------- | ------ | ----------- | ----------------- |
+| `__type` | string | 1 | Literal 'License' |
+| `license` | url | 1 | |
+| `date` | date | 1 | |
+| `details` | string | 0-1 | |
+
+
+#### Attribution
+
+| Field | Type | Cardinality | Restrictions |
+| -------- | ------ | ----------- | --------------------- |
+| `__type` | string | 1 | Literal 'Attribution' |
+| `agent` | string | 1 | |
+| `roles` | string | 1-n | |
+
+
+## Entity-Relationship Diagram
+
+```mermaid
+erDiagram
+ project ||--|{ dataset : datasets
+ project ||--|| person : contactPoint
+ project ||--|| organization : contactPoint
+ project ||--|{ person : funders
+ project ||--|{ organization : funders
+ project ||--|{ grant : grants
+ person ||--|{ organization : affiliations
+ grant ||--|{ organization : funders
+ grant ||--|{ person : funders
+
+ project {
+ string __type "1; Literal 'Project'"
+ string shortcode "1"
+ string status "1; Literal 'Ongoing' or 'Finished'"
+ string name "1"
+ lang_string description "1"
+ date startDate "1"
+ string teaserText "1"
+ url url "1"
+ string howToCite "1"
+ id[] datasets "1-n; Dataset IDs"
+ lang_string[] keywords "1-n"
+ lang_string_or_url[] disciplines "1-n"
+ lang_string_or_url[] temporalCoverage "1-n"
+ url[] spatialCoverage "1-n"
+ id[] funders "1-n; Person or Organization IDs"
+ date endDate "0-1"
+ url secondaryURL "0-1"
+ dmp dataManagementPlan "0-1"
+ id contactPoint "0-1"
+ publication[] publications "0-n"
+ id[] grants "0-n"
+ lang_string[] alternativeNames "0-n"
+ }
+
+ dataset {
+ string __id "1"
+ string __type "1; Literal 'Dataset'"
+ string title "1"
+ string accessConditions "1; Literal 'open', 'restricted' or 'closed'"
+ string howToCite "1"
+ string status "1; Literal 'In Planning', 'Ongoing', 'On hold', 'Finished'"
+ lang_string_or_url[] abstract "1-n"
+ string[] typeOfData "1-n; Literal 'XML', 'Text', 'Image', 'Video', 'Audio'"
+ license[] licenses "1-n"
+ lang_string[] languages "1-n"
+ attribution[] attributions "1-n"
+ date datePublished "0-1"
+ date dateCreated "0-1"
+ date dateModified "0-1"
+ url distribution "0-1"
+ lang_string[] alternativeTitles "0-n"
+ url[] urls "0-n"
+ lang_string_or_url[] additional "0-n"
+ }
+
+ person {
+ string __id "1"
+ string __type "1; Literal 'Person'"
+ string[] givenNames "1-n"
+ string[] familyNames "1-n"
+ string[] jobTitles "0-n"
+ id[] affiliations "0-n; Organization IDs"
+ address address "0-1"
+ string email "0-1"
+ string secondaryEmail "0-1"
+ url[] authorityRefs "0-n"
+ }
+
+ organization {
+ string __id "1"
+ string __type "1; Literal 'Organization'"
+ string name "1"
+ url url "1"
+ address address "0-1"
+ string email "0-1"
+ lang_string alternativeName "0-1"
+ url[] authorityRefs "0-n"
+ }
+
+ grant {
+ string __id "1"
+ string __type "1; Literal 'Grant'"
+ id[] funders "1-n; Person or Organization IDs"
+ string number "0-1"
+ string name "0-1"
+ url url "0-1"
+ }
+```
+
+
+## Legacy docs
+
+The legacy documentation can be found [here](https://github.com/dasch-swiss/dsp-meta-svc/tree/main/docs/services/metadata).
+This includes thoughts on mappings to external aggregators
+and on RDF representation of the metadata.
diff --git a/docs/domain_model/datamodel.md b/docs/domain_model/datamodel.md
deleted file mode 100644
index 7fc538b6..00000000
--- a/docs/domain_model/datamodel.md
+++ /dev/null
@@ -1,374 +0,0 @@
-# Metadata
-
-## Top Level Resource Classes
-
-| General | Domain Model | JSON API | RDF Mapping | SWISSUbase mapping |
-| ------------ | ------------ | -------- | ------------- | -------------------- |
-| Project | Project | object | :Project | StudyVersion (300) |
-| Dataset | Dataset | object | :Dataset | DatasetVersion (400) |
-| Person | Person | object | :Person | Person (100) |
-| Organization | Organization | object | :Organization | Institution (200) |
-| Grant | Grant | object | :Grant | ? |
-
-
-
-## Properties on Resource Classes
-
-### Project
-
-| Property | Note | Cardinality | Domain Model | Domain Model Type | JSON API | JSON Type | RDF Mapping | RDF type | RDF Cardinality | SWISSUbase mapping |
-| -------------------- | -------------------------------------------------------------- | ----------- | -------------------------- | ------------------------- | -------------------- | -------------------------------------------- | --------------------------- | ---------------------------- | --------------- | -------------------------------------------------- |
-| ID | internal ID | 1 | `id` | `UUID` | `__id` | string | IRI | IRI | - | - |
-| type | internal type | 1 | `type` | `String` | `__type` | string | `@type` / `rdf:type` | rdf:type | - | - |
-| created at | internal creation date | 1 | `createdAt` | `Date` | `__createdAt` | string | - | - | - | - |
-| created by | ID of the user who created the resource | 1 | `createdBy` | `User` | `__createdBy` | string | - | - | - | - |
-| modified at | internal last modification date | 0-1 | `modifiedAt` | `Date` | `__modifiedAt` | string | - | - | - | - |
-| modified by | ID of the user who last the resource | 0-1 | `modifiedBy` | `User` | `__modifiedBy` | string | - | - | - | - |
-| deleted at | internal deletion date | 0-1 | `deletedAt` | `Date` | `__deletedAt` | string | - | - | - | - |
-| deleted by | ID of the user who deleted the resource | 0-1 | `deletedBy` | `User` | `__deletedBy` | string | - | - | - | - |
-| (†) short code | deprecated internal short code | 1 | `shortcode` | `Shortcode` | `shortcode` | string | `:hasShortcode` | xsd:string | 1 | ? |
-| name | project name | 1 | `name` | `String` | `name` | string | `:hasName` | xsd:string | 1 | Title (302) |
-| description | project description | 1 | `description` | `MultiLanguageText` | `description` | object (multi-language text) | `:hasDescription` | rdf:langString | 1-n | Abstract (314) |
-| how-to-cite | representation how to correctly cite the project | 1 | `howToCite` | `String` | `howToCite` | string | `:hasHowToCite` | xsd:string | 1 | ? |
-| start date | start date of the project | 1 | `startDate` | `Date` | `startDate` | string (`YYYY-MM-DD`) | `:hasStartDate` | xsd:date | 1 | Start date (308) |
-| teaser text | short teaser text for previewing the project | 1 | `teaserText` | `String` | `teaserText` | string | `:hasTeaser` | xsd:string | 1 | ? |
-| datasets | references to all datasets that are part of the project | 1-n | `datasets` | `Dataset[]` | `datasets` | array of string (ID) | `:hasDataset` | :Dataset | 1-n | - (they link it in 400.1) |
-| keywords | keywords describing the project | 1-n | `keywords` | `MultiLanguageText[]` | `keywords` | array of object (multi-language text) | `:hasKeyword` | rdf:langString | 1-n | ? |
-| disciplines | discipline of research the project belongs to | 1-n | `disciplines` | `MultiLanguageText/URL[]` | `disciplines` | array of object (multi-language text or URL) | `:hasDiscipline` | schema:URL or rdf:langString | 1-n | ? |
-| temporal coverage | time period covered by the project | 1-n | `temporalCoverage` | `MultiLanguageText/URL[]` | `temporalCoverage` | array of object (multi-language text or URL) | `:hasTemporalCoverage` | schema:URL or rdf:langString | 1-n | Period (311) |
-| spatial coverage | geographic region covered by the project | 1-n | `spatialCoverage` | `URL[]` | `spatialCoverage` | array of object (URL) | `:hasSpatialCoverage` | schema:URL | 1-n | Geographical Space (312) / Geographical Area (313) |
-| funders | funding persons or organizations | 1-n | `funders` | `Person/Organization[]` | `funders` | array of string (ID) | `:hasFunder` | :Person or :Organization | 1-n | Funding (318) |
-| primary URL | project's primary URL, pointing to the DaSCH | 1 | `url` | `URL` | `url` | object (`URL`) | `:hasURL` | schema:URL | 1 | ? (329?) |
-| secondary URL | optional secondary URL, pointing to a specific project website | 0-1 | `secondaryURL` | `URL` | `secondaryURL` | object (`URL`) | `:hasSecondaryURL` | schema:URL | 0-1 | ? (329?) |
-| data management plan | data management plan | 0-1 | `dataManagementPlan` | `DataManagementPlan` | `dataManagementPlan` | string (ID) | `:hasDataManagementPlan` | :DataManagementPlan | 0-1 | ? |
-| end date | end date of the project | 0-1 | `endDate` | `Date` | `endDate` | string (`YYYY-MM-DD`) | `:hasEndDate` | xsd:date | 0-1 | End date (309) |
-| contact point | contact person or organization | 0-1 | `contactPoint` | `Person/Organization` | `contactPoint` | string (ID) | `:hasContactPoint` | :Person or :Organization | 0-1 | Authors (306) -> only persons |
-| publications | scientific works published in the context of the project | 0-n | `publications` | `String[]` | `publications` | array of string | `:hasPublication` | xsd:string | 0-n | Publications (319) |
-| grants | financial grants granted to the project | 0-n | `grants` | `Grant[]` | `grants` | array of string (ID) | `:hasGrant` | :Grant | 0-n | ? |
-| alternativeNames | alternative names of the project | 0-n | `alternativeNames` | `MultiLanguageText[]` | `alternativeNames` | object (multi-language text) | `:hasAlternativeName` | rdf:langString | 0-n | Title (302) |
-| ___________________ | _________________________________ | ___ | __________________________ | ________________________ | ____________________ | ___________________________ | ___________________________ | ___________________ | ___ | _____________________________ |
-
-
-
-
-### Dataset
-
-| Property | Note | Cardinality | Domain Model | Domain Model Type | JSON API | JSON Type | RDF Mapping | RDF type | RDF Cardinality | SWISSUbase mapping |
-| ------------------- | ----------------------------------------------------------------------- | ----------- | -------------------------- | ------------------------- | -------------------- | -------------------------------------------- | --------------------------- | ---------------------------- | --------------- | ------------------------------ |
-| ID | internal ID | 1 | `id` | `UUID` | `__id` | string | IRI | IRI | - | - |
-| type | internal type | 1 | `type` | `String` | `__type` | string | `@type` / `rdf:type` | rdf:type | - | - |
-| created at | internal creation date | 1 | `createdAt` | `Date` | `__createdAt` | string | - | - | - | - |
-| created by | ID of the user who created the resource | 1 | `createdBy` | `User` | `__createdBy` | string | - | - | - | - |
-| modified at | internal last modification date | 0-1 | `modifiedAt` | `Date` | `__modifiedAt` | string | - | - | - | - |
-| modified by | ID of the user who last the resource | 0-1 | `modifiedBy` | `User` | `__modifiedBy` | string | - | - | - | - |
-| deleted at | internal deletion date | 0-1 | `deletedAt` | `Date` | `__deletedAt` | string | - | - | - | - |
-| deleted by | ID of the user who deleted the resource | 0-1 | `deletedBy` | `User` | `__deletedBy` | string | - | - | - | - |
-| title | title of the dataset | 1 | `title` | `String` | `title` | string | `:hasTitle` | xsd:string | 1 | Title (402) |
-| access conditions | conditions under which the dataset can be accessed | 1 | `accessConditions` | `String` | `accessConditions` | string | `:hasAccessConditions` | xsd:string | 1 | Special permission (413) |
-| how-to-cite | representation how to correctly cite the dataset | 1 | `howToCite` | `String` | `howToCite` | string | `:hasHowToCite` | xsd:string | 1 | Bibliographical citation (409) |
-| status | the status of the dataset | 1 | `status` | `String` (enum) | `status` | string (enum) | `:hasStatus` | xsd:string | 1 | ? |
-| abstracts | abstracts describing the dataset | 1-n | `abstracts` | `MultiLanguageText/URL[]` | `abstract` | array of object (multi-language text or URL) | `:hasAbstract` | rdf:langString or schema:URL | 1-n | ? |
-| types of data | the types of data contained in the dataset | 1-n | `typesOfData` | `String[]` (enum) | `typeOfData` | array of string (enum) | `:hasTypeOfData` | xsd:string | 1-n | ? |
-| licenses | the license(s) under which the data is made available | 1-n | `licenses` | `License[]` | `licenses` | object (license) | `:hasLicense` | :License | 1-n | ? |
-| languages | the languages used in the dataset | 1-n | `languages` | `MultiLanguageText[]` | `languages` | object (multi-language text) | `:hasLanguage` | rdf:langString | 1-n | ? |
-| attributions | attributions of contributions to the dataset by people or organizations | 1-n | `attributions` | `Attribution[]` | `attributions` | object (attribution) | `:hasQualifiedAttribution` | prov:Attribution | 1-n | ? |
-| date published | publication date of the dataset | 0-1 | `datePublished` | `Date` | `datePublished` | string | `:hasDatePublished` | xsd:date | 0-1 | ? |
-| date created | creation date of the dataset | 0-1 | `dateCreated` | `Date` | `dateCreated` | string | `:hasDateCreated` | xsd:Date | 0-1 | ? |
-| date modified | last modification date of the dataset | 0-1 | `dateModified` | `Date` | `dateModified` | string | `:hasDateModified` | xsd:Date | 0-1 | ? |
-| distribution | distribution URL of the entire dataset | 0-1 | `distribution` | `URL` | `distribution` | object (URL) | `:hasDistribution` | schema:DataDownload | 0-1 | ? |
-| alternative titles | alternative titles of the dataset | 0-n | `alternativeTitles` | `MultiLanguageText[]` | `alternativeTitles` | array of object (multi-language text) | `:hasAlternativeTitle` | rdf:langString | 0-n | Title (402) |
-| URLs | URLs pointing to representations of this dataset | 0-n | `urls` | `URL[]` | `urls` | array of object (URL) | `:hasURL` | schema:URL | 0-n | ? |
-| additional | additional information on the dataset | 0-n | `additional` | `MultiLanguageText/URL[]` | `additional` | array of object (multi-language text or URL) | `:hasAdditional` | rdf:langString or schema:URL | 0-n | Additional Information (404) |
-| ___________________ | _______________________________________ | ___ | __________________________ | ________________________ | ____________________ | ___________________________ | ___________________________ | ________________ | ___ | ________________ |
-
-
-
-#### Status
-
-Dataset status can have one of the following values:
-
-- `In planning`
-- `Ongoing`
-- `On hold`
-- `Finished`
-
-#### Types of Data
-
-The following values are allowed in "Types of Data":
-
-- `XML`
-- `Text`
-- `Image`
-- `Video`
-- `Audio`
-
-
-#### Access Conditions
-
-The following values are allowed as access conditions:
-
-- `open`
-- `restricted`
-- `closed`
-
-
-
-### Person
-
-| Property | Note | Cardinality | Domain Model | Domain Model Type | JSON API | JSON Type | RDF Mapping | RDF type | RDF Cardinality | SWISSUbase mapping |
-| ------------------------- | ------------------------------------------------------------ | ----------- | -------------------------- | ------------------------ | -------------------- | --------------------------- | ------------------------------ | ---------------- | --------------- | ------------------------------ |
-| ID | internal ID | 1 | `id` | `UUID` | `__id` | string | IRI | IRI | - | - |
-| type | internal type | 1 | `type` | `String` | `__type` | string | `@type` / `rdf:type` | rdf:type | - | - |
-| created at | internal creation date | 1 | `createdAt` | `Date` | `__createdAt` | string | - | - | - | - |
-| created by | ID of the user who created the resource | 1 | `createdBy` | `User` | `__createdBy` | string | - | - | - | - |
-| modified at | internal last modification date | 0-1 | `modifiedAt` | `Date` | `__modifiedAt` | string | - | - | - | - |
-| modified by | ID of the user who last the resource | 0-1 | `modifiedBy` | `User` | `__modifiedBy` | string | - | - | - | - |
-| deleted at | internal deletion date | 0-1 | `deletedAt` | `Date` | `__deletedAt` | string | - | - | - | - |
-| deleted by | ID of the user who deleted the resource | 0-1 | `deletedBy` | `User` | `__deletedBy` | string | - | - | - | - |
-| job titles | job titles of the person | 1-n | `jobTitles` | `String[]` | `jobTitles` | array of string | `:hasJobTitle` | xsd:string | 1-n | Title (102) |
-| given names | the given names/first names of the person | 1-n | `givenNames` | `String[]` | `givenNames` | array of string | `:hasGivenName` | xsd:string | 1 | First Name (104) |
-| family name(s) | the family name(s) of a person | 1-n | `familyNames` | `String[]` | `familyNames` | array of string | `:hasFamilyName` | xsd:string | 1 | Last Name (103) |
-| affiliation | the organizations a person is affiliated to | 1-n | `affiliation` | `Organization[]` | `affiliation` | array of string (ID) | `:hasAffiliation` | :Organization | 1-n | Affiliated institution (114) |
-| address | the postal address of the person | 0-1 | `address` | `Address` | `address` | object (Address) | `:hasAddress` | :Address | 0-1 | Private address (112)? |
-| e-mail | the primary e-mail address | 0-1 | `email` | `Email` | `email` | string | `:hasEmail` | xsd:string | 0-1 | Email (107) |
-| secondary e-mail | the secondary e-mail address | 0-1 | `secondaryEmail` | `Email` | `secondaryEmail` | string | `:hasSecondaryEmail` | xsd:string | 0-1 | - |
-| authority file references | references to the person's entry in external authority files | 0-n | `authorityFileReferences` | `URL[]` | `authorityRefs` | object (URL) | `:hasAuthorityFileReference` | schema:URL | 0-n | Orcid (113) -> NB: Orcid only! |
-| ___________________ | _______________________________________ | ___ | __________________________ | ________________________ | ____________________ | ___________________________ | ______________________________ | ________________ | ___ | ________________ |
-
-
-
-### Organization
-
-| Property | Note | Cardinality | Domain Model | Domain Model Type | JSON API | JSON Type | RDF Mapping | RDF type | RDF Cardinality | SWISSUbase mapping |
-| ------------------------- | ------------------------------------------------------------------ | ----------- | -------------------------- | ------------------------ | -------------------- | ------------------------------------- | ------------------------------ | ---------------- | --------------- | ------------------ |
-| ID | internal ID | 1 | `id` | `UUID` | `__id` | string | IRI | IRI | - | - |
-| type | internal type | 1 | `type` | `String` | `__type` | string | `@type` / `rdf:type` | rdf:type | - | - |
-| created at | internal creation date | 1 | `createdAt` | `Date` | `__createdAt` | string | - | - | - | - |
-| created by | ID of the user who created the resource | 1 | `createdBy` | `User` | `__createdBy` | string | - | - | - | - |
-| modified at | internal last modification date | 0-1 | `modifiedAt` | `Date` | `__modifiedAt` | string | - | - | - | - |
-| modified by | ID of the user who last the resource | 0-1 | `modifiedBy` | `User` | `__modifiedBy` | string | - | - | - | - |
-| deleted at | internal deletion date | 0-1 | `deletedAt` | `Date` | `__deletedAt` | string | - | - | - | - |
-| deleted by | ID of the user who deleted the resource | 0-1 | `deletedBy` | `User` | `__deletedBy` | string | - | - | - | - |
-| name | the name of the organization | 1 | `name` | `String` | `name` | string | `:hasName` | xsd:string | 1 | Name (201) |
-| URL | the organization's website | 0-1 | `url` | `URL` | `url` | object (URL) | `:hasURL` | schema:URL | 0-1 | Website (204) |
-| address | postal address of the organization | 0-1 | `address` | `Address` | `address` | object (Address) | `:hasAddress` | :Address | 0-1 | Addresses (207) |
-| e-mail | e-mail address of the organization | 0-1 | `email` | `Email` | `email` | string | `:hasEmail` | xsd:string | 0-1 | Email (206) |
-| alternative names | alternative names of hte organization | 0-n | `alternativeNames` | `MultiLanguageText[]` | `alternativeNames` | array of object (multi-language text) | `:hasAlternativeName` | rdf:langString | 0-n | Name (201) |
-| authority file references | references to the organization's entry in external authority files | 0-n | `authorityFileReferences` | `URL[]` | `authorityRefs` | array of object (URL) | `:hasAuthorityFileReference` | schema:URL | 0-n | ? |
-| ___________________ | _______________________________________ | ___ | __________________________ | ________________________ | ____________________ | ___________________________ | ______________________________ | ________________ | ___ | ________________ |
-
-
-
-### Grant
-
-| Property | Note | Cardinality | Domain Model | Domain Model Type | JSON API | JSON Type | RDF Mapping | RDF type | RDF Cardinality | SWISSUbase mapping |
-| ------------- | --------------------------------------- | ----------- | -------------- | --------------------------- | --------------- | -------------------- | ------------------------- | ------------------------ | --------------- | --------------------------- |
-| ID | internal ID | 1 | `id` | `UUID` | `__id` | string | IRI | IRI | - | - |
-| type | internal type | 1 | `type` | `String` | `__type` | string | `@type` / `rdf:type` | rdf:type | - | - |
-| created at | internal creation date | 1 | `createdAt` | `Date` | `__createdAt` | string | - | - | - | - |
-| created by | ID of the user who created the resource | 1 | `createdBy` | `User` | `__createdBy` | string | - | - | - | - |
-| modified at | internal last modification date | 0-1 | `modifiedAt` | `Date` | `__modifiedAt` | string | - | - | - | - |
-| modified by | ID of the user who last the resource | 0-1 | `modifiedBy` | `User` | `__modifiedBy` | string | - | - | - | - |
-| deleted at | internal deletion date | 0-1 | `deletedAt` | `Date` | `__deletedAt` | string | - | - | - | - |
-| deleted by | ID of the user who deleted the resource | 0-1 | `deletedBy` | `User` | `__deletedBy` | string | - | - | - | - |
-| funders | funding persons or organizations | 1-n | `funders` | `Person/Organization[]` | `funders` | array of string (ID) | `:hasFunder` | :Person or :Organization | 1-n | ? |
-| number | the official grant number | 0-1 | `number` | `String` | `number` | string | `:hasNumber` | xsd:string | 0-1 | ? |
-| name | name of the grant type | 0-1 | `name` | `String` | `name` | string | `:hasName` | xsd:string | 0-n | ? |
-| url | url of the grant | 0-1 | `url` | `URL` | `url` | object (URL) | `:hasURL` | schema:URL | 0-1 | ? |
-| _____________ | _______________________________________ | ___ | ______________ | ___________________________ | _______________ | ________________ | _________________________ | ________________ | ___ | ___________________________ |
-
-
-
-## Data Types
-
-### Overview
-
-| General | Domain Model | JSON API | RDF Mapping |
-| ------------------- | ----------------- | -------- | -------------- |
-| UUID | UUID | string | xsd:string |
-| string | String | string | xsd:string |
-| boolean | Boolean | boolean | xsd:boolean |
-| URL | URL | object | schema:URL |
-| date | Date | string | xsd:date |
-| multi-language text | MultiLanguageText | object | rdf:langString |
-
-
-### API Details
-
-#### URL
-
-```jsonc
-{
- "__type": "URL", // internal type: must always be `URL`
- "type": "URL", // type: either `URL` or a supported authority file
- "url": "https://www.example.com", // the actual URL
- "text": "17th Century" // display text for the URL (optional)
-}
-```
-
-The following values are accepted in `type`:
-
-- URL
-- Geonames
-- Pleiades
-- Skos/unesco6
-- Periodo
-- Chronontology
-- GND
-- VIAF
-- Grid
-
-
-#### Text (Multi-Language)
-
-
-Representation of the same text in multiple languages (minimum 1 language).
-
-The keys of the object must be a two character ISO language code string. The property can be any string in the according language.
-
-```jsonc
-{
- "en": // ISO language code
- "history", // string in said language
- "de": "Geschichte" // the same for another language
-}
-```
-
-It is recommended to _always_ include english, furthermore any of the official languages of Switzerland can be used. Other languages _may_ be used but are not likely to be prioritized to be displayed in the front end.
-
-
-#### Attribution
-
-Attribution attributes one or more roles to a person or organization.
-
-```jsonc
-{
- "__type": "Attribution",
- "agent": "ID", // ID of a person ort organization
- "roles": [ // the roles of the person/organization
- "PI",
- "Editor"
- ]
-}
-```
-
-
-#### Address
-
-Representation of a postal address.
-
-```jsonc
-{
- "__type": "Address",
- "street": "Petersgraben 1",
- "additional": "Postfach", // Can be c/o, post box or similar; is assumed to be the second address line (optional)
- "postalCode": "4000",
- "locality": "Basel",
- "canton": "Basel-Stadt", // Organizational district like canton, state, etc. (optional)
- "country": "Switzerland"
-}
-```
-
-
-#### License
-
-Representation of a license.
-
-```jsonc
-{
- "__type": "License",
- "license": { // a URL object
- "__type": "URL",
- "text": "CC-BY 4.0",
- "type": "URL",
- "url": "https://creativecommons.org/licenses/by/4.0/"
- },
- "date": "2020-01-01", // the licensing date
- "details": "All XML files included in the dataset can be re-used under the CC BY 4.0 license." // additional information, e.g. license scope (optional)
-}
-```
-
-#### Data Management Plan
-
-```jsonc
-{
- "__type": "DataManagementPlan",
- "available": true,
- "url": {
- "url": "https://dasch.swiss/someproject/dmp",
- "type": "URL",
- "__type": "URL"
- }
-}
-```
-
-
-## Domain Model
-
-The following UML diagram represents the domain entities:
-
-
-Click on the image and open `raw` for a reasonable zoom level.
-
-Note that cases, where the data model supposes a two different types, these are represented as two separate arrays for simplicity; these will be concatenated when the field is requested, and returned as one array through the API.
-
-
-
-
-## JSON API
-
-A metadata set can be serialized to JSON. This JSON data must conform to the [json-schema](schema-metadata.json).
-An example JSON dataset can be found [here](example.json).
-
-
-The JSON representation is "flat", i.e. not nested, so all top-level types are present in the first level of depth of the JSON document tree. All those objects have a unique `@id` property. Wherever this object is referenced further down in the document, this is done so by this ID.
-(NB: JSON schema does not allow for consistency checks of internal references, so the existence of an object with a given ID can not be guaranteed by JSON validation).
-
-
-
-## RDF API
-
-Metadata is available in RDF. The mappings are defined in the tables above.
-
-Currently, `JSON-LD`, `ttl` and `RDF-XML` serializations are available.
-
-Both metadata routes support JSON and RDF at the same time. RDF can be requested by means of content negotiation.
-Adding the header `Accept: application/ld+json`, `Accept: application/rdf+xml` or `Accept: text/turtle` to the request, respectively will force the response to be RDF.
-
-__Get a single project__
-
-```bash
-curl --location --request GET 'http://meta.dasch.swiss/api/v1/projects/0806' --header 'Accept: text/turtle'
-```
-
-will return the turtle representation of the project with the shortcode `0806`.
-
-
-__Get all projects__
-
-```bash
-curl --location --request GET 'http://meta.dasch.swiss/api/v1/projects' --header 'Accept: text/turtle'
-```
-
-will return JSON of the following format:
-
-```jsonc
-[
- {
- "id": "0806",
- "name": "Anton Webern Gesamtausgabe",
- "description": "...",
- "metadata": "@prefix dsp: ..." // string containing the turtle serialization
- },
- {} // all other projects
-]
-```
-
-
-------
-
-## Development
-
-The UML diagrams are created using `PlantUML` which itself relies on `GraphViz`.
-
-To create the diagrams, run `yarn run uml`. This requires Java and GraphViz to be installed.
diff --git a/docs/domain_model/domain-entities.puml b/docs/domain_model/domain-entities.puml
deleted file mode 100644
index 79d5e83c..00000000
--- a/docs/domain_model/domain-entities.puml
+++ /dev/null
@@ -1,401 +0,0 @@
-@startuml Domain Entities
-
-package Entities {
-
- class Project {
- The Project.
- -- Required Fields --
- .. (1) ..
- -UUID id
- -String type
- -Date createdAt
- -UUID createdBy
- +Shortcode shortcode
- +String name
- +MultiLanguageText description
- +String howToCite
- +Date startDate
- +URL url
- +String teaserText
-
- .. (1 - n) ..
- +Dataset[] datasets
- +MultiLanguageText[] keywords
- +MultiLanguageText|URL[] disciplines
- +MultiLanguageText|URL[] temporalCoverage
- +URL[] spatialCoverages
- +Person[]|Organization[] funders
-
- -- Optional Fields --
- .. (0 - 1) ..
- -ProjectStatus status
- -Date modifiedAt
- -UUID modifiedBy
- -Date deletedAt
- -UUID deletedBy
- +DataManagementPlan dataManagementPlan
- +Date endDate
- +Person|Organization contactPoint
- +URL secondaryURL
-
- .. (0 - n) ..
- +String[] publications
- +Grant[] grants
- +MultiLanguageText[] alternativeNames
- }
-
- note left of Project::disciplineTexts
- `disciplineTexts` and `disciplineRefs`
- together are `disciplines` (1-n)
- end note
-
- note left of Project::temporalCoverageTexts
- `temporalCoverageTexts` and `temporalCoverageRefs`
- together are `temporalCoverages` (1-n)
- end note
-
- note left of Project::spatialCoverage
- Must be AuthorityReference
- end note
-
- note left of Project::funderPersons
- `funderPersons` and `funderOrganizations`
- together are `funders` (1-n)
- end note
-
- note left of Project::contactPerson
- `contactPerson` and `contactOrganization`
- together are `contactPoint` (0-1)
- end note
-
- class Dataset {
- A Dataset belonging to the project.
- -- Required Fields --
- .. (1) ..
- -UUID id
- -String type
- -Date createdAt
- -UUID createdBy
- +String title
- +AccessConditions accessConditions
- +String howToCite
- +DatasetStatus status
-
- .. (1 - n) ..
- +MultiLanguageText|URL[] abstracts
- +TypesOfData[] typesOfData
- +License[] licenses
- +MultiLanguageText[] languages
- +Attribution[] attributions
-
- -- Optional Fields --
- .. (0 - 1) ..
- -Date modifiedAt
- -UUID modifiedBy
- -Date deletedAt
- -UUID deletedBy
- +Date datePublished
- +Date dateCreated
- +Date dateModified
- +URL distribution
-
- .. (0 - n) ..
- +MultiLanguageText[] alternativeTitles
- +URL[] urls
- +MultiLanguageText|URL[] additional
- }
-
- note left of Dataset::abstractTexts
- `abstractTexts` and `abstractURLs`
- together are `abstracts` (1-n)
- end note
-
- note left of Dataset::documentationTexts
- `documentationTexts` and `documentationURLs`
- together are `documentations` (0-n)
- end note
-
- class Grant {
- A financial grant.
- -- Required Fields --
- .. (1) ..
- -UUID id
- -String type
- -Date createdAt
- -UUID createdBy
-
- .. (1 - n) ..
- +Person|Organization[] funders
-
- -- Optional Fields --
- .. (0 - 1) ..
- -Date modifiedAt
- -UUID modifiedBy
- -Date deletedAt
- -UUID deletedBy
- +String number
- +String name
- +URL url
-
- }
-
- note left of Grant::funderPersons
- `funderPersons` and `funderOrganizations`
- together are `funders` (1-n)
- end note
-
- class Person {
- A Person.
- -- Required --
- .. (1) ..
- -UUID id
- -String type
- -Date createdAt
- -UUID createdBy
- -Email email
-
- .. (1 - n) ..
- +String[] jobTitles
- +String[] givenNames
- +String[] familyNames
- +Organization[] affiliation
-
- -- Optional --
- .. (0 - 1) ..
- -Date modifiedAt
- -UUID modifiedBy
- -Date deletedAt
- -UUID deletedBy
- +Address address
- +Email secondaryEmail
-
- .. (0 - n) ..
- +URL[] authorityRefs
-
- }
-
- note left of Person::authorityRefs
- Must be AuthorityReference
- end note
-
- class Organization {
- An Organization.
- -- Required --
- .. (1) ..
- -UUID id
- -String type
- -Date createdAt
- -UUID createdBy
- +String name
-
- -- Optional --
- .. (0 - 1) ..
- -Date modifiedAt
- -UUID modifiedBy
- -Date deletedAt
- -UUID deletedBy
- +URL url
- +Address address
- +Email email
-
- .. (0 - n) ..
- +MultiLanguageText[] alternativeNames
- +URL[] authorityRefs
-
- }
-
- note left of Organization::authorityRefs
- Must be AuthorityReference
- end note
-
- class Attribution {
- Entity holding information on how work on a dataset can be attributed to a person.
- -- Required Fields --
- .. (1 - n) ..
- +Person|Organization agent
- +String[] roles
-
- }
-
-}
-
-package valueobject {
-
- class Shortcode{
- Valueobject holding a shortcode.
- -- Fields --
- +String value
- -- Methods --
- .. Static Methods ..
- {static} +URL newShortcode()
- {static} +URL zeroShortcode()
- .. Object Methods ..
- +String string()
- +boolean equals()
- }
-
- class Email{
- Valueobject holding an e-mail address.
- -- Fields --
- +String value
- -- Methods --
- .. Static Methods ..
- {static} +URL newEmail()
- {static} +URL zeroEmail()
- .. Object Methods ..
- +String string()
- +boolean equals()
- }
-
- class URL{
- Valueobject holding an e-mail address.
- -- Fields --
- +URLType type
- +String url
- +String propertyID
- -- Methods --
- .. Static Methods ..
- {static} +URL newURL()
- {static} +URL zeroURL()
- .. Object Methods ..
- +String string()
- +boolean equals()
- }
-
- class Date {
- Valueobject holding an ISO date.
- -- Fields --
- +Date value
- -- Methods --
- .. Static Methods ..
- {static} +URL newDate()
- {static} +URL zeroDate()
- .. Object Methods ..
- +String string()
- +boolean equals()
- }
-
- class MultiLanguageText {
- Valueobject holding text in multiple different languages.
- -- Fields --
- +Map[ISOLanguage,String] value
- -- Methods --
- .. Static Methods ..
- {static} +URL newMultiLanguageText()
- {static} +URL zeroMultiLanguageText()
- .. Object Methods ..
- +String string()
- +boolean equals()
- }
-
- class ISOLanguage {
- Valueobject holding a two character ISO language tag.
- -- Fields --
- +String value
- -- Methods --
- .. Static Methods ..
- {static} +URL newISOLanguage()
- {static} +URL zeroISOLanguage()
- .. Object Methods ..
- +String string()
- +boolean equals()
- }
-
- class License {
- Value object holding license information.
- -- Required --
- .. (1) ..
- -String type
- +URL license
- +Date date
-
- -- Optional --
- .. (0 - 1) ..
- +String details
- }
-
- class Address {
- Value object containing a postal address.
- -- Required --
- .. (1) ..
- -String type
- +String street
- +String postalCode
- +String locality
- +String country
-
- -- Optional --
- .. (0 - 1) ..
- +String canton
- +String additional
-
- }
-
- class DataManagementPlan {
- .. (1) ..
- -String type
-
- .. (0 - 1) ..
- +boolean available
- +URL url
-
- }
-
-}
-
-package enums {
-
- enum ProjectStatus {
- Ongoing
- Finished
- }
-
- enum AccessConditions {
- Open
- Restricted
- Closed
- }
-
- enum TypesOfData {
- XML
- Text
- Image
- Video
- Audio
- }
-
- enum DatasetStatus {
- In_planning
- Ongoing
- On_hold
- Finished
- }
-
- enum URLType {
- Enum holding different types of URLs:
- Default is `URL`, however, if a URL points to an authority file supported by DSP,
- there will be a special for it here.
- ---
- URL
- Geonames
- Pleiades
- Skos
- Periodo
- Chronontology
- GND
- VIAF
- Grid
- }
-
-}
-
-
-Project --> Dataset
-Project --> Grant
-Dataset --> Attribution
-Attribution --> Person
-Attribution --> Organization
-Person --> Organization
-
-
-@enduml
diff --git a/docs/domain_model/domain-entities.svg b/docs/domain_model/domain-entities.svg
deleted file mode 100644
index 1f01116f..00000000
--- a/docs/domain_model/domain-entities.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/domain_model/example.json b/docs/domain_model/example.json
deleted file mode 100644
index e29c8002..00000000
--- a/docs/domain_model/example.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "$schema": "./schema-metadata.json",
- "project": {
- "__id": "0000-project",
- "__type": "Project",
- "__createdAt": "2009-11-10 23:00:00 +0000 UTC m=+0.000000001",
- "__createdBy": "32141234213412341234234",
- "__modifiedAt": "2009-11-10 23:30:00 +0000 UTC m=+0.000000003",
- "__modifiedBy": "32141234213412341234235",
- "shortcode": "0000",
- "name": "Test Project Name",
- "description": {
- "de": "Dies ist ein einfaches Beipiel-Projekt zu Dokumentationszwecken.",
- "en": "This is a simple example project for documentation purposes."
- },
- "howToCite": "Doe, J. [et al.]: Project AB (ARK: ...).",
- "startDate": "2021-01-01",
- "teaserText": "A sample metadata-set for illustration purposes.",
- "keywords": [
- {
- "en": "history",
- "de": "Geschichte"
- }
- ],
- "disciplines": [
- {
- "text": "Logic",
- "type": "Skos",
- "url": "http://skos.um.es/unesco6/11",
- "__type": "URL"
- }
- ],
- "temporalCoverage": [
- {
- "text": "17th Century",
- "type": "Chronontology",
- "url": "http://chronontology.dainst.org/period/Ef9SyESSafJ1",
- "__type": "URL"
- }
- ],
- "spatialCoverage": [
- {
- "text": "Europe",
- "type": "Geonames",
- "url": "https://www.geonames.org/6255148/europe.html",
- "__type": "URL"
- }
- ],
- "url": {
- "text": "DaSCH Some Project",
- "type": "URL",
- "url": "https://dasch.swiss/someproject",
- "__type": "URL"
- },
- "secondaryURL": {
- "__type": "URL",
- "type": "URL",
- "text": "Some Project at Zenodo",
- "url": "https://zenodo.org/record/99999999999999"
- },
- "dataManagementPlan": {
- "__type": "DataManagementPlan",
- "available": true,
- "url": {
- "url": "https://dasch.swiss/someproject/dmp",
- "type": "URL",
- "__type": "URL"
- }
- },
- "endDate": "2022-01-01",
- "datasets": [
- "dataset-001"
- ],
- "publications": [
- "Doe, J. (2020): Some publication. In: Journal for sample publications. Vol. 100.1, p. 1-32."
- ],
- "grants": [
- "grant-001"
- ],
- "alternativeNames": [
- {
- "de": "Beispielprojekt",
- "en": "Sample Project"
- }
- ],
- "funders": [
- "organization-001"
- ],
- "contactPoint": "organization-001"
- },
- "datasets": [
- {
- "__id": "dataset-001",
- "__type": "Dataset",
- "__createdAt": "2009-11-10 23:00:00 +0000 UTC m=+0.000000001",
- "__createdBy": "",
- "title": "Dataset 1",
- "accessConditions": "restricted",
- "howToCite": "Dataset XY, in Project AB (ARK: ...)",
- "status": "Ongoing",
- "abstracts": [
- {
- "url": "http://www.project.org/dataset-01/abstract",
- "text": "Project.org",
- "type": "URL",
- "__type": "URL"
- },
- {
- "de": "Dies ist ein Datensatz, der ...",
- "en": "This is a dataset which ..."
- }
- ],
- "typeOfData": [
- "XML",
- "Image"
- ],
- "licenses": [
- {
- "__type": "License",
- "license": {
- "text": "CC-BY 4.0",
- "type": "URL",
- "url": "https://creativecommons.org/licenses/by/4.0/",
- "__type": "URL"
- },
- "date": "2020-01-01",
- "details": "All files included in the dataset can be re-used under the CC BY 4.0 license."
- }
- ],
- "languages": [
- {
- "de": "Englisch",
- "en": "English"
- },
- {
- "de": "Französisch",
- "en": "French"
- }
- ],
- "attributions": [
- {
- "__type": "Attribution",
- "agent": "person-001",
- "roles": [
- "Project owner",
- "Principal investigator",
- "Editor"
- ]
- }
- ],
- "alternativeTitles": [
- {
- "en": "The most awesome dataset."
- }
- ],
- "datePublished": "2020-01-01",
- "dateCreated": "2019-06-01",
- "dateModified": "2021-02-01",
- "distribution": {
- "url": "https://dasch.swiss/0000-project/download",
- "type": "URL",
- "text": "Download",
- "__type": "URL"
- },
- "urls": [
- {
- "url": "http://something.something.org",
- "type": "URL",
- "text": "Something",
- "__type": "URL"
- }
- ],
- "additional": [
- {
- "url": "https://dasch.swiss/0000-project/dataset-001/docs",
- "text": "Documentation",
- "type": "URL",
- "__type": "URL"
- },
- {
- "de": "Bei dem Datenset handelt es sich um...",
- "en": "The dataset is about..."
- }
- ]
- }
- ],
- "persons": [
- {
- "__id": "person-001",
- "__type": "Person",
- "__createdAt": "2009-11-10 23:00:00 +0000 UTC m=+0.000000001",
- "__createdBy": "",
- "jobTitles": [
- "Professor"
- ],
- "givenNames": [
- "Jane"
- ],
- "familyNames": [
- "Doe"
- ],
- "affiliation": [
- "organization-001",
- "organization-002"
- ],
- "address": {
- "__type": "Address",
- "street": "Petersgraben 1",
- "additional": "Postfach",
- "postalCode": "4000",
- "locality": "Basel",
- "canton": "Basel-Stadt",
- "country": "Switzerland"
- },
- "email": "jane.doe@dasch.swiss",
- "secondaryEmail": "j.doe@gmail.com",
- "authorityRefs": [
- {
- "url": "http://viaf.org/viaf/00000000",
- "text": "Jane Doe",
- "type": "VIAF",
- "__type": "URL"
- }
- ]
- }
- ],
- "organizations": [
- {
- "__id": "organization-001",
- "__type": "Organization",
- "__createdAt": "2009-11-10 23:00:00 +0000 UTC m=+0.000000001",
- "__createdBy": "",
- "__modifiedAt": "2009-11-10 23:00:00 +0000 UTC m=+0.000000003",
- "__modifiedBy": "",
- "name": "DaSCH",
- "alternativeNames": [
- {
- "en": "Data and Service Center for the Humanities"
- }
- ],
- "url": {
- "url": "https://dasch.swiss",
- "text": "DaSCH.swiss",
- "type": "URL",
- "__type": "URL"
- },
- "email": "info@dasch.swiss",
- "address": {
- "street": "Petersgraben 1",
- "additional": "Postfach",
- "postalCode": "4000",
- "locality": "Basel",
- "country": "Switzerland",
- "__type": "Address"
- },
- "authorityRefs": [
- {
- "url": "https://grid.ac/institutes/grid.6612.3",
- "text": "DaSCH",
- "type": "Grid",
- "__type": "URL"
- }
- ]
- },
- {
- "__id": "organization-002",
- "__type": "Organization",
- "__createdAt": "2009-11-10 23:00:00 +0000 UTC m=+0.000000001",
- "__createdBy": "",
- "name": "SNF",
- "alternativeNames": [
- {
- "de": "Schweizerischer Nationalfonds",
- "en": "Swiss National Science Foundation"
- }
- ]
- }
- ],
- "grants": [
- {
- "__id": "grant-001",
- "__type": "Grant",
- "__createdAt": "2009-11-10 23:00:00 +0000 UTC m=+0.000000001",
- "__createdBy": "",
- "funders": [
- "organization-001"
- ],
- "number": "ABCD00001",
- "name": "Eccellenca",
- "url": {
- "url": "https://www.grants.ch/grant/abcd0001",
- "text": "SNF Eccellenca",
- "type": "URL",
- "__type": "URL"
- }
- }
- ]
-}
diff --git a/docs/domain_model/example.ttl b/docs/domain_model/example.ttl
deleted file mode 100644
index af624543..00000000
--- a/docs/domain_model/example.ttl
+++ /dev/null
@@ -1,231 +0,0 @@
-@prefix dsp: .
-@prefix prov: .
-@prefix sdo: .
-@prefix xsd: .
-
-
-
-dsp:0000-project a dsp:Project ;
- dsp:hasShortcode "0000"^^xsd:string ;
- dsp:hasName "Test Project Name"^^xsd:string ;
- dsp:hasDescription "Dies ist ein einfaches Beipiel-Projekt zu Dokumentationszwecken."@de ;
- dsp:hasDescription "This is a simple example project for documentation purposes."@en ;
- dsp:hasStartDate "2021-01-01"^^xsd:date ;
- dsp:hasTeaser "A sample metadata-set for illustration purposes."^^xsd:string ;
- dsp:hasDataset dsp:dataset-001 ;
- dsp:hasKeyword "Geschichte."@de ;
- dsp:hasKeyword "history"@en ;
- dsp:hasDiscipline [
- a sdo:URL;
- sdo:url "http://skos.um.es/unesco6/11" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "Logic"
- ]
- ] ;
- dsp:hasDiscipline "Logik"@de ;
- dsp:hasDiscipline "Logic"@en ;
- dsp:hasTemporalCoverage [
- a sdo:URL;
- sdo:url "http://chronontology.dainst.org/period/Ef9SyESSafJ1" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "17th Century"
- ]
- ] ;
- dsp:hasSpatialCoverage [
- a sdo:URL;
- sdo:url "https://www.geonames.org/6255148/europe.html" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "Europe"
- ]
- ] ;
- dsp:hasFunder dsp:organization-001 ;
- dsp:hasURL [
- a sdo:URL;
- sdo:url "https://dasch.swiss/someproject" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "DaSCH Some Project"
- ]
- ] ;
- dsp:hasSecondaryURL [
- a sdo:URL;
- sdo:url "https://zenodo.org/record/99999999999999" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "Soem Project at Zenodo"
- ]
- ] ;
- dsp:hasDataManagementPlan [
- a dsp:DataManagementPlan ;
- dsp:isAvailable true ;
- dsp:hasURL [
- a sdo:URL;
- sdo:url "https://dasch.swiss/someproject/dmp" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "Some Project's DMP"
- ]
- ]
- ] ;
- dsp:hasEndDate "2022-01-01"^^xsd:date ;
- dsp:hasContactPoint dsp:organization-001 ;
- dsp:hasHowToCite "Doe, J. [et al.]: Project AB (ARK: ...)."^^xsd:string ;
- dsp:hasPublication "Doe, J. (2020): Some publication. In: Journal for sample publications. Vol. 100.1, p. 1-32."^^xsd:string ;
- dsp:hasGrant dsp:grant-001 ;
- dsp:hasAlternativeName "Beispielprojekt."@de ;
- dsp:hasAlternativeName "Sample Project"@en .
-
-
-
-dsp:dataset-001 a dsp:Dataset ;
- dsp:hasTitle "Dataset 1"^^xsd:string ;
- dsp:hasAccessConditions "restricted"^^xsd:string ;
- dsp:hasHowToCite "Dataset XY, in Project AB (ARK: ...)"^^xsd:string ;
- dsp:hasStatus "Ongoing"^^xsd:string ;
- dsp:hasAbstract [
- a sdo:URL;
- sdo:url "http://www.project.org/dataset-01/abstract" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "Project.org"
- ]
- ] ;
- dsp:hasAbstract "Dies ist ein Datensatz, der ..."@de ;
- dsp:hasAbstract "This is a dataset which ..."@en ;
- dsp:hasTypeOfData "XML"^^xsd:string ;
- dsp:hasTypeOfData "Image"^^xsd:string ;
- dsp:hasLicense [
- a dsp:License ;
- dsp:hasDate "2020-01-01"^^xsd:date ;
- dsp:hasDetails "All files included in the dataset can be re-used under the CC BY 4.0 license."^^xsd:string ;
- dsp:hasURL [
- a sdo:URL;
- sdo:url "https://creativecommons.org/licenses/by/4.0/" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "CC-BY 4.0"
- ]
- ]
- ] ;
- dsp:hasLanguage "Englisch"@de ;
- dsp:hasLanguage "English"@en ;
- dsp:hasLanguage "Französisch"@de ;
- dsp:hasLanguage "French"@en ;
- dsp:hasQualifiedAttribution [
- a prov:Attribution ;
- dsp:hasRole "Project Owner"^^xsd:string ;
- dsp:hasRole "Principal Investigator"^^xsd:string ;
- dsp:hasRole "Editor"^^xsd:string ;
- prov:agent dsp:person-001
- ] ;
- dsp:hasDatePublished "2020-01-01"^^xsd:date ;
- dsp:hasDateCreated "2019-06-01"^^xsd:date ;
- dsp:hasDateModified "2021-02-01"^^xsd:date ;
- dsp:hasDistribution [
- a sdo:DataDownload;
- sdo:url "https://dasch.swiss/0000-project/download" ;
- ] ;
- dsp:hasAlternativeTitle "The most awesome dataset."@en ;
- dsp:hasURL [
- a sdo:URL;
- sdo:url "http://something.something.org" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "Something"
- ]
- ] ;
- dsp:hasAdditional [
- a sdo:URL;
- sdo:url "https://dasch.swiss/0000-project/dataset-001/docs" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "Documentation"
- ]
- ] ;
- dsp:hasAdditional "Bei dem Datenset handelt es sich um..."@de ;
- dsp:hasAdditional "Enghe dataset is about...lish"@en .
-
-
-
-dsp:person-001 a dsp:Person ;
- dsp:hasJobTitle "Professor"^^xsd:string ;
- dsp:hasGivenName "Jane"^^xsd:string ;
- dsp:hasFamilyName "Doe"^^xsd:string ;
- dsp:hasAffiliation dsp:organization-001 ;
- dsp:hasAffiliation dsp:organization-002 ;
- dsp:hasAddress [
- a sdo:PostalAddress;
- sdo:streetAddress "Petersgraben 1"^^xsd:string ;
- dsp:additional "Postfach"^^xsd:string ;
- sdo:postalCode "4000"^^xsd:string ;
- sdo:addressLocality "Basel"^^xsd:string ;
- sdo:addressRegion "Basel-Stadt"^^xsd:string ;
- sdo:addressCountry "Switzerland"^^xsd:string
- ] ;
- dsp:hasEmail "jane.doe@dasch.swiss"^^xsd:string ;
- dsp:hasSecondaryEmail "j.doe@gmail.com"^^xsd:string ;
- dsp:hasAuthorityFileReference [
- a sdo:URL;
- sdo:url "http://viaf.org/viaf/00000000" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "Jane Doe"
- ]
- ] .
-
-
-
-
-dsp:organization-001 a dsp:Organization ;
- dsp:hasName "DaSCH"^^xsd:string ;
- dsp:hasURL [
- a sdo:URL;
- sdo:url "https://dasch.swiss" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "DaSCH.swiss"
- ]
- ] ;
- dsp:hasAddress [
- a sdo:PostalAddress;
- sdo:streetAddress "Petersgraben 1"^^xsd:string ;
- dsp:additional "Postfach"^^xsd:string ;
- sdo:postalCode "4000"^^xsd:string ;
- sdo:addressLocality "Basel"^^xsd:string ;
- sdo:addressCountry "Switzerland"^^xsd:string
- ] ;
- dsp:hasEmail "info@dasch.swiss" ;
- dsp:hasAlternativeName "Data and Service Center for the Humanities"@en ;
- dsp:hasAuthorityFileReference [
- a sdo:URL;
- sdo:url "https://grid.ac/institutes/grid.6612.3" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "DaSCH"
- ]
- ] .
-
-
-
-dsp:organization-002 a dsp:Organization ;
- dsp:hasName "SNF"^^xsd:string ;
- dsp:hasAlternativeName "Swiss National Science Foundation"@en ;
- dsp:hasAlternativeName "Schweizerischer Nationalfonds"@de .
-
-
-
-dsp:grant-001 a dsp:Grant ;
- dsp:hasFunder dsp:organization-001 ;
- dsp:hasNumber "ABCD00001"^^xsd:string ;
- dsp:hasName "Eccellenca"^^xsd:string ;
- dsp:hasURL [
- a sdo:URL;
- sdo:url "https://www.grants.ch/grant/abcd0001" ;
- sdo:propertyID [
- a sdo:PropertyValue ;
- sdo:propertyID "SNF Eccellenca"
- ]
- ] .
diff --git a/docs/domain_model/real-world-example.json b/docs/domain_model/real-world-example.json
deleted file mode 100644
index 4dd68b27..00000000
--- a/docs/domain_model/real-world-example.json
+++ /dev/null
@@ -1,795 +0,0 @@
-{
- "$schema": "./schema-metadata.json",
- "project": {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-project",
- "__type": "Project",
- "__created": "1623677792179358000",
- "__modified": "1623677792179359000",
- "howToCite": "https://www.anton-webern.ch/index.php?id=85",
- "datasets": [
- "http://ns.dasch.swiss/repository#dsp-0806-dataset-000"
- ],
- "temporalCoverage": [
- {
- "en": "1850–today"
- }
- ],
- "keywords": [
- {
- "en": "critical edition"
- },
- {
- "en": "digital music edition"
- },
- {
- "en": "musicology"
- },
- {
- "de": "Gesamtausgabe"
- },
- {
- "en": "textual criticism"
- },
- {
- "en": "Viennese school"
- },
- {
- "en": "source studies"
- },
- {
- "en": "Anton Webern"
- },
- {
- "en": "philology"
- },
- {
- "en": "semantic web"
- }
- ],
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-003",
- "http://ns.dasch.swiss/repository#dsp-0806-organization-005",
- "http://ns.dasch.swiss/repository#dsp-0806-organization-004"
- ],
- "url": {
- "__type": "URL",
- "text": "https://www.anton-webern.ch",
- "type": "URL",
- "url": "https://www.anton-webern.ch"
- },
- "spatialCoverage": [
- {
- "__type": "URL",
- "text": "Germany",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/DE/germany.html"
- },
- {
- "__type": "URL",
- "text": "Poland",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/PL/poland.html"
- },
- {
- "__type": "URL",
- "text": "United States",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/US/united-states.html"
- },
- {
- "__type": "URL",
- "text": "Austria",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/AT/austria.html"
- },
- {
- "__type": "URL",
- "text": "Slovenia",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/SI/slovenia.html"
- },
- {
- "__type": "URL",
- "text": "https://en.wikipedia.org/wiki/Baltic_states",
- "type": "Geonames",
- "url": "https://www.geonames.org/12217934/baltic-states.html"
- },
- {
- "__type": "URL",
- "text": "Spain",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/ES/spain.html"
- },
- {
- "__type": "URL",
- "text": "France",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/FR/france.html"
- },
- {
- "__type": "URL",
- "text": "Switzerland",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/CH/switzerland.html"
- },
- {
- "__type": "URL",
- "text": "Italy",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/IT/italy.html"
- },
- {
- "__type": "URL",
- "text": "United Kingdom",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/GB/united-kingdom.html"
- },
- {
- "__type": "URL",
- "text": "Croatia",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/HR/croatia.html"
- },
- {
- "__type": "URL",
- "text": "Hungary",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/HU/hungary.html"
- },
- {
- "__type": "URL",
- "text": "Czechia",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/CZ/czechia.html"
- },
- {
- "__type": "URL",
- "text": "Slovakia",
- "type": "Geonames",
- "url": "https://www.geonames.org/countries/SK/slovakia.html"
- }
- ],
- "publications": [
- "https://www.anton-webern.ch/index.php?id=87"
- ],
- "grants": [
- "http://ns.dasch.swiss/repository#dsp-0806-grant-007",
- "http://ns.dasch.swiss/repository#dsp-0806-grant-005",
- "http://ns.dasch.swiss/repository#dsp-0806-grant-004",
- "http://ns.dasch.swiss/repository#dsp-0806-grant-002",
- "http://ns.dasch.swiss/repository#dsp-0806-grant-003",
- "http://ns.dasch.swiss/repository#dsp-0806-grant-001",
- "http://ns.dasch.swiss/repository#dsp-0806-grant-006",
- "http://ns.dasch.swiss/repository#dsp-0806-grant-000"
- ],
- "contactPoint": "http://ns.dasch.swiss/repository#dsp-0806-organization-000",
- "startDate": "2006-10-01",
- "disciplines": [
- {
- "__type": "URL",
- "text": "Criticism of texts",
- "type": "Skos",
- "url": "http://skos.um.es/unesco6/620201"
- },
- {
- "__type": "URL",
- "text": "Music, musicology ",
- "type": "Skos",
- "url": "http://skos.um.es/unesco6/620306"
- }
- ],
- "name": "Anton Webern Gesamtausgabe",
- "endDate": "2024-12-31",
- "shortcode": "0806",
- "description": {
- "en": "The Anton Webern Gesamtausgabe (AWG) is a critical-historical edition which aims to make Webern’s entire oeuvre accessible to musical scholarship and practice in a scholarly form. The edition includes not only all the works Webern himself had forwarded to be printed but also their unpublished variants. It also includes compositions that were never made public in his lifetime, works from his youth and student years, as well as fragments, sketches, arrangements and revisions of his and other scores."
- },
- "dataManagementPlan": "http://ns.dasch.swiss/repository#dsp-0806-dmp"
- },
- "datasets": [
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-dataset-000",
- "__type": "Dataset",
- "__created": "1623677796518787000",
- "__modified": "1623677796518788000",
- "typeOfData": [
- "Text",
- "Image",
- "XML"
- ],
- "attributions": [
- {
- "__type": "Attribution",
- "agent": "http://ns.dasch.swiss/repository#dsp-0806-person-005",
- "roles": [
- "Contributor",
- "Creator"
- ]
- },
- {
- "__type": "Attribution",
- "agent": "http://ns.dasch.swiss/repository#dsp-0806-person-003",
- "roles": [
- "Creator",
- "Contributor"
- ]
- },
- {
- "__type": "Attribution",
- "agent": "http://ns.dasch.swiss/repository#dsp-0806-person-001",
- "roles": [
- "Member of the editorial management"
- ]
- },
- {
- "__type": "Attribution",
- "agent": "http://ns.dasch.swiss/repository#dsp-0806-person-002",
- "roles": [
- "Contributor",
- "Creator",
- "Member of the editorial management"
- ]
- },
- {
- "__type": "Attribution",
- "agent": "http://ns.dasch.swiss/repository#dsp-0806-person-004",
- "roles": [
- "Creator",
- "Contributor"
- ]
- },
- {
- "__type": "Attribution",
- "agent": "http://ns.dasch.swiss/repository#dsp-0806-person-000",
- "roles": [
- "Project manager",
- "Member of the editorial management"
- ]
- }
- ],
- "accessConditions": "Restricted",
- "languages": [
- {
- "de": "Deutsch",
- "en": "German",
- "fr": "allemand"
- }
- ],
- "howToCite": "https://www.anton-webern.ch/index.php?id=85",
- "licenses": [
- {
- "__type": "License",
- "date": "2021-01-01",
- "license": {
- "__type": "URL",
- "text": "CC BY-SA 4.0",
- "type": "Creative Commons",
- "url": "https://creativecommons.org/licenses/by-sa/4.0/deed.de"
- }
- }
- ],
- "abstracts": [
- {
- "en": "The dataset contains content-related and contextual data created and maintained within the SALSAH database as part of the editorial and documentary work of the Anton Webern Gesamtausgabe."
- }
- ],
- "status": "Ongoing",
- "title": "Salsah data of the Anton Webern Gesamtausgabe"
- }
- ],
- "persons": [
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-person-005",
- "__type": "Person",
- "__created": "1623677796685218000",
- "__modified": "1623677796685221000",
- "authorityRefs": [
- {
- "__type": "URL",
- "text": "ORCID URL: https://orcid.org/0000-0002-0744-5374",
- "type": "ORCID",
- "url": "https://orcid.org/0000-0002-0744-5374"
- }
- ],
- "jobTitles": [
- "Research associate"
- ],
- "familyNames": [
- "Münnich"
- ],
- "givenNames": [
- "Stefan"
- ],
- "affiliation": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-000",
- "http://ns.dasch.swiss/repository#dsp-0806-organization-001"
- ],
- "emails": [
- "stefan.muennich@unibas.ch"
- ],
- "address": {
- "__type": "Address",
- "street": "Petersgraben 27/29",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- }
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-person-000",
- "__type": "Person",
- "__created": "1623677797625954000",
- "__modified": "1623677797625957000",
- "authorityRefs": [
- {
- "__type": "URL",
- "text": "GND URL: http://d-nb.info/gnd/12307195X",
- "type": "GND",
- "url": "http://d-nb.info/gnd/12307195X"
- }
- ],
- "familyNames": [
- "Schmidt"
- ],
- "jobTitles": [
- "Member of the editorial management",
- "Project manager",
- "Full professor"
- ],
- "address": {
- "__type": "Address",
- "street": "Petersgraben 27/29",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- },
- "emails": [
- "matthias.schmidt@unibas.ch"
- ],
- "givenNames": [
- "Matthias"
- ],
- "affiliation": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-001",
- "http://ns.dasch.swiss/repository#dsp-0806-organization-000"
- ]
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-person-003",
- "__type": "Person",
- "__created": "1623677797681283000",
- "__modified": "1623677797681284000",
- "address": {
- "__type": "Address",
- "street": "Petersgraben 27/29",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- },
- "jobTitles": [
- "Research associate"
- ],
- "emails": [
- "barbara.schingnitz@unibas.ch"
- ],
- "authorityRefs": [
- {
- "__type": "URL",
- "text": "GND URL: http://d-nb.info/gnd/130219827",
- "type": "GND",
- "url": "http://d-nb.info/gnd/130219827"
- }
- ],
- "givenNames": [
- "Barbara"
- ],
- "familyNames": [
- "Schingnitz"
- ],
- "affiliation": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-000",
- "http://ns.dasch.swiss/repository#dsp-0806-organization-001"
- ]
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-person-001",
- "__type": "Person",
- "__created": "1623677797737650000",
- "__modified": "1623677797737651000",
- "authorityRefs": [
- {
- "__type": "URL",
- "text": "GND URL: http://d-nb.info/gnd/102645249X",
- "type": "GND",
- "url": "http://d-nb.info/gnd/102645249X"
- }
- ],
- "affiliation": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-002",
- "http://ns.dasch.swiss/repository#dsp-0806-organization-000"
- ],
- "jobTitles": [
- "Member of the editorial management",
- "Research associate (PSS)",
- "Curator"
- ],
- "emails": [
- "simon.obert@unibas.ch"
- ],
- "address": {
- "__type": "Address",
- "street": "Münsterplatz 4",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- },
- "givenNames": [
- "Simon"
- ],
- "familyNames": [
- "Obert"
- ]
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-person-004",
- "__type": "Person",
- "__created": "1623677797799482000",
- "__modified": "1623677797799484000",
- "givenNames": [
- "Michael"
- ],
- "authorityRefs": [
- {
- "__type": "URL",
- "text": "GND URL: http://d-nb.info/gnd/1069569267",
- "type": "GND",
- "url": "http://d-nb.info/gnd/1069569267"
- }
- ],
- "jobTitles": [
- "Research associate"
- ],
- "affiliation": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-000",
- "http://ns.dasch.swiss/repository#dsp-0806-organization-001"
- ],
- "address": {
- "__type": "Address",
- "street": "Petersgraben 27/29",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- },
- "emails": [
- "michael.matter@unibas.ch"
- ],
- "familyNames": [
- "Matter"
- ]
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-person-002",
- "__type": "Person",
- "__created": "1623677797852627000",
- "__modified": "1623677797852629000",
- "familyNames": [
- "Ahrend"
- ],
- "emails": [
- "thomas.ahrend@unibas.ch"
- ],
- "givenNames": [
- "Thomas"
- ],
- "affiliation": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-000",
- "http://ns.dasch.swiss/repository#dsp-0806-organization-001"
- ],
- "jobTitles": [
- "Research associate",
- "Member of the editorial management"
- ],
- "address": {
- "__type": "Address",
- "street": "Petersgraben 27/29",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- },
- "authorityRefs": [
- {
- "__type": "URL",
- "text": "GND URL: http://d-nb.info/gnd/129772429",
- "type": "GND",
- "url": "http://d-nb.info/gnd/129772429"
- }
- ]
- }
- ],
- "organizations": [
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-organization-001",
- "__type": "Organization",
- "__created": "1623677797909208000",
- "__modified": "1623677797909210000",
- "alternativeNames": [
- {
- "de": "Fachbereich Musikwissenschaft der Universität Basel"
- }
- ],
- "address": {
- "__type": "Address",
- "street": "Petersgraben 27/29",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- },
- "name": "MWS",
- "url": {
- "__type": "URL",
- "text": "https://mws.unibas.ch/",
- "type": "URL",
- "url": "https://mws.unibas.ch/"
- },
- "email": "sekretariat-mws@unibas.ch"
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-organization-003",
- "__type": "Organization",
- "__created": "1623677797964578000",
- "__modified": "1623677797964580000",
- "alternativeNames": [
- {
- "de": "Schweizerischer Nationalfonds"
- }
- ],
- "name": "SNF",
- "email": "com@snf.ch",
- "address": {
- "__type": "Address",
- "street": "Wildhainweg 3 (Postfach)",
- "postalCode": "CH-3001",
- "locality": "Bern",
- "country": "Switzerland"
- },
- "url": {
- "__type": "URL",
- "text": "http://www.snf.ch",
- "type": "URL",
- "url": "http://www.snf.ch"
- }
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-organization-000",
- "__type": "Organization",
- "__created": "1623677798021509000",
- "__modified": "1623677798021511000",
- "url": {
- "__type": "URL",
- "text": "https://www.anton-webern.ch",
- "type": "URL",
- "url": "https://www.anton-webern.ch"
- },
- "address": {
- "__type": "Address",
- "street": "Petersgraben 27/29",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- },
- "name": "Anton Webern Gesamtausgabe",
- "email": "info-awg@unibas.ch"
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-organization-002",
- "__type": "Organization",
- "__created": "1623677798076951000",
- "__modified": "1623677798076954000",
- "email": "office-pss@unibas.ch",
- "url": {
- "__type": "URL",
- "text": "https://paul-sacher-stiftung.ch",
- "type": "URL",
- "url": "https://paul-sacher-stiftung.ch"
- },
- "name": "Paul Sacher Stiftung",
- "address": {
- "__type": "Address",
- "street": "Münsterplatz 4",
- "postalCode": "CH-4051",
- "locality": "Basel",
- "country": "Switzerland"
- }
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-organization-004",
- "__type": "Organization",
- "__created": "1623677798141543000",
- "__modified": "1623677798141545000",
- "alternativeNames": [
- {
- "de": "SAGW"
- }
- ],
- "email": "sagw@sagw.ch",
- "address": {
- "__type": "Address",
- "street": "Laupenstrasse 7 (Postfach)",
- "postalCode": "CH-3001",
- "locality": "Bern",
- "country": "Switzerland"
- },
- "name": "Schweizerische Akademie der Geistes- und Sozialwissenschaften",
- "url": {
- "__type": "URL",
- "text": "https://sagw.ch/",
- "type": "URL",
- "url": "https://sagw.ch/"
- }
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-organization-005",
- "__type": "Organization",
- "__created": "1623677798197178000",
- "__modified": "1623677798197180000",
- "alternativeNames": [
- {
- "de": "Ernst von Siemens Musikstiftung"
- }
- ],
- "name": "EvS",
- "address": {
- "__type": "Address",
- "street": "Landis + Gyr-Strasse 1",
- "postalCode": "CH-6300",
- "locality": "Zug",
- "country": "Switzerland"
- },
- "email": "rossnagl@evs-musikstiftung.ch",
- "url": {
- "__type": "URL",
- "text": "https://www.evs-musikstiftung.ch",
- "type": "URL",
- "url": "https://www.evs-musikstiftung.ch"
- }
- }
- ],
- "grants": [
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-grant-003",
- "__type": "Grant",
- "__created": "1623677798653666000",
- "__modified": "1623677798653667000",
- "number": "143565",
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-003"
- ],
- "name": "Projektförderung (spezial) [2012–2015]",
- "url": {
- "__type": "URL",
- "text": "http://p3.snf.ch/Project-143565",
- "type": "URL",
- "url": "http://p3.snf.ch/Project-143565"
- }
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-grant-007",
- "__type": "Grant",
- "__created": "1623677798653963000",
- "__modified": "1623677798653964000",
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-005"
- ],
- "number": "E09_471",
- "name": "[2010–2012]",
- "url": {
- "__type": "URL",
- "text": "https://www.evs-musikstiftung.ch/de/preise/preise/archiv/foerderprojekte/2011/publikationentagungen/historisch-kritische-gesamtausgabe",
- "type": "URL",
- "url": "https://www.evs-musikstiftung.ch/de/preise/preise/archiv/foerderprojekte/2011/publikationentagungen/historisch-kritische-gesamtausgabe"
- }
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-grant-004",
- "__type": "Grant",
- "__created": "1623677798654253000",
- "__modified": "1623677798654254000",
- "number": "126789",
- "url": {
- "__type": "URL",
- "text": "http://p3.snf.ch/Project-126789",
- "type": "URL",
- "url": "http://p3.snf.ch/Project-126789"
- },
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-003"
- ],
- "name": "Projektförderung (Abt. I-III) [2009–2012]"
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-grant-002",
- "__type": "Grant",
- "__created": "1623677798654538000",
- "__modified": "1623677798654539000",
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-003"
- ],
- "name": "Projektförderung (spezial) [2015–2017]",
- "url": {
- "__type": "URL",
- "text": "http://p3.snf.ch/Project-162871",
- "type": "URL",
- "url": "http://p3.snf.ch/Project-162871"
- },
- "number": "162871"
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-grant-000",
- "__type": "Grant",
- "__created": "1623677798654823000",
- "__modified": "1623677798654824000",
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-004"
- ],
- "name": "Editionen [2021–2024]"
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-grant-005",
- "__type": "Grant",
- "__created": "1623677798654952000",
- "__modified": "1623677798654953000",
- "number": "113769",
- "url": {
- "__type": "URL",
- "text": "http://p3.snf.ch/Project-113769",
- "type": "URL",
- "url": "http://p3.snf.ch/Project-113769"
- },
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-003"
- ],
- "name": "Projektförderung (Abt. I-III) [2006–2009]"
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-grant-006",
- "__type": "Grant",
- "__created": "1623677798655237000",
- "__modified": "1623677798655238000",
- "number": "E13_1003",
- "name": "[2014–2016]",
- "url": {
- "__type": "URL",
- "text": "https://www.evs-musikstiftung.ch/de/preise/preise/foerderprojekte/symposienpublikationen/anton-webern-briefwechsel-mit-der-universal-0",
- "type": "URL",
- "url": "https://www.evs-musikstiftung.ch/de/preise/preise/foerderprojekte/symposienpublikationen/anton-webern-briefwechsel-mit-der-universal-0"
- },
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-005"
- ]
- },
- {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-grant-001",
- "__type": "Grant",
- "__created": "1623677798655531000",
- "__modified": "1623677798655532000",
- "name": "Editionen [2017–2020]",
- "number": "157968",
- "funders": [
- "http://ns.dasch.swiss/repository#dsp-0806-organization-003"
- ],
- "url": {
- "__type": "URL",
- "text": "http://p3.snf.ch/Project-157968",
- "type": "URL",
- "url": "http://p3.snf.ch/Project-157968"
- }
- }
- ],
- "dataManagementPlan": {
- "__id": "http://ns.dasch.swiss/repository#dsp-0806-dmp",
- "__type": "DataManagementPlan",
- "__created": "1623677798655854000",
- "__modified": "1623677798655854000",
- "available": true
- }
-}
diff --git a/docs/domain_model/schema-metadata.json b/docs/domain_model/schema-metadata.json
deleted file mode 120000
index 5c52941d..00000000
--- a/docs/domain_model/schema-metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-../../resources/schema-metadata-final.json
\ No newline at end of file
diff --git a/docs/domain_model/schema-metadata.shacl b/docs/domain_model/schema-metadata.shacl
deleted file mode 100644
index 305ff0f3..00000000
--- a/docs/domain_model/schema-metadata.shacl
+++ /dev/null
@@ -1,621 +0,0 @@
-@prefix dsp: .
-@prefix owl: .
-@prefix rdf: .
-@prefix rdfs: .
-@prefix sh: .
-@prefix xsd: .
-@prefix sdo: .
-@prefix prov: .
-
-#
-# Validation:
-# `pyshacl -s docs/services/metadata/schema-metadata.shacl -sf turtle -f human docs/services/metadata/example.ttl`
-# or even
-# `pyshacl -s docs/services/metadata/schema-metadata.shacl -sf turtle -f human docs/services/metadata/example.ttl | egrep "(^Result|^Conforms)"`
-#
-
-@base .
-
-
-
-
-# Project
-# -------
-
-
-dsp:ProjectShape a sh:NodeShape ;
- sh:targetClass dsp:Project ;
- sh:property [
- sh:path dsp:hasShortcode ;
- sh:name "Shortcode" ;
- sh:description "Shortcode of the project."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasName ;
- sh:name "Name" ;
- sh:description "Name of the project."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDescription ;
- sh:name "Description" ;
- sh:description "A human readable description of the project."@en ;
- sh:datatype rdf:langString ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasStartDate ;
- sh:name "Start Date" ;
- sh:description "Start date of the project."@en ;
- sh:datatype xsd:date ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasTeaser ;
- sh:name "Teaser" ;
- sh:description "Short description of the project for previewing."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDataset ;
- sh:name "Dataset" ;
- sh:description "The datasets of which the project consists."@en ;
- sh:class dsp:Dataset ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasKeyword ;
- sh:name "Keyword" ;
- sh:description "Keyword/Tag describing the project."@en ;
- sh:datatype rdf:langString ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDiscipline ;
- sh:name "Discipline" ;
- sh:description "Discipline/field of research of the project."@en ;
- sh:or (
- [ sh:datatype rdf:langString ]
- [ sh:class sdo:URL ]
- ) ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasTemporalCoverage ;
- sh:name "Temporal coverage" ;
- sh:description "Temporal coverage of the project."@en ;
- sh:or (
- [ sh:datatype rdf:langString ]
- [ sh:class sdo:URL ]
- ) ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasSpatialCoverage ;
- sh:name "Spatial coverage" ;
- sh:description "Spatial coverage of the project."@en ;
- sh:class sdo:URL ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasFunder ;
- sh:name "Funder" ;
- sh:description "Funder of the project."@en ;
- sh:or (
- [ sh:class dsp:Person ]
- [ sh:class dsp:Organization ]
- ) ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasURL ;
- sh:name "Primary URL" ;
- sh:description "Primary URL of the project. This should be the project landing page or website hosted by the DaSCH."@en ;
- sh:class sdo:URL ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasSecondaryURL ;
- sh:name "Secondary URL" ;
- sh:description "Optional secondary project URL. This can point to any external project website."@en ;
- sh:class sdo:URL ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDataManagementPlan ;
- sh:name "Data management plan" ;
- sh:description "Data management plan of the project."@en ;
- sh:class dsp:DataManagementPlan ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasEndDate ;
- sh:name "End Date" ;
- sh:description "End date of the project.."@en ;
- sh:datatype xsd:date ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasContactPoint ;
- sh:name "Contact Point" ;
- sh:description "Contact point of the project."@en ;
- sh:or (
- [ sh:class dsp:Person ]
- [ sh:class dsp:Organization ]
- ) ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasHowToCite ;
- sh:name "how to cite" ;
- sh:description "A string representation of how the project can be cited."@en ;
- sh:datatype xsd:string ;
- sh:minCount 1 ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasPublication ;
- sh:name "Publication" ;
- sh:description "Publication produced during the lifetime of the project."@en ;
- sh:datatype xsd:string ; ] ;
- sh:property [
- sh:path dsp:hasGrant ;
- sh:name "Grant" ;
- sh:description "Financial grant of the project."@en ;
- sh:class dsp:Grant ; ] ;
- sh:property [
- sh:path dsp:hasAlternativeName ;
- sh:name "Alternative Name" ;
- sh:description "Alternative names of the project."@en ;
- sh:datatype rdf:langString ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# Dataset
-# -------
-
-
-dsp:DatasetShape a sh:NodeShape ;
- sh:targetClass dsp:Dataset ;
- sh:property [
- sh:path dsp:hasTitle ;
- sh:name "Title" ;
- sh:description "The title of the dataset."@en ;
- sh:datatype xsd:string ;
- sh:minCount 1 ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasAccessConditions ;
- sh:name "Access Conditions" ;
- sh:description "The conditions under which the data of the dataset can be accessed."@en ;
- sh:datatype xsd:string ;
- sh:in (
- "open"^^xsd:string
- "restricted"^^xsd:string
- "closed"^^xsd:string ) ;
- sh:minCount 1 ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasHowToCite ;
- sh:name "How To Cite" ;
- sh:description "A string representation of how the dataset can be cited."@en ;
- sh:datatype xsd:string ;
- sh:minCount 1 ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasStatus ;
- sh:name "Status" ;
- sh:description "The status of the dataset."@en ;
- sh:datatype xsd:string ;
- sh:in (
- "In planning"^^xsd:string
- "Ongoing"^^xsd:string
- "On hold"^^xsd:string
- "Finished"^^xsd:string ) ;
- sh:minCount 1 ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasAbstract ;
- sh:name "Abstract" ;
- sh:description "Abstract describing the dataset."@en ;
- sh:or (
- [ sh:datatype rdf:langString ]
- [ sh:class sdo:URL ]
- ) ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasTypeOfData ;
- sh:name "Type of data" ;
- sh:description "Type of data held by the dataset: XML, Text, Image, Movie, Audio"@en ;
- sh:datatype xsd:string ;
- sh:in (
- "XML"^^xsd:string
- "Text"^^xsd:string
- "Image"^^xsd:string
- "Video"^^xsd:string
- "Audio"^^xsd:string ) ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasLicense ;
- sh:name "License" ;
- sh:description "License under which the dataset is published."@en ;
- sh:class dsp:License ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasLanguage ;
- sh:name "Language" ;
- sh:description "Language present in the dataset."@en ;
- sh:datatype rdf:langString ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasQualifiedAttribution ;
- sh:name "Qualified Attribution" ;
- sh:description "Attribution of work to a person or organization, taking in one or more roles."@en ;
- sh:class prov:Attribution ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDatePublished ;
- sh:name "Publication Date" ;
- sh:description "Publishing date of the dataset."@en ;
- sh:datatype xsd:date ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDateCreated ;
- sh:name "Creation Date" ;
- sh:description "Creation date of the dataset."@en ;
- sh:datatype xsd:date ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDateModified ;
- sh:name "Modification Date" ;
- sh:description "Last modification date of the dataset."@en ;
- sh:datatype xsd:date ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDistribution ;
- sh:name "Download" ;
- sh:description "A downloadable form of the dataset."@en ;
- sh:class sdo:DataDownload ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasAlternativeTitle ;
- sh:name "Alternative Title" ;
- sh:description "Alternative titles of the dataset."@en ;
- sh:datatype rdf:langString ;] ;
- sh:property [
- sh:path dsp:hasURL ;
- sh:name "URL" ;
- sh:description "URL pointing to representations of this dataset."@en ;
- sh:class sdo:URL ; ] ;
- sh:property [
- sh:path dsp:hasAdditional ;
- sh:name "Additional Information" ;
- sh:description "Additional information about the dataset."@en ;
- sh:or (
- [ sh:datatype rdf:langString ]
- [ sh:class sdo:URL ]
- ) ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# Person
-# ------
-
-
-dsp:PersonShape a sh:NodeShape ;
- sh:targetClass dsp:Person ;
- sh:property [
- sh:path dsp:hasJobTitle ;
- sh:name "Job Title" ;
- sh:description "The job title of the person."@en ;
- sh:datatype xsd:string ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasGivenName ;
- sh:name "Given Name" ;
- sh:description "Given name of the person."@en ;
- sh:datatype xsd:string ;
- sh:minCount 1 ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasFamilyName ;
- sh:name "Family Name" ;
- sh:description "Family name of the person."@en ;
- sh:datatype xsd:string ;
- sh:minCount 1 ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasAffiliation ;
- sh:name "Institutional Affiliation" ;
- sh:description "Institutional affiliation of the person."@en ;
- sh:class dsp:Organization ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasAddress ;
- sh:name "Postal Address" ;
- sh:description "Postal address of the person."@en ;
- sh:class sdo:PostalAddress ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasEmail ;
- sh:name "primary e-mail address" ;
- sh:description "primary e-mail address."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasSecondaryEmail ;
- sh:name "secondary e-mail address" ;
- sh:description "secondary e-mail address."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasAuthorityFileReference ;
- sh:name "Authority File Reference" ;
- sh:description "Reference to an external authority file."@en ;
- sh:class sdo:URL ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# Organization
-# ------------
-
-
-dsp:OrganizationShape a sh:NodeShape ;
- sh:targetClass dsp:Organization ;
- sh:property [
- sh:path dsp:hasName ;
- sh:name "Name" ;
- sh:description "Name of the organization."@en ;
- sh:datatype xsd:string ;
- sh:minCount 1 ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasURL ;
- sh:name "URL" ;
- sh:description "URL of the organization's website."@en ;
- sh:class sdo:URL ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasAddress ;
- sh:name "Postal Address" ;
- sh:description "Postal address of the organization."@en ;
- sh:class sdo:PostalAddress ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasEmail ;
- sh:name "E-mail Address" ;
- sh:description "E-mail address of the organization."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasAlternativeName ;
- sh:name "Alternative Name" ;
- sh:description "Alternative name of the organization."@en ;
- sh:datatype rdf:langString ;] ;
- sh:property [
- sh:path dsp:hasAuthorityFileReference ;
- sh:name "Authority File Reference" ;
- sh:description "Reference to an external authority file."@en ;
- sh:class sdo:URL ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# Data Management Plan
-# --------------------
-
-
-dsp:DataManagementPlanShape a sh:NodeShape ;
- sh:targetClass dsp:DataManagementPlan ;
- sh:property [
- sh:path dsp:isAvailable ;
- sh:name "is available" ;
- sh:description "Indicates if there is a DMP available for the project."@en ;
- sh:datatype xsd:boolean ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasURL ;
- sh:name "URL" ;
- sh:description "URL pointing to the DMP."@en ;
- sh:class sdo:URL ;
- sh:maxCount 1 ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# Grant
-# -----
-
-
-dsp:GrantShape a sh:NodeShape ;
- sh:targetClass dsp:Grant ;
- sh:property [
- sh:path dsp:hasFunder ;
- sh:name "Funder" ;
- sh:description "Legal body funding the grant."@en ;
- sh:or (
- [ sh:class dsp:Person ]
- [ sh:class dsp:Organization ]
- ) ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasNumber ;
- sh:name "Number" ;
- sh:description "The number or identifier assigned to the grant by the funding body."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasName ;
- sh:name "Name" ;
- sh:description "The name that the type of grant is usually referred to."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasURL ;
- sh:name "URL" ;
- sh:description "The URL of the grant."@en ;
- sh:class sdo:URL ;
- sh:maxCount 1 ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# License
-# -------
-
-
-dsp:LicenseShape a sh:NodeShape ;
- sh:targetClass dsp:License ;
- sh:property [
- sh:path dsp:hasURL ;
- sh:name "License URL" ;
- sh:description "URL pointing to the specific license."@en ;
- sh:class sdo:URL ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDate ;
- sh:name "Date" ;
- sh:description "The licensing date."@en ;
- sh:datatype xsd:date ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasDetails ;
- sh:name "Licensing Details" ;
- sh:description "Additional information on the license (e.g. the scope of the license, if multiple licenses are used)."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# Attribution
-# -----------
-
-
-dsp:AttributionShape a sh:NodeShape ;
- sh:targetClass prov:Attribution ;
- sh:property [
- sh:path prov:agent ;
- sh:name "Agent" ;
- sh:description "The Person/Organization."@en ;
- sh:or (
- [ sh:class dsp:Person ]
- [ sh:class dsp:Organization ]
- ) ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:hasRole ;
- sh:name "Role" ;
- sh:description "Role of the person/organization."@en ;
- sh:datatype xsd:string ;
- sh:minCount 1 ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# Data Download
-# -------------
-
-
-dsp:DownloadShape a sh:NodeShape ;
- sh:targetClass sdo:Datadownload ;
- sh:property [
- sh:path sdo:url ;
- sh:name "URL" ;
- sh:description "The URL."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# URL
-# ---
-
-
-dsp:URLShape a sh:NodeShape ;
- sh:targetClass sdo:URL ;
- sh:property [
- sh:path sdo:url ;
- sh:name "URL" ;
- sh:description "The URL."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path sdo:propertyID ;
- sh:name "Property ID" ;
- sh:description "Commonly used identifier."@en ;
- sh:class sdo:PropertyValue ;
- sh:maxCount 1 ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .
-
-
-
-
-# Postal Address
-# --------------
-
-
-dsp:PostalAddressShape a sh:NodeShape ;
- sh:targetClass sdo:PostalAddress ;
- sh:property [
- sh:path sdo:streetAddress ;
- sh:name "Street" ;
- sh:description "Street."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path dsp:additional ;
- sh:name "Additional" ;
- sh:description "Additional information (e.g. Post Pox, c/o)."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path sdo:postalCode ;
- sh:name "Postal Code" ;
- sh:description "Postal Code."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path sdo:addressLocality ;
- sh:name "Locality" ;
- sh:description "Locality (City, Settlement, etc.)."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:property [
- sh:path sdo:addressRegion ;
- sh:name "Region" ;
- sh:description "Region (Canton, State, etc.)."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ; ] ;
- sh:property [
- sh:path sdo:addressCountry ;
- sh:name "Country" ;
- sh:description "Country."@en ;
- sh:datatype xsd:string ;
- sh:maxCount 1 ;
- sh:minCount 1 ; ] ;
- sh:closed true ;
- sh:ignoredProperties (rdf:type) .