From fdd098f38acd2538a8a06bae79cc934703219437 Mon Sep 17 00:00:00 2001 From: Benjamin Geer Date: Tue, 25 May 2021 18:55:23 +0200 Subject: [PATCH] feat(api-v2): Add routes for checking whether ontology entities can be changed (DSP-1621) (#1861) --- docs/03-apis/api-v2/ontology-information.md | 70 +- .../anythingOntologyWithValueObjects.ttl | 884 +- .../anythingThingWithAllLanguages.ttl | 176 +- .../boxOntologyWithValueObjects.ttl | 66 +- test_data/ontologyR2RV2/imagesBild.ttl | 178 +- test_data/ontologyR2RV2/incunabulaBook.ttl | 124 +- .../incunabulaOntologySimple.ttl | 178 +- .../incunabulaOntologyWithValueObjects.ttl | 474 +- test_data/ontologyR2RV2/incunabulaPage.ttl | 134 +- .../incunabulaPageAndBookWithValueObjects.ttl | 276 +- test_data/ontologyR2RV2/knoraApiDateValue.ttl | 54 +- .../ontologyR2RV2/knoraApiOntologySimple.ttl | 214 +- .../knoraApiOntologyWithValueObjects.jsonld | 9 + .../knoraApiOntologyWithValueObjects.rdf | 14227 ++++++++++------ .../knoraApiOntologyWithValueObjects.ttl | 2237 +-- .../standoffOntologyWithValueObjects.ttl | 808 +- webapi/scripts/expected-client-test-data.txt | 1 + .../webapi/messages/OntologyConstants.scala | 7 +- .../v2/responder/KnoraResponseV2.scala | 42 +- ...aseToApiV2ComplexTransformationRules.scala | 21 + .../ontologymessages/OntologyMessagesV2.scala | 95 +- .../knora/webapi/responders/Responder.scala | 45 +- .../responders/v2/OntologyResponderV2.scala | 259 +- .../responders/v2/ResourcesResponderV2.scala | 2 +- .../webapi/routing/v2/OntologiesRouteV2.scala | 164 +- .../webapi/e2e/v2/OntologyV2R2RSpec.scala | 110 +- 26 files changed, 12494 insertions(+), 8361 deletions(-) diff --git a/docs/03-apis/api-v2/ontology-information.md b/docs/03-apis/api-v2/ontology-information.md index ca81d2b3ce..990f9011c8 100644 --- a/docs/03-apis/api-v2/ontology-information.md +++ b/docs/03-apis/api-v2/ontology-information.md @@ -967,7 +967,7 @@ and the request must have this additional boolean property: "knora-api:isShared" : true ``` -See [Shared Ontologies](knora-iris.md#shared-ontologies) for details about +See [Shared Ontologies](../../02-knora-ontologies/introduction.md#shared-ontologies) for details about shared ontologies. A successful response will be a JSON-LD document providing only the @@ -1051,6 +1051,23 @@ URL-encoded. A successful response will be a JSON-LD document containing a confirmation message. +To check whether a property can be deleted: + +``` +HTTP GET to http://host/v2/ontologies/candeleteontology/ONTOLOGY_IRI +``` + +The response will look like this: + +```jsonld +{ + "knora-api:canDo": false, + "@context": { + "knora-api": "http://api.knora.org/ontology/knora-api/v2#" + } +} +``` + ### Creating a Class Without Cardinalities ``` @@ -1558,6 +1575,23 @@ on the corresponding link value property is automatically added (see A successful response will be a JSON-LD document providing the new class definition (but not any of the other entities in the ontology). +To check whether a class's cardinalities can be replaced: + +``` +HTTP GET to http://host/v2/ontologies/canreplacecardinalities/CLASS_IRI +``` + +The response will look like this: + +```jsonld +{ + "knora-api:canDo": false, + "@context": { + "knora-api": "http://api.knora.org/ontology/knora-api/v2#" + } +} +``` + ### Changing the GUI Order of Cardinalities To change the GUI order of one or more cardinalities in a class: @@ -1625,6 +1659,23 @@ will automatically be deleted. A successful response will be a JSON-LD document providing only the ontology's metadata. +To check whether a property can be deleted: + +``` +HTTP GET to http://host/v2/ontologies/candeleteproperty/PROPERTY_IRI +``` + +The response will look like this: + +```jsonld +{ + "knora-api:canDo": false, + "@context": { + "knora-api": "http://api.knora.org/ontology/knora-api/v2#" + } +} +``` + ### Deleting a Class A class can be deleted only if no other ontology entity refers to it, @@ -1639,3 +1690,20 @@ URL-encoded. A successful response will be a JSON-LD document providing only the ontology's metadata. + +To check whether a class can be deleted: + +``` +HTTP GET to http://host/v2/ontologies/candeleteclass/CLASS_IRI +``` + +The response will look like this: + +```jsonld +{ + "knora-api:canDo": false, + "@context": { + "knora-api": "http://api.knora.org/ontology/knora-api/v2#" + } +} +``` diff --git a/test_data/ontologyR2RV2/anythingOntologyWithValueObjects.ttl b/test_data/ontologyR2RV2/anythingOntologyWithValueObjects.ttl index 71a6e53e15..a6546ae749 100644 --- a/test_data/ontologyR2RV2/anythingOntologyWithValueObjects.ttl +++ b/test_data/ontologyR2RV2/anythingOntologyWithValueObjects.ttl @@ -6,15 +6,6 @@ @prefix knora-api: . @prefix anything: . -anything:hasGeoname a owl:ObjectProperty ; - rdfs:label "Geoname" ; - rdfs:subPropertyOf knora-api:hasValue ; - knora-api:isEditable true ; - knora-api:isResourceProperty true ; - knora-api:objectType knora-api:GeonameValue ; - knora-api:subjectType anything:Thing ; - salsah-gui:guiElement salsah-gui:Geonames . - anything:hasThingPicture a owl:ObjectProperty ; rdfs:label "Picture of a thing" ; @@ -37,104 +28,105 @@ anything:hasOtherListItem salsah-gui:guiAttribute "hlist=" ; salsah-gui:guiElement salsah-gui:List . +anything:hasPictureTitle + a owl:ObjectProperty ; + rdfs:label "Title" ; + rdfs:subPropertyOf knora-api:hasValue ; + knora-api:isEditable true ; + knora-api:isResourceProperty true ; + knora-api:objectType knora-api:TextValue ; + knora-api:subjectType anything:ThingPicture ; + salsah-gui:guiAttribute "size=80" , "maxlength=255" ; + salsah-gui:guiElement salsah-gui:SimpleText . + anything:BlueThing a owl:Class ; rdfs:comment "Diese Resource-Klasse beschreibt ein blaues Ding" ; rdfs:label "Blue thing" ; rdfs:subClassOf anything:Thing ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 7 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasUri + owl:onProperty anything:hasThingPicture ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 0 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasListItem + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 0 ; + salsah-gui:guiOrder 2 ; owl:minCardinality 0 ; - owl:onProperty anything:hasOtherListItem + owl:onProperty anything:hasText ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingPictureValue + owl:onProperty anything:hasThingDocumentValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:attachedToUser ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 63 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasBlueThingValue - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 2 ; owl:minCardinality 0 ; - owl:onProperty anything:hasText + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 6 ; owl:maxCardinality 1 ; - owl:onProperty anything:hasBoolean + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingDocumentValue + owl:onProperty knora-api:hasIncomingLinkValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 63 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasBlueThing ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + salsah-gui:guiOrder 2 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasRichtext ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 13 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasThingDocument + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 13 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasThingPicture + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 15 ; + salsah-gui:guiOrder 0 ; owl:minCardinality 0 ; - owl:onProperty anything:isPartOfOtherThingValue + owl:onProperty anything:hasListItem ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -144,132 +136,131 @@ anything:BlueThing a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; + salsah-gui:guiOrder 4 ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:onProperty anything:hasInteger ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 2 ; + salsah-gui:guiOrder 10 ; owl:minCardinality 0 ; - owl:onProperty anything:hasRichtext + owl:onProperty anything:hasColor ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; + salsah-gui:guiOrder 6 ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 63 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasBlueThing + owl:onProperty anything:hasBoolean ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + salsah-gui:guiOrder 7 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasUri ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 4 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasInteger + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 9 ; + salsah-gui:guiOrder 12 ; owl:minCardinality 0 ; - owl:onProperty anything:hasInterval + owl:onProperty anything:hasGeoname ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + salsah-gui:guiOrder 15 ; + owl:minCardinality 0 ; + owl:onProperty anything:isPartOfOtherThingValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasTimeStamp + owl:onProperty anything:hasThingDocument ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + salsah-gui:guiOrder 15 ; + owl:minCardinality 0 ; + owl:onProperty anything:isPartOfOtherThing ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 5 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasDecimal + owl:onProperty anything:hasTimeStamp ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + salsah-gui:guiOrder 9 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasInterval + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 63 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasBlueThingValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 15 ; + salsah-gui:guiOrder 5 ; owl:minCardinality 0 ; - owl:onProperty anything:isPartOfOtherThing + owl:onProperty anything:hasDecimal ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 3 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasDate + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + salsah-gui:guiOrder 0 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasOtherListItem ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 10 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasColor + owl:onProperty anything:hasThingPictureValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 12 ; + salsah-gui:guiOrder 3 ; owl:minCardinality 0 ; - owl:onProperty anything:hasGeoname + owl:onProperty anything:hasDate ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true . -anything:hasPictureTitle - a owl:ObjectProperty ; - rdfs:label "Title" ; - rdfs:subPropertyOf knora-api:hasValue ; - knora-api:isEditable true ; - knora-api:isResourceProperty true ; - knora-api:objectType knora-api:TextValue ; - knora-api:subjectType anything:ThingPicture ; - salsah-gui:guiAttribute "size=80" , "maxlength=255" ; - salsah-gui:guiElement salsah-gui:SimpleText . - anything:thingHasRegion a owl:ObjectProperty ; rdfs:label "has region" ; @@ -289,96 +280,96 @@ anything:ThingPicture rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty anything:hasPictureTitle ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty anything:hasPictureTitle + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:hasStillImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFileValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; @@ -412,15 +403,25 @@ anything:ThingWithSeqnum rdfs:subClassOf anything:Thing ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 15 ; + salsah-gui:guiOrder 2 ; owl:minCardinality 0 ; - owl:onProperty anything:isPartOfOtherThingValue + owl:onProperty anything:hasRichtext + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 5 ; owl:minCardinality 0 ; - owl:onProperty anything:hasDecimal + owl:onProperty knora-api:hasStandoffLinkTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + salsah-gui:guiOrder 1 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasOtherThing ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -430,18 +431,20 @@ anything:ThingWithSeqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + salsah-gui:guiOrder 1 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasOtherThingValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + salsah-gui:guiOrder 0 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasOtherListItem ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -451,48 +454,47 @@ anything:ThingWithSeqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 13 ; + salsah-gui:guiOrder 0 ; owl:minCardinality 0 ; - owl:onProperty anything:hasTimeStamp + owl:onProperty anything:hasListItem ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + salsah-gui:guiOrder 2 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasText ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 11 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasGeometry + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 2 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasText + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 2 ; + salsah-gui:guiOrder 7 ; owl:minCardinality 0 ; - owl:onProperty anything:hasRichtext + owl:onProperty anything:hasUri ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 3 ; + salsah-gui:guiOrder 11 ; owl:minCardinality 0 ; - owl:onProperty anything:hasDate + owl:onProperty anything:hasGeometry ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -502,9 +504,8 @@ anything:ThingWithSeqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 10 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasColor + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -514,51 +515,31 @@ anything:ThingWithSeqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 1 ; + salsah-gui:guiOrder 9 ; owl:minCardinality 0 ; - owl:onProperty anything:hasOtherThingValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty anything:hasInterval ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 100 ; - owl:minCardinality 0 ; - owl:onProperty knora-api:seqnum + salsah-gui:guiOrder 13 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasThingDocumentValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - salsah-gui:guiOrder 7 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasUri + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 13 ; + salsah-gui:guiOrder 3 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingPictureValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty anything:hasDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -568,9 +549,19 @@ anything:ThingWithSeqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 0 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasOtherListItem + owl:onProperty anything:hasTimeStamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 100 ; + owl:minCardinality 0 ; + owl:onProperty knora-api:seqnum + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -579,46 +570,47 @@ anything:ThingWithSeqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 13 ; + salsah-gui:guiOrder 5 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingDocumentValue + owl:onProperty anything:hasDecimal ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 9 ; owl:minCardinality 0 ; - owl:onProperty anything:hasInterval + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + salsah-gui:guiOrder 13 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasThingPictureValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 0 ; + salsah-gui:guiOrder 15 ; owl:minCardinality 0 ; - owl:onProperty anything:hasListItem + owl:onProperty anything:isPartOfOtherThingValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + salsah-gui:guiOrder 10 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasColor ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -628,9 +620,8 @@ anything:ThingWithSeqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - salsah-gui:guiOrder 1 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasOtherThing + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true . @@ -693,33 +684,33 @@ anything:TrivialThing rdfs:subClassOf knora-api:Resource ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -728,53 +719,53 @@ anything:TrivialThing ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:deleteComment ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; @@ -824,33 +815,28 @@ anything:ThingDocument rdfs:subClassOf knora-api:DocumentRepresentation ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasDocumentFileValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; @@ -858,33 +844,33 @@ anything:ThingDocument ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -893,28 +879,33 @@ anything:ThingDocument ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:hasDocumentFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:attachedToProject + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; @@ -957,22 +948,21 @@ anything:ThingWithRegion rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:versionArkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty anything:thingHasRegion ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -982,46 +972,47 @@ anything:ThingWithRegion rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkTo ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty anything:thingHasRegion + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; @@ -1029,18 +1020,18 @@ anything:ThingWithRegion ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1078,197 +1069,197 @@ anything:Thing a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasRichtext - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 15 ; - owl:minCardinality 0 ; - owl:onProperty anything:isPartOfOtherThingValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasUri + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasGeoname + owl:onProperty anything:hasTimeStamp ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 5 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasDecimal ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 3 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasDate ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingDocument + owl:onProperty anything:hasThingPicture ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 9 ; + salsah-gui:guiOrder 1 ; owl:minCardinality 0 ; - owl:onProperty anything:hasInterval + owl:onProperty anything:hasOtherThing ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; + salsah-gui:guiOrder 10 ; owl:minCardinality 0 ; - owl:onProperty anything:hasOtherThing + owl:onProperty anything:hasColor ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 13 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasTimeStamp + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 13 ; + salsah-gui:guiOrder 9 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingPicture + owl:onProperty anything:hasInterval + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 11 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasGeometry + owl:onProperty anything:hasThingPictureValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 3 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasDate + owl:onProperty anything:hasThingDocumentValue ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 0 ; owl:minCardinality 0 ; owl:onProperty anything:hasOtherListItem ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 4 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasInteger - ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 6 ; owl:maxCardinality 1 ; owl:onProperty anything:hasBoolean ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 15 ; + owl:minCardinality 0 ; + owl:onProperty anything:isPartOfOtherThingValue + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 13 ; + salsah-gui:guiOrder 4 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingPictureValue + owl:onProperty anything:hasInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasRichtext + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 15 ; + owl:minCardinality 0 ; + owl:onProperty anything:isPartOfOtherThing ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingDocumentValue + owl:onProperty anything:hasThingDocument ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 2 ; owl:minCardinality 0 ; owl:onProperty anything:hasText ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 15 ; - owl:minCardinality 0 ; - owl:onProperty anything:isPartOfOtherThing - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 7 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasUri ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 10 ; + salsah-gui:guiOrder 0 ; owl:minCardinality 0 ; - owl:onProperty anything:hasColor + owl:onProperty anything:hasListItem ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; + salsah-gui:guiOrder 12 ; owl:minCardinality 0 ; - owl:onProperty anything:hasOtherThingValue + owl:onProperty anything:hasGeoname ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 0 ; + salsah-gui:guiOrder 11 ; owl:minCardinality 0 ; - owl:onProperty anything:hasListItem + owl:onProperty anything:hasGeometry + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; + salsah-gui:guiOrder 1 ; owl:minCardinality 0 ; - owl:onProperty anything:hasDecimal + owl:onProperty anything:hasOtherThingValue ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; @@ -1287,96 +1278,96 @@ anything:StandoffEventTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartYear - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:dateValueHasStartEra ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:dateValueHasStartDay ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartMonth + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty anything:standoffEventTagHasDescription - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasEndDay + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasCalendar ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasCalendar + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartDay + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasStartYear ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasEndYear + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasEndMonth ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasStartMonth ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:dateValueHasEndDay + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty anything:standoffEventTagHasDescription ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartEra + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasEndParent ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasEndYear + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasEndMonth + owl:onProperty knora-api:standoffTagHasEndIndex ] ; knora-api:isStandoffClass true . @@ -1462,55 +1453,46 @@ anything:ThingWithRepresentation rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasRepresentation ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasRepresentationValue - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:userHasPermission + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1520,12 +1502,11 @@ anything:ThingWithRepresentation rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:versionArkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasRepresentationValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1535,17 +1516,27 @@ anything:ThingWithRepresentation rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:attachedToUser + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1565,3 +1556,12 @@ anything:hasOtherThingValue knora-api:objectType knora-api:LinkValue ; knora-api:subjectType anything:Thing ; salsah-gui:guiElement salsah-gui:Searchbox . + +anything:hasGeoname a owl:ObjectProperty ; + rdfs:label "Geoname" ; + rdfs:subPropertyOf knora-api:hasValue ; + knora-api:isEditable true ; + knora-api:isResourceProperty true ; + knora-api:objectType knora-api:GeonameValue ; + knora-api:subjectType anything:Thing ; + salsah-gui:guiElement salsah-gui:Geonames . diff --git a/test_data/ontologyR2RV2/anythingThingWithAllLanguages.ttl b/test_data/ontologyR2RV2/anythingThingWithAllLanguages.ttl index c01927e8b3..07fd2f3490 100644 --- a/test_data/ontologyR2RV2/anythingThingWithAllLanguages.ttl +++ b/test_data/ontologyR2RV2/anythingThingWithAllLanguages.ttl @@ -17,59 +17,59 @@ anything:Thing a owl:Class ; rdfs:label "Chose"@fr , "Ding"@de , "Cosa"@it , "Thing"@en ; rdfs:subClassOf knora-api:Resource ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; + salsah-gui:guiOrder 15 ; owl:minCardinality 0 ; - owl:onProperty anything:hasDecimal + owl:onProperty anything:isPartOfOtherThingValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; + salsah-gui:guiOrder 15 ; owl:minCardinality 0 ; - owl:onProperty anything:hasText + owl:onProperty anything:isPartOfOtherThing ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasUri + owl:onProperty anything:hasTimeStamp ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 10 ; + salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasColor + owl:onProperty anything:hasThingPictureValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 0 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasListItem + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 15 ; + salsah-gui:guiOrder 4 ; owl:minCardinality 0 ; - owl:onProperty anything:isPartOfOtherThing + owl:onProperty anything:hasInteger ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingPictureValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasOtherThing + owl:onProperty anything:hasThingDocument ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 11 ; + salsah-gui:guiOrder 0 ; owl:minCardinality 0 ; - owl:onProperty anything:hasGeometry + owl:onProperty anything:hasListItem + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 5 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasDecimal ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -77,69 +77,94 @@ anything:Thing a owl:Class ; owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; + salsah-gui:guiOrder 9 ; owl:minCardinality 0 ; - owl:onProperty anything:hasGeoname + owl:onProperty anything:hasInterval ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:attachedToProject + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 10 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasColor ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingDocument + owl:onProperty anything:hasThingDocumentValue ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 13 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasTimeStamp + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 13 ; + salsah-gui:guiOrder 1 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingPicture + owl:onProperty anything:hasOtherThingValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 0 ; owl:minCardinality 0 ; owl:onProperty anything:hasOtherListItem ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 3 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasText + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 11 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasGeometry + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 3 ; + salsah-gui:guiOrder 12 ; owl:minCardinality 0 ; - owl:onProperty anything:hasDate + owl:onProperty anything:hasGeoname + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:minCardinality 0 ; + owl:onProperty anything:hasRichtext ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:arkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -149,68 +174,43 @@ anything:Thing a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 9 ; + salsah-gui:guiOrder 7 ; owl:minCardinality 0 ; - owl:onProperty anything:hasInterval + owl:onProperty anything:hasUri ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 15 ; - owl:minCardinality 0 ; - owl:onProperty anything:isPartOfOtherThingValue + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 13 ; owl:minCardinality 0 ; - owl:onProperty anything:hasThingDocumentValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 4 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasInteger + owl:onProperty anything:hasThingPicture ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 1 ; owl:minCardinality 0 ; - owl:onProperty anything:hasOtherThingValue + owl:onProperty anything:hasOtherThing ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 6 ; owl:maxCardinality 1 ; owl:onProperty anything:hasBoolean ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:minCardinality 0 ; - owl:onProperty anything:hasRichtext - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate - ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; knora-api:resourceIcon "thing.png" . diff --git a/test_data/ontologyR2RV2/boxOntologyWithValueObjects.ttl b/test_data/ontologyR2RV2/boxOntologyWithValueObjects.ttl index 64510da05a..c477a56530 100644 --- a/test_data/ontologyR2RV2/boxOntologyWithValueObjects.ttl +++ b/test_data/ontologyR2RV2/boxOntologyWithValueObjects.ttl @@ -10,75 +10,80 @@ example-box:Box a owl:Class ; rdfs:comment "A shared thing." ; rdfs:label "shared thing" ; rdfs:subClassOf knora-api:Resource ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 0 ; - owl:maxCardinality 1 ; - owl:onProperty example-box:hasName + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:versionArkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 0 ; + owl:maxCardinality 1 ; + owl:onProperty example-box:hasName ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -87,18 +92,13 @@ example-box:Box a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:arkUrl ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; diff --git a/test_data/ontologyR2RV2/imagesBild.ttl b/test_data/ontologyR2RV2/imagesBild.ttl index db4de1361e..9b726fa951 100644 --- a/test_data/ontologyR2RV2/imagesBild.ttl +++ b/test_data/ontologyR2RV2/imagesBild.ttl @@ -15,75 +15,55 @@ images:bild a owl:Class ; rdfs:comment "An image of the demo image collection" ; rdfs:label "Image" ; rdfs:subClassOf knora-api:StillImageRepresentation ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 4 ; - owl:minCardinality 1 ; - owl:onProperty images:jahreszeit - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 10 ; - owl:cardinality 1 ; - owl:onProperty images:bearbeiter - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 12 ; + owl:maxCardinality 1 ; + owl:onProperty images:urheberValue ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 12 ; + owl:maxCardinality 1 ; + owl:onProperty images:urheber ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 11 ; + salsah-gui:guiOrder 13 ; owl:maxCardinality 1 ; - owl:onProperty images:negativnummer + owl:onProperty images:copyrightValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 9 ; + salsah-gui:guiOrder 3 ; owl:cardinality 1 ; - owl:onProperty images:mutationsdatum + owl:onProperty images:description ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; - owl:cardinality 1 ; - owl:onProperty images:signatur + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; + salsah-gui:guiOrder 11 ; owl:maxCardinality 1 ; - owl:onProperty images:urheberValue + owl:onProperty images:negativnummer ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; - owl:minCardinality 0 ; - owl:onProperty images:hatBildformat + salsah-gui:guiOrder 6 ; + owl:cardinality 1 ; + owl:onProperty images:jahr_exakt + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 4 ; + owl:minCardinality 1 ; + owl:onProperty images:jahreszeit ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -91,19 +71,19 @@ images:bild a owl:Class ; owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 8 ; - owl:cardinality 1 ; - owl:onProperty images:erfassungsdatum + salsah-gui:guiOrder 13 ; + owl:maxCardinality 1 ; + owl:onProperty images:copyright ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkTo ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; - owl:maxCardinality 1 ; - owl:onProperty images:urheber + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -113,82 +93,102 @@ images:bild a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:attachedToProject ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate + ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 13 ; - owl:maxCardinality 1 ; - owl:onProperty images:copyrightValue + salsah-gui:guiOrder 10 ; + owl:cardinality 1 ; + owl:onProperty images:bearbeiter ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; - owl:minCardinality 0 ; - owl:onProperty images:hatBildformatValue + salsah-gui:guiOrder 5 ; + owl:cardinality 1 ; + owl:onProperty images:jahrzehnt ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; + salsah-gui:guiOrder 9 ; owl:cardinality 1 ; - owl:onProperty images:bildnr + owl:onProperty images:mutationsdatum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:deleteDate ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 6 ; - owl:cardinality 1 ; - owl:onProperty images:jahr_exakt - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFileValue + owl:onProperty knora-api:userHasPermission ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 13 ; - owl:maxCardinality 1 ; - owl:onProperty images:copyright + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 0 ; + salsah-gui:guiOrder 2 ; owl:cardinality 1 ; - owl:onProperty images:titel + owl:onProperty images:bildnr ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; + salsah-gui:guiOrder 1 ; owl:cardinality 1 ; - owl:onProperty images:jahrzehnt + owl:onProperty images:signatur ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 3 ; - owl:cardinality 1 ; - owl:onProperty images:description + salsah-gui:guiOrder 7 ; + owl:minCardinality 0 ; + owl:onProperty images:hatBildformat ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:creationDate ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 0 ; + owl:cardinality 1 ; + owl:onProperty images:titel + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 7 ; + owl:minCardinality 0 ; + owl:onProperty images:hatBildformatValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:hasStillImageFileValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 8 ; + owl:cardinality 1 ; + owl:onProperty images:erfassungsdatum ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; diff --git a/test_data/ontologyR2RV2/incunabulaBook.ttl b/test_data/ontologyR2RV2/incunabulaBook.ttl index 37627b877e..ab4006badc 100644 --- a/test_data/ontologyR2RV2/incunabulaBook.ttl +++ b/test_data/ontologyR2RV2/incunabulaBook.ttl @@ -17,33 +17,23 @@ incunabula:book a owl:Class ; rdfs:subClassOf knora-api:Resource ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; + salsah-gui:guiOrder 2 ; owl:minCardinality 0 ; - owl:onProperty incunabula:citation + owl:onProperty incunabula:hasAuthor ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 5 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:pubdate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 12 ; @@ -52,13 +42,18 @@ incunabula:book a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; + salsah-gui:guiOrder 6 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:url + owl:onProperty incunabula:location + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 4 ; @@ -67,88 +62,88 @@ incunabula:book a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 9 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:physical_desc ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; + salsah-gui:guiOrder 7 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:description + owl:onProperty incunabula:url + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 3 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:publisher + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:attachedToUser ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 9 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:physical_desc + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:deleteComment ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:hasAuthor - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 3 ; + salsah-gui:guiOrder 5 ; owl:minCardinality 0 ; - owl:onProperty incunabula:publisher + owl:onProperty incunabula:citation ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 10 ; owl:minCardinality 0 ; owl:onProperty incunabula:note ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:pubdate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 6 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:location - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 1 ; @@ -157,8 +152,13 @@ incunabula:book a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:description ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; diff --git a/test_data/ontologyR2RV2/incunabulaOntologySimple.ttl b/test_data/ontologyR2RV2/incunabulaOntologySimple.ttl index 8e2575743b..74ca7caaa5 100644 --- a/test_data/ontologyR2RV2/incunabulaOntologySimple.ttl +++ b/test_data/ontologyR2RV2/incunabulaOntologySimple.ttl @@ -23,17 +23,25 @@ incunabula:book a owl:Class ; rdfs:comment "Diese Resource-Klasse beschreibt ein Buch" ; rdfs:label "Book" ; rdfs:subClassOf knora-api:Resource ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty incunabula:book_comment + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty incunabula:publoc + owl:onProperty incunabula:physical_desc ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty incunabula:title + owl:minCardinality 0 ; + owl:onProperty incunabula:book_comment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; @@ -41,55 +49,47 @@ incunabula:book a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty incunabula:description - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty incunabula:url ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty incunabula:hasAuthor + owl:maxCardinality 1 ; + owl:onProperty incunabula:pubdate ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty incunabula:location + owl:onProperty incunabula:description ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty incunabula:hasAuthor ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty incunabula:publisher + owl:maxCardinality 1 ; + owl:onProperty incunabula:publoc ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasIncomingLink ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:url + owl:minCardinality 1 ; + owl:onProperty incunabula:title ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:physical_desc + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:pubdate + owl:minCardinality 0 ; + owl:onProperty incunabula:publisher ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty incunabula:citation ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:location ] ; knora-api:resourceIcon "book.gif" . @@ -104,25 +104,17 @@ incunabula:Sideband a owl:Class ; rdfs:comment "Randleistentyp" ; rdfs:label "Randleiste" ; rdfs:subClassOf knora-api:StillImageRepresentation ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty incunabula:sbTitle - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasIncomingLink ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty incunabula:sideband_comment - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:hasStillImageFile ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFile + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -132,13 +124,21 @@ incunabula:Sideband a owl:Class ; owl:cardinality 1 ; owl:onProperty knora-api:arkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty incunabula:sbTitle + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty incunabula:sideband_comment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] . incunabula:pagenum a owl:DatatypeProperty ; @@ -173,6 +173,12 @@ incunabula:miscHasGeometry knora-api:objectType knora-api:Geom ; knora-api:subjectType incunabula:misc . +incunabula:sbTitle a owl:DatatypeProperty ; + rdfs:label "Title" ; + rdfs:subPropertyOf , knora-api:hasValue ; + knora-api:objectType xsd:string ; + knora-api:subjectType incunabula:Sideband . + incunabula:hasAuthor a owl:DatatypeProperty ; rdfs:comment "Erzeuger/Autor" ; rdfs:label "Creator" ; @@ -180,12 +186,6 @@ incunabula:hasAuthor a owl:DatatypeProperty ; knora-api:objectType xsd:string ; knora-api:subjectType incunabula:book . -incunabula:sbTitle a owl:DatatypeProperty ; - rdfs:label "Title" ; - rdfs:subPropertyOf , knora-api:hasValue ; - knora-api:objectType xsd:string ; - knora-api:subjectType incunabula:Sideband . - incunabula:seqnum a owl:DatatypeProperty ; rdfs:comment "This property stands for the position within a set of rdered items (resoucres)" ; rdfs:label "Sequence number" ; @@ -296,17 +296,13 @@ incunabula:misc a owl:Class ; rdfs:comment "A fake resource class that only has optional properties" ; rdfs:label "Sonstiges" ; rdfs:subClassOf knora-api:Resource ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:miscHasBook - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -316,46 +312,54 @@ incunabula:misc a owl:Class ; owl:minCardinality 0 ; owl:onProperty knora-api:hasIncomingLink ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty incunabula:miscHasGeometry + owl:onProperty incunabula:miscHasBook ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:miscHasGeometry ] . incunabula:page a owl:Class ; rdfs:comment "A page is a part of a book" ; rdfs:label "Page" ; rdfs:subClassOf knora-api:StillImageRepresentation ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasStillImageFile + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty incunabula:hasRightSideband + owl:onProperty incunabula:description ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:seqnum + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLink ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty incunabula:origname ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty incunabula:origname + owl:onProperty knora-api:versionArkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty incunabula:description + owl:onProperty incunabula:hasRightSideband ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -363,39 +367,35 @@ incunabula:page a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty rdfs:label ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:hasLeftSideband + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty incunabula:partOf ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty incunabula:transcription ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFile - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty incunabula:page_comment ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty incunabula:citation ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:maxCardinality 1 ; + owl:onProperty incunabula:seqnum ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty incunabula:page_comment + owl:maxCardinality 1 ; + owl:onProperty incunabula:hasLeftSideband ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty incunabula:partOf + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; knora-api:resourceIcon "page.gif" . diff --git a/test_data/ontologyR2RV2/incunabulaOntologyWithValueObjects.ttl b/test_data/ontologyR2RV2/incunabulaOntologyWithValueObjects.ttl index 8f2d8dbcef..3b2cfee647 100644 --- a/test_data/ontologyR2RV2/incunabulaOntologyWithValueObjects.ttl +++ b/test_data/ontologyR2RV2/incunabulaOntologyWithValueObjects.ttl @@ -6,16 +6,6 @@ @prefix knora-api: . @prefix incunabula: . -incunabula:pubdate a owl:ObjectProperty ; - rdfs:comment "Datum der Herausgabe" ; - rdfs:label "Datum der Herausgabe" ; - rdfs:subPropertyOf , knora-api:hasValue ; - knora-api:isEditable true ; - knora-api:isResourceProperty true ; - knora-api:objectType knora-api:DateValue ; - knora-api:subjectType incunabula:book ; - salsah-gui:guiElement salsah-gui:Date . - incunabula:miscHasBookValue a owl:ObjectProperty ; rdfs:label "Verbindung mit einem Buch" ; @@ -113,37 +103,27 @@ incunabula:Sideband a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:sideband_comment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:hasStillImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 1 ; @@ -153,67 +133,77 @@ incunabula:Sideband a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 0 ; + owl:cardinality 1 ; + owl:onProperty incunabula:sbTitle ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:attachedToProject ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:sideband_comment + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:deleteDate ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 0 ; - owl:cardinality 1 ; - owl:onProperty incunabula:sbTitle + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFileValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:lastModificationDate ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true . @@ -360,67 +350,77 @@ incunabula:misc a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 1 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:miscHasGeometry + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 0 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:miscHasColor ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty knora-api:hasStandoffLinkToValue ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:miscHasBookValue + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 0 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:miscHasColor + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:attachedToProject ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:miscHasGeometry + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -429,38 +429,28 @@ incunabula:misc a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 2 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:miscHasBook - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty incunabula:miscHasBookValue ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:miscHasBook ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty rdfs:label ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true . @@ -469,10 +459,15 @@ incunabula:page a owl:Class ; rdfs:comment "A page is a part of a book" ; rdfs:label "Page" ; rdfs:subClassOf knora-api:StillImageRepresentation ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 10 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:hasLeftSidebandValue + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -481,58 +476,38 @@ incunabula:page a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:citation - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 11 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:hasRightSideband + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:transcription + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:cardinality 1 ; - owl:onProperty incunabula:partOf + salsah-gui:guiOrder 10 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:hasLeftSideband ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; + salsah-gui:guiOrder 1 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:description - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty incunabula:pagenum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty knora-api:hasStillImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 6 ; @@ -542,42 +517,67 @@ incunabula:page a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:creationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 2 ; owl:cardinality 1 ; owl:onProperty incunabula:partOfValue ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:description ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 10 ; + salsah-gui:guiOrder 11 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:hasLeftSideband + owl:onProperty incunabula:hasRightSidebandValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 11 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:hasRightSideband ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 7 ; + owl:cardinality 1 ; + owl:onProperty incunabula:origname ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:cardinality 1 ; + owl:onProperty incunabula:partOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 12 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:transcription ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 3 ; @@ -587,42 +587,32 @@ incunabula:page a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 10 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:hasLeftSidebandValue + owl:onProperty knora-api:versionDate ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:pagenum + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 11 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:hasRightSidebandValue + salsah-gui:guiOrder 5 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:citation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFileValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; - owl:cardinality 1 ; - owl:onProperty incunabula:origname + owl:onProperty knora-api:attachedToUser ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; @@ -668,15 +658,10 @@ incunabula:book a owl:Class ; rdfs:comment "Diese Resource-Klasse beschreibt ein Buch" ; rdfs:label "Book" ; rdfs:subClassOf knora-api:Resource ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 9 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:physical_desc - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 2 ; @@ -686,12 +671,12 @@ incunabula:book a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:isDeleted ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 5 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:citation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -700,48 +685,48 @@ incunabula:book a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:pubdate + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 4 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:publoc - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:book_comment + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:lastModificationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:deleteComment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 1 ; + owl:minCardinality 1 ; + owl:onProperty incunabula:title ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 3 ; @@ -751,67 +736,72 @@ incunabula:book a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:url + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 6 ; + salsah-gui:guiOrder 5 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:location - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; - owl:minCardinality 1 ; - owl:onProperty incunabula:title + owl:onProperty incunabula:pubdate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; + salsah-gui:guiOrder 2 ; owl:minCardinality 0 ; - owl:onProperty incunabula:citation + owl:onProperty incunabula:hasAuthor ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:hasAuthor + salsah-gui:guiOrder 4 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:publoc + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 9 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:physical_desc ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 10 ; owl:minCardinality 0 ; owl:onProperty incunabula:note ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 6 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:location + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 12 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:book_comment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 7 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:url ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:creationDate ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; @@ -854,6 +844,17 @@ incunabula:page_comment salsah-gui:guiAttribute "rows=7" , "wrap=soft" , "width=95%" ; salsah-gui:guiElement salsah-gui:Textarea . +incunabula:transcription + a owl:ObjectProperty ; + rdfs:comment "Transkription" ; + rdfs:label "Transkription" ; + rdfs:subPropertyOf knora-api:hasValue ; + knora-api:isEditable true ; + knora-api:isResourceProperty true ; + knora-api:objectType knora-api:TextValue ; + knora-api:subjectType incunabula:page ; + salsah-gui:guiElement salsah-gui:Richtext . + incunabula:title a owl:ObjectProperty ; rdfs:comment "Titel" ; rdfs:label "Title" ; @@ -865,13 +866,12 @@ incunabula:title a owl:ObjectProperty ; salsah-gui:guiAttribute "size=80" , "maxlength=255" ; salsah-gui:guiElement salsah-gui:SimpleText . -incunabula:transcription - a owl:ObjectProperty ; - rdfs:comment "Transkription" ; - rdfs:label "Transkription" ; - rdfs:subPropertyOf knora-api:hasValue ; +incunabula:pubdate a owl:ObjectProperty ; + rdfs:comment "Datum der Herausgabe" ; + rdfs:label "Datum der Herausgabe" ; + rdfs:subPropertyOf , knora-api:hasValue ; knora-api:isEditable true ; knora-api:isResourceProperty true ; - knora-api:objectType knora-api:TextValue ; - knora-api:subjectType incunabula:page ; - salsah-gui:guiElement salsah-gui:Richtext . + knora-api:objectType knora-api:DateValue ; + knora-api:subjectType incunabula:book ; + salsah-gui:guiElement salsah-gui:Date . diff --git a/test_data/ontologyR2RV2/incunabulaPage.ttl b/test_data/ontologyR2RV2/incunabulaPage.ttl index 31f1002668..119945ad4c 100644 --- a/test_data/ontologyR2RV2/incunabulaPage.ttl +++ b/test_data/ontologyR2RV2/incunabulaPage.ttl @@ -15,60 +15,45 @@ incunabula:page a owl:Class ; rdfs:comment "A page is a part of a book" ; rdfs:label "Page" ; rdfs:subClassOf knora-api:StillImageRepresentation ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 7 ; + owl:cardinality 1 ; + owl:onProperty incunabula:origname + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 6 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:page_comment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:citation + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 2 ; owl:cardinality 1 ; - owl:onProperty incunabula:partOfValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFileValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 3 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:seqnum + owl:onProperty incunabula:partOf ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:transcription + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 11 ; @@ -76,99 +61,114 @@ incunabula:page a owl:Class ; owl:onProperty incunabula:hasRightSidebandValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 11 ; + salsah-gui:guiOrder 1 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:hasRightSideband + owl:onProperty incunabula:pagenum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:hasStillImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 6 ; + salsah-gui:guiOrder 5 ; owl:minCardinality 0 ; - owl:onProperty incunabula:page_comment + owl:onProperty incunabula:citation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; + salsah-gui:guiOrder 2 ; owl:cardinality 1 ; - owl:onProperty incunabula:origname - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:pagenum + owl:onProperty incunabula:partOfValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:onProperty knora-api:hasStandoffLinkTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 11 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:hasRightSideband ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 10 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:hasLeftSidebandValue + owl:onProperty incunabula:hasLeftSideband + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 3 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:seqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; + salsah-gui:guiOrder 10 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:description + owl:onProperty incunabula:hasLeftSidebandValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 10 ; + salsah-gui:guiOrder 2 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:hasLeftSideband + owl:onProperty incunabula:description + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:cardinality 1 ; - owl:onProperty incunabula:partOf + salsah-gui:guiOrder 12 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:transcription ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; diff --git a/test_data/ontologyR2RV2/incunabulaPageAndBookWithValueObjects.ttl b/test_data/ontologyR2RV2/incunabulaPageAndBookWithValueObjects.ttl index cf4c79dff0..41f7750dd3 100644 --- a/test_data/ontologyR2RV2/incunabulaPageAndBookWithValueObjects.ttl +++ b/test_data/ontologyR2RV2/incunabulaPageAndBookWithValueObjects.ttl @@ -11,54 +11,39 @@ incunabula:page a owl:Class ; rdfs:label "Page" ; rdfs:subClassOf knora-api:StillImageRepresentation ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 1 ; + salsah-gui:guiOrder 5 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:citation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 10 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:pagenum + owl:onProperty incunabula:hasLeftSideband ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; + salsah-gui:guiOrder 2 ; owl:cardinality 1 ; - owl:onProperty incunabula:origname - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty incunabula:partOf ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 11 ; + salsah-gui:guiOrder 1 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:hasRightSideband + owl:onProperty incunabula:pagenum ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 7 ; + owl:cardinality 1 ; + owl:onProperty incunabula:origname ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 2 ; @@ -66,9 +51,9 @@ incunabula:page a owl:Class ; owl:onProperty incunabula:description ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:cardinality 1 ; - owl:onProperty incunabula:partOfValue + salsah-gui:guiOrder 12 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:transcription ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 11 ; @@ -76,24 +61,34 @@ incunabula:page a owl:Class ; owl:onProperty incunabula:hasRightSidebandValue ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 6 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:page_comment + salsah-gui:guiOrder 2 ; + owl:cardinality 1 ; + owl:onProperty incunabula:partOfValue ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:citation + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 10 ; + salsah-gui:guiOrder 11 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:hasLeftSidebandValue + owl:onProperty incunabula:hasRightSideband ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 10 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:hasLeftSideband + owl:onProperty incunabula:hasLeftSidebandValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -102,8 +97,8 @@ incunabula:page a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -112,43 +107,43 @@ incunabula:page a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:hasStillImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 6 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:page_comment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:transcription + owl:onProperty knora-api:versionArkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:cardinality 1 ; - owl:onProperty incunabula:partOf + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 3 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:seqnum + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -158,12 +153,17 @@ incunabula:page a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFileValue + owl:onProperty knora-api:attachedToProject + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 3 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:seqnum ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; @@ -173,80 +173,90 @@ incunabula:book a owl:Class ; rdfs:comment "Diese Resource-Klasse beschreibt ein Buch" ; rdfs:label "Book" ; rdfs:subClassOf knora-api:Resource ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 12 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:book_comment + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 4 ; + salsah-gui:guiOrder 5 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:publoc + owl:onProperty incunabula:pubdate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:arkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 5 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:citation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:isDeleted ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:deleteComment ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 6 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:location - ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 1 ; owl:minCardinality 1 ; owl:onProperty incunabula:title ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 9 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:physical_desc - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 7 ; + salsah-gui:guiOrder 9 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:url - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty incunabula:physical_desc ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -255,23 +265,18 @@ incunabula:book a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 2 ; - owl:maxCardinality 1 ; - owl:onProperty incunabula:description + salsah-gui:guiOrder 3 ; + owl:minCardinality 0 ; + owl:onProperty incunabula:publisher ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 10 ; @@ -279,44 +284,39 @@ incunabula:book a owl:Class ; owl:onProperty incunabula:note ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; - owl:minCardinality 0 ; - owl:onProperty incunabula:citation - ] ; - rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 5 ; + salsah-gui:guiOrder 7 ; owl:maxCardinality 1 ; - owl:onProperty incunabula:pubdate + owl:onProperty incunabula:url ] ; rdfs:subClassOf [ a owl:Restriction ; - salsah-gui:guiOrder 3 ; + salsah-gui:guiOrder 12 ; owl:minCardinality 0 ; - owl:onProperty incunabula:publisher + owl:onProperty incunabula:book_comment ] ; rdfs:subClassOf [ a owl:Restriction ; salsah-gui:guiOrder 2 ; owl:minCardinality 0 ; owl:onProperty incunabula:hasAuthor ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 2 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:description ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 4 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:publoc ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + rdfs:subClassOf [ a owl:Restriction ; + salsah-gui:guiOrder 6 ; + owl:maxCardinality 1 ; + owl:onProperty incunabula:location ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; diff --git a/test_data/ontologyR2RV2/knoraApiDateValue.ttl b/test_data/ontologyR2RV2/knoraApiDateValue.ttl index 1b5823ea18..c09aa79e80 100644 --- a/test_data/ontologyR2RV2/knoraApiDateValue.ttl +++ b/test_data/ontologyR2RV2/knoraApiDateValue.ttl @@ -17,27 +17,27 @@ knora-api:DateValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasStartDay ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartEra + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartDay + owl:onProperty knora-api:dateValueHasStartMonth ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -47,81 +47,81 @@ knora-api:DateValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasEndDay + owl:onProperty knora-api:dateValueHasEndMonth ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartYear + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasEndEra + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasEndMonth + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasCalendar + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:dateValueHasStartYear ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:dateValueHasEndYear ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasCalendar ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartMonth + owl:onProperty knora-api:dateValueHasEndDay ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasEndEra ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasEndYear + owl:onProperty knora-api:dateValueHasStartEra ] ; knora-api:isValueClass true . diff --git a/test_data/ontologyR2RV2/knoraApiOntologySimple.ttl b/test_data/ontologyR2RV2/knoraApiOntologySimple.ttl index 0a756d43f1..f0d772ce9d 100644 --- a/test_data/ontologyR2RV2/knoraApiOntologySimple.ttl +++ b/test_data/ontologyR2RV2/knoraApiOntologySimple.ttl @@ -4,31 +4,15 @@ @prefix rdfs: . @prefix knora-api: . -knora-api:hasMovingImageFile - a owl:DatatypeProperty ; - rdfs:comment "Connects a Representation to a movie file" ; - rdfs:label "has movie file" ; - rdfs:subPropertyOf knora-api:hasFile ; - knora-api:objectType knora-api:File ; - knora-api:subjectType knora-api:MovingImageRepresentation . - knora-api:TextRepresentation a owl:Class ; rdfs:comment "A resource containing a text file" ; rdfs:label "Representation (Text)" ; rdfs:subClassOf knora-api:Representation ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty rdfs:label - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasIncomingLink ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty knora-api:arkUrl @@ -37,9 +21,17 @@ knora-api:TextRepresentation owl:cardinality 1 ; owl:onProperty knora-api:hasTextFile ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty rdfs:label ] . knora-api:hasStandoffLinkTo @@ -63,17 +55,13 @@ knora-api:StillImageRepresentation rdfs:comment "A resource that can contain a two-dimensional still image file" ; rdfs:label "Representation (Image)" ; rdfs:subClassOf knora-api:Representation ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty rdfs:label - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasStandoffLinkTo ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -85,7 +73,11 @@ knora-api:StillImageRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty rdfs:label + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLink ] . knora-api:ListNode a rdfs:Datatype ; @@ -103,14 +95,6 @@ knora-api:DDDRepresentation rdfs:comment "Represents a file containg 3D data" ; rdfs:label "Representation (3D)" ; rdfs:subClassOf knora-api:Representation ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasDDDFile - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasIncomingLink @@ -119,13 +103,21 @@ knora-api:DDDRepresentation owl:cardinality 1 ; owl:onProperty knora-api:arkUrl ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty rdfs:label + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:hasDDDFile + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] . knora-api:AudioRepresentation @@ -133,10 +125,6 @@ knora-api:AudioRepresentation rdfs:comment "Represents a file containing audio data" ; rdfs:label "Representation (Audio)" ; rdfs:subClassOf knora-api:Representation ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty rdfs:label @@ -149,13 +137,17 @@ knora-api:AudioRepresentation owl:cardinality 1 ; owl:onProperty knora-api:arkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasStandoffLinkTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLink + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] . knora-api:seqnum a owl:DatatypeProperty ; @@ -185,29 +177,29 @@ knora-api:Representation rdfs:comment "A resource that can store a file" ; rdfs:label "Representation" ; rdfs:subClassOf knora-api:Resource ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasStandoffLinkTo ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLink ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:hasFile ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:hasFile + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink + owl:onProperty rdfs:label ] . knora-api:Geom a rdfs:Datatype ; @@ -219,29 +211,13 @@ knora-api:Region a owl:Class ; rdfs:comment "Represents a geometric region of a resource. The geometry is represented currently as JSON string." ; rdfs:label "Region" ; rdfs:subClassOf knora-api:Resource ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:hasGeometry - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:hasComment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:isRegionOf ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -251,9 +227,25 @@ knora-api:Region a owl:Class ; owl:minCardinality 0 ; owl:onProperty knora-api:hasStandoffLinkTo ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLink + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:hasGeometry + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:hasComment + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:isRegionOf + owl:onProperty rdfs:label + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; knora-api:resourceIcon "region.gif" . @@ -354,34 +346,34 @@ knora-api:LinkObj a owl:Class ; rdfs:comment "Represents a generic link object" ; rdfs:label "Link Object" ; rdfs:subClassOf knora-api:Resource ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasComment ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasComment + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty knora-api:hasIncomingLink ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty knora-api:hasLinkTo ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl + ] ; knora-api:resourceIcon "link.gif" . knora-api:XSLTransformation @@ -391,27 +383,27 @@ knora-api:XSLTransformation rdfs:subClassOf knora-api:TextRepresentation ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:hasTextFile + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty knora-api:hasIncomingLink ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:hasTextFile ] . knora-api:Date a rdfs:Datatype ; @@ -499,24 +491,24 @@ knora-api:Annotation a owl:Class ; rdfs:label "Annotation" ; rdfs:subClassOf knora-api:Resource ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:isAnnotationOf + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLink ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty rdfs:label ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:isAnnotationOf ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty knora-api:hasStandoffLinkTo ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 1 ; @@ -524,7 +516,7 @@ knora-api:Annotation a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:arkUrl ] . knora-api:versionArkUrl @@ -553,25 +545,25 @@ knora-api:MovingImageRepresentation rdfs:comment "A resource containing moving image data" ; rdfs:label "Representation (Movie)" ; rdfs:subClassOf knora-api:Representation ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLink + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:hasMovingImageFile ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:hasMovingImageFile + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty knora-api:versionArkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLink - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; @@ -614,3 +606,11 @@ knora-api:resourceIcon a owl:DatatypeProperty ; knora-api:objectType xsd:string ; knora-api:subjectType owl:Class . + +knora-api:hasMovingImageFile + a owl:DatatypeProperty ; + rdfs:comment "Connects a Representation to a movie file" ; + rdfs:label "has movie file" ; + rdfs:subPropertyOf knora-api:hasFile ; + knora-api:objectType knora-api:File ; + knora-api:subjectType knora-api:MovingImageRepresentation . diff --git a/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.jsonld b/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.jsonld index 9324657cbc..0572ddc442 100644 --- a/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.jsonld +++ b/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.jsonld @@ -6290,6 +6290,15 @@ }, "rdfs:comment": "Indicates whether a resource class can be instantiated via the Knora API." }, + { + "rdfs:label": "can do", + "rdfs:comment": "Indicates whether an operation can be performed", + "@type": "owl:DatatypeProperty", + "knora-api:objectType": { + "@id": "xsd:boolean" + }, + "@id": "knora-api:canDo" + }, { "rdfs:label": "Color value as color", "rdfs:subPropertyOf": { diff --git a/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.rdf b/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.rdf index d13c30275c..2ce6f0dfa8 100644 --- a/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.rdf +++ b/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.rdf @@ -1,5343 +1,8886 @@ - - - - true - The knora-api ontology in the complex schema - - - true - true - A generic class for representing annotations - Annotation - - - - - - - - - - - - - - - - - - - - - - - - true - Represents something in the world, or an abstract thing - Resource - - - - - - - - - - - - - - - - - - - - true - 1 - - - - Provides the ARK URL of a resource or value. - ARK URL - - - - - true - 1 - - - - Connects something to a project - attached to project - - - - - true - 1 - - - - Connects something to a user - attached to user - - - - - true - 1 - - - - - Indicates when a resource was created - - - - - true - 1 - - - - A comment explaining why a resource or value was marked as deleted - - - - - true - 1 - - - - Indicates when a resource or value was deleted - - - - - true - 1 - - - - Indicates who deleted a resource or value - - - - - 1 - - - true - true - - - - Represents a comment on a resource as a knora-base:TextValue - Comment - - - - - - true - 0 - - - true - true - - - Indicates that this resource referred to by another resource - has incoming link - - - - - - true - 1 - - - - - - - - true - 0 - - - true - true - - - Represents a link in standoff markup from one resource to another. - has Standoff Link to - - - - - - true - 0 - - - true - true - - - Represents a link in standoff markup from one resource to another. - has Standoff Link to - - - - - - 1 - - - true - true - true - - - is Annotation of - - - - - - 1 - - - true - true - true - - - - - - - - true - 1 - - - - Exists and is true if the resource has been deleted - - - - - true - 1 - - - - - - - - true - 1 - - - - Provides the requesting user's maximum permission on a resource or value. - user has permission - - - - - true - 1 - - - - Provides the ARK URL of a particular version of a resource or value. - version ARK URL - - - - - true - 1 - - - - Provides the date of a particular version of a resource. - version date - - - - - true - 1 - - - - - - true - Represents an audio file - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - The duration of an audio file value. - Audio file value has duration - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - The URL at which the file can be accessed. - File value as URL - - - - - - true - 1 - - - - - The name of the file that a file value represents. - File value has filename - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - A plain string representation of a value - - - - - true - 1 - - - - - - - - - - true - 1 - - - - - A comment on a value - - - - - - true - 1 - - - - - The UUID of a value - - - - - - true - 1 - - - - true - Represents a file containing audio data - Representation (Audio) - - - - - - - - - - - - - - - - - - - - - - true - A resource that can store a file - Representation - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - true - true - - - - Connects a Representation to an audio file - has audio file - - - - - - true - 0 - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - - - - - 1 - - - - - Represents the literal boolean value of a BooleanValue. - Boolean value as decimal - - - - - - true - Represents a boolean value - - - - - - - - - - - - - - - - - - - true - The base class of classes representing Knora values - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - - - 1 - - - - - Represents the literal RGB value of a ColorValue. - Color value as color - - - - - - - - true - Represents a color in HTML format, e.g. "#33eeff" - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - This represents some 3D-object with mesh data, point cloud, etc. - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents a file containg 3D data - Representation (3D) - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - true - true - - - - Connects a Representation to a 3D-file - has 3D-file - - - - - - true - 0 - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - - - - - - - - - - - - 1 - - - - - Represents the calendar of a date value. - Date value has calendar - - - - - - 1 - - - - - Represents the end day of a date value. - Date value has end day - - - - - - 1 - - - - - Represents the end era of a date value. - Date value has end era - - - - - - 1 - - - - - Represents the end month of a date value. - Date value has end month - - - - - - 1 - - - - - Represents the end year of a date value. - Date value has end year - - - - - - 1 - - - - - Represents the start day of a date value. - Date value has start day - - - - - - 1 - - - - - Represents the start era of a date value. - Date value has start era - - - - - - 1 - - - - - Represents the start month of a date value. - Date value has start month - - - - - - 1 - - - - - Represents the start year of a date value. - Date value has start year - - - - - - true - Represents a Knora date value - - - - - - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - - - 1 - - - - - Represents the literal decimal value of a DecimalValue. - Decimal value as decimal - - - - - - - - true - Represents an arbitrary-precision decimal value - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - The horizontal dimension of a document file value. - Document file value has X dimension - - - - - - 1 - - - - - The vertical dimension of a document file value. - Document file value has Y dimension - - - - - - 1 - - - - - The page count of a document file value. - Document file value has page count - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Representation (Document) - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - true - true - - - - Connects a Representation to a document - has document - - - - - - true - 0 - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents a geometrical objects as JSON string - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - Represents a 2D geometry value as JSON. - Geometry value as JSON - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - Represents the literal Geoname code of a GeonameValue. - Geoname value as Geoname code - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - - - 1 - - - - - Represents the literal integer value of an IntValue. - Integer value as integer - - - - - - - - true - Represents an integer value - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - - - - - 1 - - - - - Represents the end position of an interval. - interval value has end - - - - - - 1 - - - - - Represents the start position of an interval. - interval value has start - - - - - - true - Represents a time interval, e.g. in an audio recording - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - true - link.gif - Represents a generic link object - Link Object - - - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 0 - - - - true - 0 - - - - 1 - - - true - true - true - - - Represents a direct connection between two resources - has Link to - - - - - - 1 - - - true - true - true - - - Points to a LinkValue reification describing a link between two resources - has Link to - - - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - A reification node that describes direct links between resources - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - Represents the source resource of a link value. - Link value has source - - - - - - 1 - - - - - Represents the IRI of the source resource of a link value. - Link value has source IRI - - - - - - 1 - - - - - Represents the target resource of a link value. - Link value has target - - - - - - 1 - - - - - Represents the IRI of the target resource of a link value. - Link value has target IRI - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - Represents a flat or hierarchical list - - - - - 1 - - - - 1 - - - - true - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - Represents a reference to a hierarchical list node. - Hierarchical list value as list node - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents a moving image file - - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - The horizontal dimension of a moving image file value. - Moving image file value has X dimension - - - - - - 1 - - - - - The vertical dimension of a moving image file value. - Moving image file value has Y dimension - - - - - - 1 - - - - - The duration of a moving image file value. - Moving image file value has duration - - - - - - 1 - - - - - The number of frames per second in a moving image file value. - Moving image file value has frames per second - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - A resource containing moving image data - Representation (Movie) - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 0 - - - - 1 - - - true - true - - - - Connects a Representation to a movie file - has movie file - - - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - true - region.gif - Represents a geometric region of a resource. The geometry is represented currently as JSON string. - Region - - - - - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - true - true - - - ncolors=8 - - Specifies the color of a region. - Color - - - - - - 1 - - - - 1 - - - true - true - - - - Represents a geometrical shape. - Geometry - - - - - - true - 0 - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - true - 1 - - - - 1 - - - true - true - true - - - Region of interest within a digital object (e.g. an image) - is region of - - - - - - 1 - - - true - true - true - - - Region of interest within a digital object (e.g. an image) - is region of - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - true - - - - Connects a Representation to a file - has file - - - - - - true - 0 - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 0 - - - - 1 - - - - 0 - - - - 0 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - true - Represents a boolean in a TextValue - - - - - - - - - - - - - - - - true - Represents a knora-base value type in a TextValue - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - - - - - - true - 1 - - - - - - - - - true - 1 - - - - - - - - - true - 1 - - - - - The next knora-api:standoffTagHasStartIndex of the end parent tag of a standoff tag. - standoff tag has end parent index - - - - - true - 1 - - - - - - - - - true - 1 - - - - - - - - - true - 1 - - - - - - - - - true - 1 - - - - - - - - - - true - 1 - - - - - The next knora-api:standoffTagHasStartIndex of the start parent tag of a standoff tag. - standoff tag has start parent index - - - - - true - 1 - - - - - - - - - true - Represents a color in a TextValue - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents a standoff markup tag - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents a date in a TextValue - - - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents a decimal (floating point) value in a TextValue - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents an integer value in a TextValue - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents an internal reference in a TextValue - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents an interval in a TextValue - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - Represents a reference to a Knora resource in a TextValue - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - true - Represents a timestamp in a TextValue - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - - - - - - true - Represents an arbitrary URI in a TextValue - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - Represents the literal URI value of a UriValue. - URI value as URI - - - - - - true - A file containing a two-dimensional still image - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - The horizontal dimension of a still image file value. - Still image file value has X dimension - - - - - - 1 - - - - - The vertical dimension of a still image file value. - Still image file value has Y dimension - - - - - - 1 - - - - - The IIIF base URL of a still image file value. - Still image file value has IIIF base URL - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - A resource that can contain a two-dimensional still image file - Representation (Image) - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 0 - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - 1 - - - true - true - - - - Connects a Representation to an image file - has image file - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - A text file such as plain Unicode text, LaTeX, TEI/XML, etc. - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - A resource containing a text file - Representation (Text) - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 0 - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - 1 - - - true - true - - - - Connects a Representation to a text file - has text file - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - - - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - - A text value represented in HTML. - Text value as HTML - - - - - - 1 - - - - - A Text value represented in XML. - Text value as XML - - - - - - 1 - - - - - Language code attached to a text value. - text value has language - - - - - - 1 - - - - - Indicates the mapping that is used to convert a text value's markup from from XML to standoff. - Text value has mapping - - - - - - 1 - - - - - True if a text value has markup. - text value has markup - - - - - - 1 - - - - - The maximum knora-api:standoffTagHasStartIndex in a text value. - text value has max standoff start index - - - - - - 0 - - - - - Standoff markup attached to a text value. - text value has standoff - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - true - Represents a timestamp - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - true - Represents a URI - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - 1 - - - - true - a TextRepresentation representing an XSL transformation that can be applied to an XML created from standoff. The transformation's result is ecptected to be HTML. - a TextRepresentation representing an XSL transformation that can be applied to an XML created from standoff. The transformation's result is ecptected to be HTML. - - - - - - - - - - - - - - - - - - - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 0 - - - - true - 1 - - - - true - 0 - - - - true - 0 - - - - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - true - 1 - - - - - - - - Specifies the author of a particular version of a resource. - author - - - - - Indicates whether a resource class can be instantiated via the Knora API. - can be instantiated - - - - Provides an error message - error - - - true - - - - - true - - The base property of properties that point from Knora resources to Knora resources or values. These properties are required to have cardinalities in the resource classes in which they are used. - - - - - true - true - true - - - References an instance of a Representation. A Representation contains the metadata of a digital object (= file) which represents some physical entity such as an image, a sound, an encoded text etc. - has Representation - - - - true - true - true - - - - - - - Indicates whether an ontology is built into Knora - is shared - - - - - Indicates whether a property's values can be updated via the Knora API. - is editable - - - - - Indicates whether a cardinality has been inherited from a base class - is inherited - - - - - Indicates whether a property points to a resource - is link property - - - - - Indicates whether a property points to a link value (reification) - is link value property - - - - - Indicates if the given resource is the main resource of a request or a resource referred to by a link property. - - - true - true - - - Indicates that this resource is part of another resource - is part of - - - - true - true - - - - - - - - Indicates whether class is a subclass of Resource. - is resource class - - - - Indicates whether an ontology can be shared by multiple projects - is shared - - - - - Indicates whether class is a subclass of StandoffTag. - is standoff class - - - - - Indicates whether class is a subclass of Value. - is value class - - - - Represents the name of a mapping - Name of a mapping (will be part of the mapping's Iri) - - - - Indicates whether more results may be available for a search query - May have more results - - - - Specifies the new modification date of a resource - new modification date - - - - The next available knora-api:standoffTagHasStartIndex in a sequence of pages of standoff. - next standoff start index - - - Specifies the required type of the objects of a property - Object type - - - - Represents the short name of an ontology - ontology name - - - - - - - - Provides a message indicating that an operation was successful - result - - - true - - Indicates the position of a resource within a sequence - Sequence number - - - - - - - - - Specifies the required type of the subjects of a property - Subject type - - - \ No newline at end of file + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:salsah-gui="http://api.knora.org/ontology/salsah-gui/v2#" + xmlns:knora-api="http://api.knora.org/ontology/knora-api/v2#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + + true + + The knora-api ontology in the complex schema + + + + + true + 1 + + + + + + + + true + 1 + + + + + + A text file such as plain Unicode text, LaTeX, TEI/XML, etc. + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + Represents a reference to a Knora resource in a TextValue + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + true + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + A resource containing moving image data + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Representation (Movie) + true + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents a date in a TextValue + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents an arbitrary URI in a TextValue + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents a Knora date value + + + + + + + + + true + 1 + + + + + + Representation (3D) + Represents a file containg 3D data + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + + + true + 0 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + Representation (Audio) + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + Represents a file containing audio data + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + + Represents a color in a TextValue + + + true + 1 + + + + + + true + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + true + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + Represents a standoff markup tag + + + 1 + + + + + + + + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents an interval in a TextValue + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents a time interval, e.g. in an audio recording + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + Represents a color in HTML format, e.g. "#33eeff" + + + true + 1 + + + + + + true + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + Represents a timestamp in a TextValue + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents a decimal (floating point) value in a TextValue + true + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents a URI + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + + + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + A resource that can contain a two-dimensional still image file + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Representation (Image) + + + true + 1 + + + + + + + + true + 1 + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + Representation (Document) + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + true + + + 1 + + + + + + The base class of classes representing Knora values + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + true + 1 + + + + + + Represents a knora-base value type in a TextValue + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + + + + 1 + + + + + + + + + + + 1 + + + + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 0 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 0 + + + + + + + + + + + true + 1 + + + + + + Represents a generic link object + link.gif + + + 1 + + + + + + Link Object + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents an arbitrary-precision decimal value + + + true + Represents something in the world, or an abstract thing + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 0 + + + + + + + + 0 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + 1 + + + + + + + + 0 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + Resource + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + 1 + + + + + + + + + + + true + 1 + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + A resource that can store a file + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Representation + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 0 + + + + + + true + + + 1 + + + + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + Region + region.gif + true + + + true + 0 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + Represents a geometric region of a resource. The geometry is represented currently as JSON string. + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents a geometrical objects as JSON string + + + true + 1 + + + + + + true + + + Represents a timestamp + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + Represents an integer value + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + A reification node that describes direct links between resources + + + true + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + A file containing a two-dimensional still image + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + This represents some 3D-object with mesh data, point cloud, etc. + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents an integer value in a TextValue + + + true + 1 + + + + + + + + Represents a flat or hierarchical list + + + 1 + + + + + + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents an audio file + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + true + 1 + + + + + + Representation (Text) + + + true + 0 + + + + + + A resource containing a text file + + + true + 0 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + Represents a boolean value + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + + + true + 1 + + + + + + Represents an internal reference in a TextValue + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + Represents a boolean in a TextValue + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + Represents a moving image file + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + a TextRepresentation representing an XSL transformation that can be applied to an XML created from standoff. The transformation's result is ecptected to be HTML. + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + true + a TextRepresentation representing an XSL transformation that can be applied to an XML created from standoff. The transformation's result is ecptected to be HTML. + + + true + 0 + + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + A generic class for representing annotations + + + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + Annotation + + + true + 1 + + + + + + + + true + 0 + + + + + + + + true + 1 + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 0 + + + + + + + + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + + + + + + + true + 1 + + + + + + true + + + true + 1 + + + + + + + + true + 1 + + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + true + 1 + + + + + + + + 1 + + + + + + + + 0 + + + + + + + + true + 1 + + + + + + + + Connects a Representation to a file + + + + true + + + + has file + + + + Indicates the position of a resource within a sequence + true + + + + Sequence number + + + + Connects something to a project + attached to project + + + + + + + + Specifies the author of a particular version of a resource. + author + + + Connects a Representation to a document + + + + true + true + + has document + + + Indicates the mapping that is used to convert a text value's markup from from XML to standoff. + + + + + + Text value has mapping + + + + Connects something to a user + attached to user + + + + + true + true + + + + true + + + A plain string representation of a value + + + + + Represents a geometrical shape. + + + + true + true + + + + Geometry + + + Indicates that this resource referred to by another resource + + + true + + + + has incoming link + true + + + + + true + + + + true + + + + + + + + + + Color + ncolors=8 + + + true + + true + + + + Specifies the color of a region. + + + Represents a link in standoff markup from one resource to another. + true + + + true + + + + has Standoff Link to + + + Region of interest within a digital object (e.g. an image) + + + true + true + + + + is region of + true + + + Represents a link in standoff markup from one resource to another. + + + true + + + + has Standoff Link to + true + + + Represents a direct connection between two resources + true + + + true + true + + + + has Link to + + + Indicates that this resource is part of another resource + true + + + true + + is part of + + + Connects a Representation to a movie file + + + + true + true + + has movie file + + + Represents the source resource of a link value. + + + + + + Link value has source + + + + + + + Represents a comment on a resource as a knora-base:TextValue + + + + true + true + + + + Comment + + + Represents the target resource of a link value. + + + + + + Link value has target + + + References an instance of a Representation. A Representation contains the metadata of a digital object (= file) which represents some physical entity such as an image, a sound, an encoded text etc. + true + + + true + true + + has Representation + + + Points to a LinkValue reification describing a link between two resources + + + true + true + + + + has Link to + true + + + Connects a Representation to a 3D-file + + + + true + true + + has 3D-file + + + + + true + true + + true + + + Connects a Representation to an audio file + + + + true + true + + has audio file + + + Represents a reference to a hierarchical list node. + + + + + + Hierarchical list value as list node + + + Connects a Representation to an image file + + + + true + true + + has image file + + + Region of interest within a digital object (e.g. an image) + true + + + true + true + + is region of + + + + + true + + + + + + The base property of properties that point from Knora resources to Knora resources or values. These properties are required to have cardinalities in the resource classes in which they are used. + + true + + + Standoff markup attached to a text value. + + + + + + text value has standoff + + + Indicates who deleted a resource or value + + + + Connects a Representation to a text file + + + + true + true + + has text file + + + + + + + true + + + true + true + + is Annotation of + + + Specifies the required type of the subjects of a property + Subject type + + + + + + Specifies the required type of the objects of a property + Object type + + + The vertical dimension of a document file value. + + + + Document file value has Y dimension + + + The UUID of a value + + + + + + + Specifies the new modification date of a resource + new modification date + + + + Indicates whether an operation can be performed + can do + + + True if a text value has markup. + + + + text value has markup + + + + + + + The vertical dimension of a still image file value. + + + + Still image file value has Y dimension + + + The name of the file that a file value represents. + + + + File value has filename + + + Represents a 2D geometry value as JSON. + + + + Geometry value as JSON + + + Represents the literal RGB value of a ColorValue. + + + + Color value as color + + + The IIIF base URL of a still image file value. + + + + Still image file value has IIIF base URL + + + Represents the end year of a date value. + + + + Date value has end year + + + Represents the start year of a date value. + + + + Date value has start year + + + + Provides the ARK URL of a resource or value. + ARK URL + + + + + + + The vertical dimension of a moving image file value. + + + + Moving image file value has Y dimension + + + Represents the start era of a date value. + + + + Date value has start era + + + Represents the calendar of a date value. + + + + Date value has calendar + + + Represents the end day of a date value. + + + + Date value has end day + + + + + + + + + + + Indicates when a resource or value was deleted + + + + A comment on a value + + + + + + + The next available knora-api:standoffTagHasStartIndex in a sequence of pages of standoff. + next standoff start index + + + + Represents the short name of an ontology + ontology name + + + Language code attached to a text value. + + + + text value has language + + + + Indicates whether more results may be available for a search query + May have more results + + + Represents the literal integer value of an IntValue. + + + + Integer value as integer + + + The next knora-api:standoffTagHasStartIndex of the start parent tag of a standoff tag. + + + standoff tag has start parent index + + + Represents the IRI of the source resource of a link value. + + + + Link value has source IRI + + + Indicates when a resource was created + + + + + Represents the start position of an interval. + + + + interval value has start + + + + + + + Represents the literal decimal value of a DecimalValue. + + + + Decimal value as decimal + + + + Provides a message indicating that an operation was successful + result + + + + + + + The page count of a document file value. + + + + Document file value has page count + + + Exists and is true if the resource has been deleted + + + + + Indicates whether an ontology is built into Knora + is shared + + + + Provides the requesting user's maximum permission on a resource or value. + user has permission + + + + + + + Represents the end month of a date value. + + + + Date value has end month + + + Indicates if the given resource is the main resource of a request or a resource referred to by a link property. + + + + + Represents the start day of a date value. + + + + Date value has start day + + + A comment explaining why a resource or value was marked as deleted + + + + Represents the start month of a date value. + + + + Date value has start month + + + The duration of an audio file value. + + + + Audio file value has duration + + + + Provides the ARK URL of a particular version of a resource or value. + version ARK URL + + + The next knora-api:standoffTagHasStartIndex of the end parent tag of a standoff tag. + + + standoff tag has end parent index + + + A Text value represented in XML. + + + + Text value as XML + + + The maximum knora-api:standoffTagHasStartIndex in a text value. + + + + text value has max standoff start index + + + The number of frames per second in a moving image file value. + + + + Moving image file value has frames per second + + + The URL at which the file can be accessed. + + + + File value as URL + + + Represents the end position of an interval. + + + + interval value has end + + + Represents the IRI of the target resource of a link value. + + + + Link value has target IRI + + + Represents the end era of a date value. + + + + Date value has end era + + + Represents the literal Geoname code of a GeonameValue. + + + + Geoname value as Geoname code + + + + Represents the name of a mapping + Name of a mapping (will be part of the mapping's Iri) + + + The horizontal dimension of a document file value. + + + + Document file value has X dimension + + + The duration of a moving image file value. + + + + Moving image file value has duration + + + + + + + The horizontal dimension of a still image file value. + + + + Still image file value has X dimension + + + + + + + + + Indicates whether an ontology can be shared by multiple projects + is shared + + + + + + + Provides the date of a particular version of a resource. + version date + + + A text value represented in HTML. + + + + Text value as HTML + + + + + + + + Provides an error message + error + + + Represents the literal URI value of a UriValue. + + + + URI value as URI + + + The horizontal dimension of a moving image file value. + + + + Moving image file value has X dimension + + + Represents the literal boolean value of a BooleanValue. + + + + Boolean value as decimal + + + + + + + + Indicates whether a property points to a link value (reification) + + + is link value property + + + Indicates whether class is a subclass of Resource. + + + is resource class + + + Indicates whether a property points to a resource + + + is link property + + + Indicates whether class is a subclass of Value. + + + is value class + + + Indicates whether a resource class can be instantiated via the Knora API. + + + can be instantiated + + + Indicates whether a property's values can be updated via the Knora API. + + + is editable + + + Indicates whether a cardinality has been inherited from a base class + + + is inherited + + + Indicates whether class is a subclass of StandoffTag. + + + is standoff class + + diff --git a/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.ttl b/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.ttl index 6e373acac1..205eb7f13b 100644 --- a/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.ttl +++ b/test_data/ontologyR2RV2/knoraApiOntologyWithValueObjects.ttl @@ -22,72 +22,72 @@ knora-api:DDDFileValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:fileValueAsUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:fileValueHasFilename ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:fileValueHasFilename + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:fileValueAsUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:userHasPermission ] ; knora-api:isValueClass true . @@ -100,9 +100,9 @@ knora-api:versionDate knora-api:StandoffTag a owl:Class ; rdfs:comment "Represents a standoff markup tag" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -110,15 +110,7 @@ knora-api:StandoffTag ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -126,16 +118,24 @@ knora-api:StandoffTag ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty knora-api:standoffTagHasEnd @@ -149,8 +149,8 @@ knora-api:DDDRepresentation rdfs:subClassOf knora-api:Representation ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -159,82 +159,82 @@ knora-api:DDDRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasDDDFileValue + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasDDDFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; knora-api:isResourceClass true . @@ -261,32 +261,33 @@ knora-api:uriValueAsUri knora-api:TextValue a owl:Class ; rdfs:subClassOf knora-api:Value ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:textValueHasMapping - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:valueAsString ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:textValueAsHtml - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty knora-api:textValueAsXml ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:textValueHasStandoff ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -295,45 +296,44 @@ knora-api:TextValue a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:textValueHasMarkup + owl:onProperty knora-api:textValueHasLanguage ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:textValueHasLanguage + owl:onProperty knora-api:textValueAsHtml ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:textValueHasMapping ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:userHasPermission + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:textValueHasMaxStandoffStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:textValueHasMaxStandoffStartIndex + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -343,16 +343,16 @@ knora-api:TextValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:textValueHasStandoff + owl:maxCardinality 1 ; + owl:onProperty knora-api:textValueHasMarkup ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; knora-api:isValueClass true . @@ -390,103 +390,103 @@ knora-api:Annotation a owl:Class ; rdfs:comment "A generic class for representing annotations" ; rdfs:label "Annotation" ; rdfs:subClassOf knora-api:Resource ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:deleteComment ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:isAnnotationOf + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:onProperty knora-api:hasStandoffLinkTo ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:hasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty rdfs:label ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:hasComment - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:isAnnotationOf + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty knora-api:isAnnotationOfValue ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted - ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true . @@ -514,12 +514,20 @@ knora-api:LinkValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:valueAsString + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:linkValueHasSourceIri + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:linkValueHasTarget ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -528,22 +536,32 @@ knora-api:LinkValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deleteDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:valueCreationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -554,43 +572,25 @@ knora-api:LinkValue a owl:Class ; owl:maxCardinality 1 ; owl:onProperty knora-api:linkValueHasSource ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:linkValueHasTarget - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:valueHasComment ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:linkValueHasSourceIri - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:versionArkUrl ] ; knora-api:isValueClass true . @@ -607,15 +607,24 @@ knora-api:Representation rdfs:comment "A resource that can store a file" ; rdfs:label "Representation" ; rdfs:subClassOf knora-api:Resource ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasFileValue + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:userHasPermission + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -625,12 +634,17 @@ knora-api:Representation rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -640,36 +654,27 @@ knora-api:Representation rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasFileValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:versionArkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -678,23 +683,18 @@ knora-api:Representation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; knora-api:isResourceClass true . @@ -702,6 +702,16 @@ knora-api:StandoffDataTypeTag a owl:Class ; rdfs:comment "Represents a knora-base value type in a TextValue" ; rdfs:subClassOf knora-api:StandoffTag ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; @@ -710,7 +720,7 @@ knora-api:StandoffDataTypeTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -722,20 +732,15 @@ knora-api:StandoffDataTypeTag owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -744,13 +749,8 @@ knora-api:StandoffDataTypeTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; knora-api:isStandoffClass true . @@ -766,20 +766,15 @@ knora-api:TextFileValue a owl:Class ; rdfs:comment "A text file such as plain Unicode text, LaTeX, TEI/XML, etc." ; rdfs:subClassOf knora-api:FileValue ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:fileValueHasFilename - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -789,57 +784,62 @@ knora-api:TextFileValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:fileValueHasFilename ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:fileValueAsUrl + owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:cardinality 1 ; + owl:onProperty knora-api:fileValueAsUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:isDeleted ] ; knora-api:isValueClass true . @@ -871,33 +871,33 @@ knora-api:StandoffIntervalTag rdfs:subClassOf knora-api:StandoffDataTypeTag , knora-api:IntervalBase ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:intervalValueHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:intervalValueHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -907,27 +907,27 @@ knora-api:StandoffIntervalTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:intervalValueHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:intervalValueHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; knora-api:isStandoffClass true . @@ -944,48 +944,43 @@ knora-api:DocumentFileValue rdfs:subClassOf knora-api:FileValue ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:fileValueHasFilename - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:fileValueAsUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -1000,19 +995,20 @@ knora-api:DocumentFileValue owl:maxCardinality 1 ; owl:onProperty knora-api:valueAsString ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:documentFileValueHasDimX + owl:onProperty knora-api:fileValueHasFilename ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1021,13 +1017,17 @@ knora-api:DocumentFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:fileValueAsUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:documentFileValueHasDimX ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:attachedToUser ] ; knora-api:isValueClass true . @@ -1051,43 +1051,47 @@ knora-api:DocumentRepresentation rdfs:subClassOf knora-api:Representation ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:hasPermissions + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasDocumentFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1096,47 +1100,43 @@ knora-api:DocumentRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasDocumentFileValue + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; knora-api:isResourceClass true . @@ -1157,75 +1157,80 @@ knora-api:IntValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:intValueAsInt + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:intValueAsInt ] ; knora-api:isValueClass true . +knora-api:author a owl:ObjectProperty ; + rdfs:comment "Specifies the author of a particular version of a resource." ; + rdfs:label "author" ; + knora-api:objectType knora-api:User . + knora-api:StandoffDecimalTag a owl:Class ; rdfs:comment "Represents a decimal (floating point) value in a TextValue" ; @@ -1233,17 +1238,17 @@ knora-api:StandoffDecimalTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1253,22 +1258,22 @@ knora-api:StandoffDecimalTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1283,15 +1288,10 @@ knora-api:StandoffDecimalTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasEnd ] ; knora-api:isStandoffClass true . -knora-api:author a owl:ObjectProperty ; - rdfs:comment "Specifies the author of a particular version of a resource." ; - rdfs:label "author" ; - knora-api:objectType knora-api:User . - a owl:Ontology ; rdfs:label "The knora-api ontology in the complex schema" ; @@ -1328,6 +1328,11 @@ knora-api:IntervalBase owl:onProperty knora-api:intervalValueHasEnd ] . +knora-api:resourceIcon + a owl:DatatypeProperty ; + knora-api:objectType xsd:string ; + knora-api:subjectType owl:Class . + knora-api:hasColor a owl:ObjectProperty ; rdfs:comment "Specifies the color of a region." ; rdfs:label "Color" ; @@ -1339,21 +1344,17 @@ knora-api:hasColor a owl:ObjectProperty ; salsah-gui:guiAttribute "ncolors=8" ; salsah-gui:guiElement salsah-gui:Colorpicker . -knora-api:resourceIcon - a owl:DatatypeProperty ; - knora-api:objectType xsd:string ; - knora-api:subjectType owl:Class . - knora-api:ListValue a owl:Class ; rdfs:subClassOf knora-api:Value ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:listValueAsListNode + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1365,20 +1366,29 @@ knora-api:ListValue a owl:Class ; owl:cardinality 1 ; owl:onProperty knora-api:attachedToUser ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:listValueAsListNode + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1388,12 +1398,7 @@ knora-api:ListValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1407,13 +1412,8 @@ knora-api:ListValue a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; knora-api:isValueClass true . @@ -1423,18 +1423,18 @@ knora-api:StandoffIntegerTag rdfs:subClassOf knora-api:IntBase , knora-api:StandoffDataTypeTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1444,37 +1444,37 @@ knora-api:StandoffIntegerTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:intValueAsInt ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:intValueAsInt + owl:onProperty knora-api:standoffTagHasStart ] ; knora-api:isStandoffClass true . @@ -1515,6 +1515,11 @@ knora-api:movingImageFileValueHasDimY knora-api:objectType xsd:integer ; knora-api:subjectType knora-api:MovingImageFileValue . +knora-api:canDo a owl:DatatypeProperty ; + rdfs:comment "Indicates whether an operation can be performed" ; + rdfs:label "can do" ; + knora-api:objectType xsd:boolean . + knora-api:StandoffDateTag a owl:Class ; rdfs:comment "Represents a date in a TextValue" ; @@ -1522,22 +1527,22 @@ knora-api:StandoffDateTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasCalendar + owl:onProperty knora-api:dateValueHasEndEra ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasEndYear ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1547,72 +1552,72 @@ knora-api:StandoffDateTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasEndDay + owl:onProperty knora-api:dateValueHasStartMonth ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasEndMonth ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasEndYear + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasEndEra + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasStartDay ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:dateValueHasCalendar ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:dateValueHasEndDay ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasEndMonth + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartEra + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartMonth + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartDay + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasStartEra ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasUUID ] ; knora-api:isStandoffClass true . @@ -1624,32 +1629,31 @@ knora-api:StillImageRepresentation rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:versionDate ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasStillImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1658,42 +1662,43 @@ knora-api:StillImageRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:deleteComment ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasStillImageFileValue - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1703,12 +1708,12 @@ knora-api:StillImageRepresentation rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; knora-api:isResourceClass true . @@ -1743,7 +1748,7 @@ knora-api:StandoffInternalReferenceTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1758,12 +1763,7 @@ knora-api:StandoffInternalReferenceTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -1771,28 +1771,33 @@ knora-api:StandoffInternalReferenceTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; knora-api:isStandoffClass true . @@ -1809,62 +1814,57 @@ knora-api:ColorValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:colorValueAsColor ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:colorValueAsColor + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1874,7 +1874,12 @@ knora-api:ColorValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:userHasPermission + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; knora-api:isValueClass true . @@ -1904,37 +1909,37 @@ knora-api:StillImageFileValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:fileValueAsUrl + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:fileValueHasFilename + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:fileValueAsUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:cardinality 1 ; + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1943,31 +1948,27 @@ knora-api:StillImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty knora-api:stillImageFileValueHasDimX ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:stillImageFileValueHasIIIFBaseUrl - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:fileValueHasFilename ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -1980,13 +1981,17 @@ knora-api:StillImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:stillImageFileValueHasIIIFBaseUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:deletedBy ] ; knora-api:isValueClass true . @@ -2002,6 +2007,8 @@ knora-api:mayHaveMoreResults rdfs:label "May have more results" ; knora-api:objectType xsd:boolean . +knora-api:ValueBase a owl:Class . + knora-api:ColorBase a owl:Class ; rdfs:subClassOf knora-api:ValueBase ; rdfs:subClassOf [ a owl:Restriction ; @@ -2009,8 +2016,6 @@ knora-api:ColorBase a owl:Class ; owl:onProperty knora-api:colorValueAsColor ] . -knora-api:ValueBase a owl:Class . - knora-api:hasAudioFileValue a owl:ObjectProperty ; rdfs:comment "Connects a Representation to an audio file" ; @@ -2062,23 +2067,27 @@ knora-api:MovingImageFileValue rdfs:subClassOf knora-api:FileValue ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueAsString + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:movingImageFileValueHasFps ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -2086,28 +2095,23 @@ knora-api:MovingImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:fileValueAsUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:fileValueAsUrl + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -2116,22 +2120,17 @@ knora-api:MovingImageFileValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:fileValueHasFilename + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -2145,11 +2144,17 @@ knora-api:MovingImageFileValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:fileValueHasFilename ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:movingImageFileValueHasFps + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:valueCreationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; knora-api:isValueClass true . @@ -2184,17 +2189,12 @@ knora-api:StandoffBooleanTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -2204,32 +2204,37 @@ knora-api:StandoffBooleanTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:booleanValueAsBoolean + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:booleanValueAsBoolean + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; knora-api:isStandoffClass true . @@ -2238,40 +2243,49 @@ knora-api:AudioRepresentation rdfs:comment "Represents a file containing audio data" ; rdfs:label "Representation (Audio)" ; rdfs:subClassOf knora-api:Representation ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:creationDate ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasAudioFileValue + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -2280,23 +2294,18 @@ knora-api:AudioRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -2305,30 +2314,33 @@ knora-api:AudioRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasAudioFileValue + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; knora-api:isResourceClass true . +knora-api:valueHasUUID + a owl:DatatypeProperty ; + rdfs:comment "The UUID of a value" ; + rdfs:subPropertyOf knora-api:valueHas ; + knora-api:objectType xsd:string ; + knora-api:subjectType knora-api:Value . + knora-api:MovingImageRepresentation a owl:Class ; rdfs:comment "A resource containing moving image data" ; @@ -2336,68 +2348,72 @@ knora-api:MovingImageRepresentation rdfs:subClassOf knora-api:Representation ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasMovingImageFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -2406,8 +2422,8 @@ knora-api:MovingImageRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -2417,21 +2433,10 @@ knora-api:MovingImageRepresentation rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasMovingImageFileValue + owl:onProperty knora-api:attachedToUser ] ; knora-api:isResourceClass true . -knora-api:valueHasUUID - a owl:DatatypeProperty ; - rdfs:comment "The UUID of a value" ; - rdfs:subPropertyOf knora-api:valueHas ; - knora-api:objectType xsd:string ; - knora-api:subjectType knora-api:Value . - knora-api:movingImageFileValueHasFps a owl:DatatypeProperty ; rdfs:comment "The number of frames per second in a moving image file value." ; @@ -2468,11 +2473,6 @@ knora-api:AudioFileValue a owl:Class ; rdfs:comment "Represents an audio file" ; rdfs:subClassOf knora-api:FileValue ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; @@ -2481,27 +2481,32 @@ knora-api:AudioFileValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:fileValueAsUrl + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -2510,17 +2515,17 @@ knora-api:AudioFileValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:fileValueAsUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -2529,23 +2534,23 @@ knora-api:AudioFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; knora-api:isValueClass true . @@ -2629,57 +2634,57 @@ knora-api:StandoffTimeTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:timeValueAsTimeStamp ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:timeValueAsTimeStamp + owl:onProperty knora-api:standoffTagHasStart ] ; knora-api:isStandoffClass true . @@ -2698,33 +2703,33 @@ knora-api:arkUrl a owl:DatatypeProperty ; knora-api:Value a owl:Class ; rdfs:comment "The base class of classes representing Knora values" ; rdfs:subClassOf knora-api:ValueBase ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -2732,11 +2737,15 @@ knora-api:Value a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:isDeleted ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:valueCreationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -2744,11 +2753,7 @@ knora-api:Value a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:deleteDate ] ; knora-api:isValueClass true . @@ -2759,22 +2764,22 @@ knora-api:StandoffUriTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:uriValueAsUri + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -2784,32 +2789,32 @@ knora-api:StandoffUriTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:uriValueAsUri ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; knora-api:isStandoffClass true . @@ -2888,6 +2893,82 @@ knora-api:standoffTagHasStartParentIndex knora-api:objectType xsd:integer ; knora-api:subjectType knora-api:StandoffTag . +knora-api:BooleanValue + a owl:Class ; + rdfs:comment "Represents a boolean value" ; + rdfs:subClassOf knora-api:Value , knora-api:BooleanBase ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:valueCreationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:booleanValueAsBoolean + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueAsString + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID + ] ; + knora-api:isValueClass true . + knora-api:XSLTransformation a owl:Class ; rdfs:comment "a TextRepresentation representing an XSL transformation that can be applied to an XML created from standoff. The transformation's result is ecptected to be HTML." ; @@ -2895,171 +2976,95 @@ knora-api:XSLTransformation rdfs:subClassOf knora-api:TextRepresentation ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deletedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasTextFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasTextFileValue + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:attachedToUser ] ; knora-api:isResourceClass true . -knora-api:BooleanValue - a owl:Class ; - rdfs:comment "Represents a boolean value" ; - rdfs:subClassOf knora-api:Value , knora-api:BooleanBase ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:booleanValueAsBoolean - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission - ] ; - knora-api:isValueClass true . - knora-api:BooleanBase a owl:Class ; rdfs:subClassOf knora-api:ValueBase ; @@ -3079,11 +3084,6 @@ knora-api:StandoffColorTag a owl:Class ; rdfs:comment "Represents a color in a TextValue" ; rdfs:subClassOf knora-api:ColorBase , knora-api:StandoffDataTypeTag ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; @@ -3092,12 +3092,12 @@ knora-api:StandoffColorTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -3109,30 +3109,35 @@ knora-api:StandoffColorTag owl:cardinality 1 ; owl:onProperty knora-api:standoffTagHasStartIndex ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; knora-api:isStandoffClass true . @@ -3227,56 +3232,56 @@ knora-api:GeomValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:geometryValueAsGeometry + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:geometryValueAsGeometry ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -3285,22 +3290,26 @@ knora-api:GeomValue a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:versionArkUrl ] ; knora-api:isValueClass true . knora-api:Resource a owl:Class ; rdfs:comment "Represents something in the world, or an abstract thing" ; rdfs:label "Resource" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl + ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; @@ -3308,19 +3317,27 @@ knora-api:Resource a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:versionArkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:attachedToProject ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -3330,41 +3347,29 @@ knora-api:Resource a owl:Class ; owl:maxCardinality 1 ; owl:onProperty knora-api:deleteDate ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission - ] ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:onProperty knora-api:deletedBy ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; knora-api:isResourceClass true . @@ -3409,29 +3414,20 @@ knora-api:TextRepresentation rdfs:comment "A resource containing a text file" ; rdfs:label "Representation (Text)" ; rdfs:subClassOf knora-api:Representation ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasTextFileValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -3440,8 +3436,8 @@ knora-api:TextRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -3450,18 +3446,28 @@ knora-api:TextRepresentation ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:onProperty knora-api:hasIncomingLinkValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -3478,25 +3484,24 @@ knora-api:TextRepresentation owl:maxCardinality 1 ; owl:onProperty knora-api:deletedBy ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasTextFileValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; knora-api:isResourceClass true . @@ -3554,24 +3559,24 @@ knora-api:StandoffLinkTag a owl:Class ; rdfs:comment "Represents a reference to a Knora resource in a TextValue" ; rdfs:subClassOf knora-api:StandoffTag ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasLink - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasEndParent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasLink ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -3591,22 +3596,22 @@ knora-api:StandoffLinkTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; knora-api:isStandoffClass true . @@ -3626,38 +3631,28 @@ knora-api:FileValue a owl:Class ; rdfs:subClassOf knora-api:Value ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -3671,32 +3666,42 @@ knora-api:FileValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty knora-api:fileValueAsUrl ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:isDeleted + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:versionArkUrl ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission + ] ; knora-api:isValueClass true . knora-api:isDeleted a owl:DatatypeProperty ; @@ -3724,58 +3729,58 @@ knora-api:UriValue a owl:Class ; rdfs:subClassOf knora-api:Value , knora-api:UriBase ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:uriValueAsUri + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:uriValueAsUri ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -3784,13 +3789,13 @@ knora-api:UriValue a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:isDeleted ] ; knora-api:isValueClass true . @@ -3808,73 +3813,73 @@ knora-api:DecimalValue rdfs:subClassOf knora-api:DecimalBase , knora-api:Value ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:decimalValueAsDecimal ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:valueAsString ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:decimalValueAsDecimal + owl:onProperty knora-api:versionArkUrl ] ; knora-api:isValueClass true . @@ -3904,11 +3909,6 @@ knora-api:isPartOf a owl:ObjectProperty ; knora-api:objectType knora-api:Resource ; knora-api:subjectType knora-api:Resource . -knora-api:subjectType - a rdf:Property ; - rdfs:comment "Specifies the required type of the subjects of a property" ; - rdfs:label "Subject type" . - knora-api:booleanValueAsBoolean a owl:DatatypeProperty ; rdfs:comment "Represents the literal boolean value of a BooleanValue." ; @@ -3917,118 +3917,123 @@ knora-api:booleanValueAsBoolean knora-api:objectType xsd:boolean ; knora-api:subjectType knora-api:BooleanBase . +knora-api:subjectType + a rdf:Property ; + rdfs:comment "Specifies the required type of the subjects of a property" ; + rdfs:label "Subject type" . + knora-api:DateValue a owl:Class ; rdfs:comment "Represents a Knora date value" ; rdfs:subClassOf knora-api:DateBase , knora-api:Value ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasStartMonth ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartMonth + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasCalendar ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:dateValueHasStartEra ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartDay + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:cardinality 1 ; + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartYear + owl:onProperty knora-api:dateValueHasEndYear ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueAsString + owl:onProperty knora-api:dateValueHasEndMonth ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasEndYear + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasEndDay ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasEndDay + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasStartYear ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasEndEra + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:dateValueHasStartDay ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasCalendar + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartEra + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:dateValueHasEndEra ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasEndMonth + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueAsString ] ; knora-api:isValueClass true . @@ -4054,7 +4059,7 @@ knora-api:IntervalValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4064,12 +4069,7 @@ knora-api:IntervalValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:intervalValueHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4078,8 +4078,8 @@ knora-api:IntervalValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4089,42 +4089,47 @@ knora-api:IntervalValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:intervalValueHasStart + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:cardinality 1 ; + owl:onProperty knora-api:intervalValueHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:isDeleted ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:intervalValueHasEnd + owl:onProperty knora-api:hasPermissions + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; knora-api:isValueClass true . @@ -4141,21 +4146,21 @@ knora-api:standoffTagHasLink knora-api:objectType knora-api:Resource ; knora-api:subjectType knora-api:StandoffLinkTag . -knora-api:standoffTagHasEndParent - a owl:ObjectProperty ; - knora-api:objectType knora-api:StandoffTag ; - knora-api:subjectType knora-api:StandoffTag . +knora-api:creationDate + a owl:DatatypeProperty ; + rdfs:comment "Indicates when a resource was created" ; + knora-api:objectType xsd:dateTimeStamp ; + knora-api:subjectType knora-api:Resource . knora-api:deleteComment a owl:DatatypeProperty ; rdfs:comment "A comment explaining why a resource or value was marked as deleted" ; knora-api:objectType xsd:string . -knora-api:creationDate - a owl:DatatypeProperty ; - rdfs:comment "Indicates when a resource was created" ; - knora-api:objectType xsd:dateTimeStamp ; - knora-api:subjectType knora-api:Resource . +knora-api:standoffTagHasEndParent + a owl:ObjectProperty ; + knora-api:objectType knora-api:StandoffTag ; + knora-api:subjectType knora-api:StandoffTag . knora-api:hasDDDFileValue a owl:ObjectProperty ; @@ -4202,13 +4207,13 @@ knora-api:TimeValue a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4218,37 +4223,37 @@ knora-api:TimeValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:timeValueAsTimeStamp ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:timeValueAsTimeStamp + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4258,12 +4263,12 @@ knora-api:TimeValue a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:onProperty knora-api:versionArkUrl ] ; knora-api:isValueClass true . @@ -4291,54 +4296,62 @@ knora-api:LinkObj a owl:Class ; rdfs:comment "Represents a generic link object" ; rdfs:label "Link Object" ; rdfs:subClassOf knora-api:Resource ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasIncomingLinkValue + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:isDeleted ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:hasLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:hasLinkTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty knora-api:hasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty rdfs:label ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:hasLinkToValue - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteComment + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4347,22 +4360,18 @@ knora-api:LinkObj a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:lastModificationDate ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasComment + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToProject ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4371,22 +4380,18 @@ knora-api:LinkObj a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:attachedToProject - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:hasLinkTo + owl:onProperty knora-api:userHasPermission ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; @@ -4419,25 +4424,20 @@ knora-api:GeonameValue owl:cardinality 1 ; owl:onProperty knora-api:attachedToUser ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:versionArkUrl ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:userHasPermission ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:valueHasComment + owl:cardinality 1 ; + owl:onProperty knora-api:valueHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -4446,7 +4446,7 @@ knora-api:GeonameValue rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:versionArkUrl + owl:onProperty knora-api:valueCreationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4460,8 +4460,8 @@ knora-api:GeonameValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4470,18 +4470,23 @@ knora-api:GeonameValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:valueCreationDate + owl:maxCardinality 1 ; + owl:onProperty knora-api:valueHasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:maxCardinality 1 ; + owl:onProperty knora-api:deleteDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:valueHasUUID + owl:onProperty knora-api:arkUrl ] ; knora-api:isValueClass true . @@ -4491,17 +4496,9 @@ knora-api:DateBase a owl:Class ; owl:maxCardinality 1 ; owl:onProperty knora-api:dateValueHasEndDay ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartMonth - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartEra - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:dateValueHasStartDay + owl:onProperty knora-api:dateValueHasEndEra ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; @@ -4509,19 +4506,27 @@ knora-api:DateBase a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasEndEra + owl:onProperty knora-api:dateValueHasStartYear + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:dateValueHasStartEra ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty knora-api:dateValueHasEndMonth ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:dateValueHasStartYear - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty knora-api:dateValueHasCalendar + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasStartDay + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:dateValueHasStartMonth ] . knora-api:Region a owl:Class ; @@ -4530,39 +4535,23 @@ knora-api:Region a owl:Class ; rdfs:subClassOf knora-api:Resource ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasIncomingLinkValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:hasGeometry - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:hasColor + owl:cardinality 1 ; + owl:onProperty knora-api:hasPermissions ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deleteDate - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:isRegionOfValue - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality 1 ; - owl:onProperty knora-api:isRegionOf + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkTo ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:hasPermissions + owl:onProperty knora-api:creationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkToValue + owl:maxCardinality 1 ; + owl:onProperty knora-api:versionDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -4571,67 +4560,83 @@ knora-api:Region a owl:Class ; ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:deletedBy + owl:cardinality 1 ; + owl:onProperty knora-api:arkUrl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:isRegionOfValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty rdfs:label + owl:maxCardinality 1 ; + owl:onProperty knora-api:deletedBy ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:versionDate + owl:onProperty knora-api:isDeleted + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:hasComment ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:minCardinality 0 ; - owl:onProperty knora-api:hasStandoffLinkTo + owl:onProperty knora-api:hasIncomingLinkValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:versionArkUrl ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:attachedToUser + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty knora-api:hasGeometry + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:hasColor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality 1 ; + owl:onProperty knora-api:isRegionOf ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:userHasPermission + owl:onProperty rdfs:label ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:lastModificationDate + owl:cardinality 1 ; + owl:onProperty knora-api:attachedToUser ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:attachedToProject ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty knora-api:hasComment + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:lastModificationDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:isDeleted + owl:onProperty knora-api:deleteDate ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:creationDate + owl:minCardinality 0 ; + owl:onProperty knora-api:hasStandoffLinkToValue ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:arkUrl + owl:onProperty knora-api:userHasPermission ] ; knora-api:canBeInstantiated true ; knora-api:isResourceClass true ; diff --git a/test_data/ontologyR2RV2/standoffOntologyWithValueObjects.ttl b/test_data/ontologyR2RV2/standoffOntologyWithValueObjects.ttl index 99c4811bc0..13c8ab87d9 100644 --- a/test_data/ontologyR2RV2/standoffOntologyWithValueObjects.ttl +++ b/test_data/ontologyR2RV2/standoffOntologyWithValueObjects.ttl @@ -12,43 +12,43 @@ standoff:StandoffParagraphTag rdfs:subClassOf standoff:StandoffStructuralTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -57,8 +57,8 @@ standoff:StandoffParagraphTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; knora-api:isStandoffClass true . @@ -73,8 +73,8 @@ standoff:StandoffTableCellTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -83,18 +83,18 @@ standoff:StandoffTableCellTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -103,18 +103,18 @@ standoff:StandoffTableCellTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParent ] ; knora-api:isStandoffClass true . @@ -124,43 +124,43 @@ standoff:StandoffBlockquoteTag rdfs:subClassOf standoff:StandoffStructuralTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -181,17 +181,16 @@ standoff:StandoffRootTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty standoff:standoffRootTagHasDocumentType ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -201,21 +200,12 @@ standoff:StandoffRootTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex - ] ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty standoff:standoffRootTagHasDocumentType + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -227,10 +217,20 @@ standoff:StandoffRootTag owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; knora-api:isStandoffClass true . @@ -240,53 +240,53 @@ standoff:StandoffCiteTag rdfs:subClassOf standoff:StandoffStructuralTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; knora-api:isStandoffClass true . @@ -297,27 +297,27 @@ standoff:StandoffHeader4Tag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -327,17 +327,17 @@ standoff:StandoffHeader4Tag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -358,43 +358,43 @@ standoff:StandoffVisualTag rdfs:subClassOf knora-api:StandoffTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -403,8 +403,8 @@ standoff:StandoffVisualTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; knora-api:isStandoffClass true . @@ -414,18 +414,18 @@ standoff:StandoffSubscriptTag rdfs:subClassOf standoff:StandoffVisualTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -434,33 +434,33 @@ standoff:StandoffSubscriptTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasUUID ] ; knora-api:isStandoffClass true . @@ -470,13 +470,13 @@ standoff:StandoffHyperlinkTag rdfs:subClassOf knora-api:StandoffUriTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -484,23 +484,23 @@ standoff:StandoffHyperlinkTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:uriValueAsUri + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -509,23 +509,23 @@ standoff:StandoffHyperlinkTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:uriValueAsUri ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; knora-api:isStandoffClass true . @@ -536,52 +536,52 @@ standoff:StandoffTableRowTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasEnd ] ; knora-api:isStandoffClass true . @@ -592,52 +592,52 @@ standoff:StandoffHeader3Tag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParent ] ; knora-api:isStandoffClass true . @@ -647,13 +647,13 @@ standoff:StandoffBoldTag rdfs:subClassOf standoff:StandoffVisualTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -662,38 +662,38 @@ standoff:StandoffBoldTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; knora-api:isStandoffClass true . @@ -704,28 +704,18 @@ standoff:StandoffLineTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:standoffTagHasStartIndex ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; @@ -739,7 +729,7 @@ standoff:StandoffLineTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -751,6 +741,16 @@ standoff:StandoffLineTag owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasEndIndex ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex + ] ; knora-api:isStandoffClass true . standoff:StandoffBrTag @@ -765,47 +765,47 @@ standoff:StandoffBrTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; knora-api:isStandoffClass true . @@ -815,28 +815,28 @@ standoff:StandoffPreTag rdfs:subClassOf standoff:StandoffVisualTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -846,22 +846,22 @@ standoff:StandoffPreTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; knora-api:isStandoffClass true . @@ -871,38 +871,38 @@ standoff:StandoffTableTag rdfs:subClassOf standoff:StandoffStructuralTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -912,12 +912,12 @@ standoff:StandoffTableTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; knora-api:isStandoffClass true . @@ -927,8 +927,13 @@ standoff:StandoffHeader2Tag rdfs:subClassOf standoff:StandoffStructuralTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -938,22 +943,17 @@ standoff:StandoffHeader2Tag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -963,17 +963,17 @@ standoff:StandoffHeader2Tag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; knora-api:isStandoffClass true . @@ -984,12 +984,12 @@ standoff:StandoffSuperscriptTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1001,11 +1001,6 @@ standoff:StandoffSuperscriptTag owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasEndParent ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; @@ -1014,17 +1009,22 @@ standoff:StandoffSuperscriptTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1039,53 +1039,53 @@ standoff:StandoffItalicTag rdfs:subClassOf standoff:StandoffVisualTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; knora-api:isStandoffClass true . @@ -1096,12 +1096,12 @@ standoff:StandoffTableBodyTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1116,32 +1116,32 @@ standoff:StandoffTableBodyTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; knora-api:isStandoffClass true . @@ -1149,25 +1149,20 @@ standoff:StandoffHeader1Tag a owl:Class ; rdfs:comment "Represents a header of level 1 in a TextValue" ; rdfs:subClassOf standoff:StandoffStructuralTag ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1177,27 +1172,32 @@ standoff:StandoffHeader1Tag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasEndIndex + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasEnd ] ; knora-api:isStandoffClass true . @@ -1205,6 +1205,16 @@ standoff:StandoffStructuralTag a owl:Class ; rdfs:comment "Represents structural markup information in a TextValue" ; rdfs:subClassOf knora-api:StandoffTag ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; @@ -1217,19 +1227,14 @@ standoff:StandoffStructuralTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; @@ -1238,49 +1243,34 @@ standoff:StandoffStructuralTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasEndParent ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID - ] ; knora-api:isStandoffClass true . standoff:StandoffListElementTag a owl:Class ; rdfs:comment "Represents a list element in a TextValue" ; rdfs:subClassOf standoff:StandoffStructuralTag ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; owl:onProperty knora-api:standoffTagHasEndIndex ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex - ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; @@ -1288,8 +1278,8 @@ standoff:StandoffListElementTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1303,13 +1293,23 @@ standoff:StandoffListElementTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex + ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; knora-api:isStandoffClass true . @@ -1320,47 +1320,47 @@ standoff:StandoffStrikethroughTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1376,27 +1376,22 @@ standoff:StandoffUnorderedListTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1405,23 +1400,28 @@ standoff:StandoffUnorderedListTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; owl:onProperty knora-api:standoffTagHasStart ] ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasStartParent ] ; knora-api:isStandoffClass true . @@ -1429,15 +1429,20 @@ standoff:StandoffHeader6Tag a owl:Class ; rdfs:comment "Represents a header of level 6 in a TextValue" ; rdfs:subClassOf standoff:StandoffStructuralTag ; + rdfs:subClassOf [ a owl:Restriction ; + knora-api:isInherited true ; + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParent + ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1446,8 +1451,8 @@ standoff:StandoffHeader6Tag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1457,27 +1462,22 @@ standoff:StandoffHeader6Tag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart - ] ; - rdfs:subClassOf [ a owl:Restriction ; - knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; knora-api:isStandoffClass true . @@ -1488,52 +1488,52 @@ standoff:StandoffUnderlineTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; knora-api:isStandoffClass true . @@ -1544,22 +1544,22 @@ standoff:StandoffCodeTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1569,12 +1569,12 @@ standoff:StandoffCodeTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1584,12 +1584,12 @@ standoff:StandoffCodeTag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; knora-api:isStandoffClass true . @@ -1599,13 +1599,13 @@ standoff:StandoffOrderedListTag rdfs:subClassOf standoff:StandoffStructuralTag ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; @@ -1614,38 +1614,38 @@ standoff:StandoffOrderedListTag ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; knora-api:isStandoffClass true . @@ -1662,52 +1662,52 @@ standoff:StandoffHeader5Tag rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasEnd + owl:onProperty knora-api:standoffTagHasUUID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndIndex + owl:onProperty knora-api:standoffTagHasStartParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasOriginalXMLID + owl:onProperty knora-api:standoffTagHasEndParent ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStart + owl:onProperty knora-api:standoffTagHasStartIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasUUID + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasStartParentIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasEnd ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartParentIndex + owl:onProperty knora-api:standoffTagHasOriginalXMLID ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParent + owl:cardinality 1 ; + owl:onProperty knora-api:standoffTagHasStart ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; owl:maxCardinality 1 ; - owl:onProperty knora-api:standoffTagHasEndParentIndex + owl:onProperty knora-api:standoffTagHasEndIndex ] ; rdfs:subClassOf [ a owl:Restriction ; knora-api:isInherited true ; - owl:cardinality 1 ; - owl:onProperty knora-api:standoffTagHasStartIndex + owl:maxCardinality 1 ; + owl:onProperty knora-api:standoffTagHasEndParentIndex ] ; knora-api:isStandoffClass true . diff --git a/webapi/scripts/expected-client-test-data.txt b/webapi/scripts/expected-client-test-data.txt index 8ad3232871..93631ee887 100644 --- a/webapi/scripts/expected-client-test-data.txt +++ b/webapi/scripts/expected-client-test-data.txt @@ -180,6 +180,7 @@ test-data/v2/ontologies/add-cardinalities-to-class-nothing-request.json test-data/v2/ontologies/add-cardinalities-to-class-nothing-response.json test-data/v2/ontologies/all-ontology-metadata-response.json test-data/v2/ontologies/anything-ontology.json +test-data/v2/ontologies/can-do-response.json test-data/v2/ontologies/change-class-comment-request.json test-data/v2/ontologies/change-class-label-request.json test-data/v2/ontologies/change-gui-order-request.json diff --git a/webapi/src/main/scala/org/knora/webapi/messages/OntologyConstants.scala b/webapi/src/main/scala/org/knora/webapi/messages/OntologyConstants.scala index 031aaaadd7..b179eeacad 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/OntologyConstants.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/OntologyConstants.scala @@ -17,10 +17,10 @@ * License along with Knora. If not, see . */ -package org.knora.webapi.messages +package org.knora.webapi +package messages -import org.knora.webapi._ -import org.knora.webapi.exceptions.InconsistentRepositoryDataException +import exceptions.InconsistentRepositoryDataException /** * Contains string constants for IRIs from ontologies used by the application. @@ -734,6 +734,7 @@ object OntologyConstants { val Result: IRI = KnoraApiV2PrefixExpansion + "result" val Error: IRI = KnoraApiV2PrefixExpansion + "error" + val CanDo: IRI = KnoraApiV2PrefixExpansion + "canDo" val MayHaveMoreResults: IRI = KnoraApiV2PrefixExpansion + "mayHaveMoreResults" val EventType: IRI = KnoraApiV2PrefixExpansion + "eventType" val EventBody: IRI = KnoraApiV2PrefixExpansion + "eventBody" diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/KnoraResponseV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/KnoraResponseV2.scala index 25a6e1fba3..1a47063c81 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/KnoraResponseV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/KnoraResponseV2.scala @@ -17,15 +17,15 @@ * License along with Knora. If not, see . */ -package org.knora.webapi.messages.v2.responder +package org.knora.webapi +package messages.v2.responder -import org.knora.webapi._ -import org.knora.webapi.exceptions.AssertionException -import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.OntologyConstants -import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectADM -import org.knora.webapi.messages.util.rdf._ -import org.knora.webapi.settings.KnoraSettingsImpl +import exceptions.{AssertionException, BadRequestException} +import feature.FeatureFactoryConfig +import messages.OntologyConstants +import messages.admin.responder.projectsmessages.ProjectADM +import messages.util.rdf._ +import settings.KnoraSettingsImpl /** * A trait for Knora API V2 response messages. @@ -170,6 +170,32 @@ case class SuccessResponseV2(message: String) extends KnoraJsonLDResponseV2 { } } +/** + * Indicates whether an operation can be performed. + * + * @param canDo `true` if the operation can be performed. + */ +case class CanDoResponseV2(canDo: Boolean) extends KnoraJsonLDResponseV2 { + def toJsonLDDocument(targetSchema: ApiV2Schema, + settings: KnoraSettingsImpl, + schemaOptions: Set[SchemaOption]): JsonLDDocument = { + if (targetSchema != ApiV2Complex) { + throw BadRequestException(s"Response is available only in the complex schema") + } + + JsonLDDocument( + body = JsonLDObject( + Map(OntologyConstants.KnoraApiV2Complex.CanDo -> JsonLDBoolean(canDo)) + ), + context = JsonLDObject( + Map( + OntologyConstants.KnoraApi.KnoraApiOntologyLabel -> JsonLDString( + OntologyConstants.KnoraApiV2Complex.KnoraApiV2PrefixExpansion)) + ) + ) + } +} + /** * A trait for content classes that can convert themselves between internal and internal schemas. * diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/KnoraBaseToApiV2ComplexTransformationRules.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/KnoraBaseToApiV2ComplexTransformationRules.scala index 800a506aa0..422b44c518 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/KnoraBaseToApiV2ComplexTransformationRules.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/KnoraBaseToApiV2ComplexTransformationRules.scala @@ -86,6 +86,26 @@ object KnoraBaseToApiV2ComplexTransformationRules extends OntologyTransformation objectType = Some(OntologyConstants.Xsd.String) ) + private val CanDo: ReadPropertyInfoV2 = makeProperty( + propertyIri = OntologyConstants.KnoraApiV2Complex.CanDo, + propertyType = OntologyConstants.Owl.DatatypeProperty, + predicates = Seq( + makePredicate( + predicateIri = OntologyConstants.Rdfs.Label, + objectsWithLang = Map( + LanguageCodes.EN -> "can do" + ) + ), + makePredicate( + predicateIri = OntologyConstants.Rdfs.Comment, + objectsWithLang = Map( + LanguageCodes.EN -> "Indicates whether an operation can be performed" + ) + ) + ), + objectType = Some(OntologyConstants.Xsd.Boolean) + ) + private val MayHaveMoreResults: ReadPropertyInfoV2 = makeProperty( propertyIri = OntologyConstants.KnoraApiV2Complex.MayHaveMoreResults, propertyType = OntologyConstants.Owl.DatatypeProperty, @@ -1785,6 +1805,7 @@ object KnoraBaseToApiV2ComplexTransformationRules extends OntologyTransformation Result, MayHaveMoreResults, Error, + CanDo, UserHasPermission, VersionDate, ArkUrl, diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/OntologyMessagesV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/OntologyMessagesV2.scala index 11046e6720..8d4a4f77b4 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/OntologyMessagesV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/OntologyMessagesV2.scala @@ -17,33 +17,33 @@ * License along with Knora. If not, see . */ -package org.knora.webapi.messages.v2.responder.ontologymessages +package org.knora.webapi +package messages.v2.responder.ontologymessages -import java.time.Instant -import java.util.UUID - -import akka.actor.ActorRef -import akka.event.LoggingAdapter -import akka.util.Timeout -import org.apache.commons.lang3.builder.HashCodeBuilder -import org.knora.webapi._ -import org.knora.webapi.exceptions.{ +import exceptions.{ AssertionException, BadRequestException, DataConversionException, InconsistentRepositoryDataException } -import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.IriConversions._ -import org.knora.webapi.messages.admin.responder.usersmessages.UserADM -import org.knora.webapi.messages.store.triplestoremessages._ -import org.knora.webapi.messages.util.rdf._ -import org.knora.webapi.messages.v2.responder._ -import org.knora.webapi.messages.v2.responder.ontologymessages.Cardinality.{KnoraCardinalityInfo, OwlCardinalityInfo} -import org.knora.webapi.messages.v2.responder.standoffmessages.StandoffDataTypeClasses -import org.knora.webapi.messages.{OntologyConstants, SmartIri, StringFormatter} -import org.knora.webapi.settings.KnoraSettingsImpl +import feature.FeatureFactoryConfig +import messages.IriConversions._ +import messages.admin.responder.usersmessages.UserADM +import messages.store.triplestoremessages._ +import messages.util.rdf._ +import messages.v2.responder._ +import messages.v2.responder.ontologymessages.Cardinality.{KnoraCardinalityInfo, OwlCardinalityInfo} +import messages.v2.responder.standoffmessages.StandoffDataTypeClasses +import messages.{OntologyConstants, SmartIri, StringFormatter} +import settings.KnoraSettingsImpl + +import akka.actor.ActorRef +import akka.event.LoggingAdapter +import akka.util.Timeout +import org.apache.commons.lang3.builder.HashCodeBuilder +import java.time.Instant +import java.util.UUID import scala.concurrent.{ExecutionContext, Future} /** @@ -153,6 +153,18 @@ object CreateOntologyRequestV2 extends KnoraJsonLDRequestReaderV2[CreateOntology } } +/** + * Checks whether an ontology can be deleted. A successful response will be a [[CanDoResponseV2]]. + * + * @param ontologyIri the ontology IRI. + * @param featureFactoryConfig the feature factory configuration. + * @param requestingUser the user making the request. + */ +case class CanDeleteOntologyRequestV2(ontologyIri: SmartIri, + featureFactoryConfig: FeatureFactoryConfig, + requestingUser: UserADM) + extends OntologiesResponderRequestV2 + /** * Requests that an ontology is deleted. All the entities in the ontology must be unused in data. * @@ -630,6 +642,18 @@ object AddCardinalitiesToClassRequestV2 extends KnoraJsonLDRequestReaderV2[AddCa } } +/** + * Checks whether the cardinalities of a class can be replaced. A successful response will be a [[CanDoResponseV2]]. + * + * @param classIri the class IRI. + * @param featureFactoryConfig the feature factory configuration. + * @param requestingUser the user making the request. + */ +case class CanChangeCardinalitiesRequestV2(classIri: SmartIri, + featureFactoryConfig: FeatureFactoryConfig, + requestingUser: UserADM) + extends OntologiesResponderRequestV2 + /** * Requests the replacement of a class's cardinalities with new ones. A successful response will be a [[ReadOntologyV2]]. * @@ -717,6 +741,18 @@ case class DeleteClassRequestV2(classIri: SmartIri, requestingUser: UserADM) extends OntologiesResponderRequestV2 +/** + * Asks whether a class can be deleted. A successful response will be a [[CanDoResponseV2]]. + * + * @param classIri the IRI of the class to be deleted. + * @param featureFactoryConfig the feature factory configuration. + * @param requestingUser the user making the request. + */ +case class CanDeleteClassRequestV2(classIri: SmartIri, + featureFactoryConfig: FeatureFactoryConfig, + requestingUser: UserADM) + extends OntologiesResponderRequestV2 + /** * Requests the deletion of a property. A successful response will be a [[ReadOntologyMetadataV2]]. * @@ -732,6 +768,18 @@ case class DeletePropertyRequestV2(propertyIri: SmartIri, requestingUser: UserADM) extends OntologiesResponderRequestV2 +/** + * Asks whether a property can be deleted. A successful response will be a [[CanDoResponseV2]]. + * + * @param propertyIri the IRI of the property to be deleted. + * @param featureFactoryConfig the feature factory configuration. + * @param requestingUser the user making the request. + */ +case class CanDeletePropertyRequestV2(propertyIri: SmartIri, + featureFactoryConfig: FeatureFactoryConfig, + requestingUser: UserADM) + extends OntologiesResponderRequestV2 + /** * A trait for requests to change entity labels or comments. */ @@ -1784,7 +1832,7 @@ case class ReadOntologyMetadataV2(ontologies: Set[OntologyMetadataV2]) ) } - private def generateJsonLD(targetSchema: ApiV2Schema, settings: KnoraSettingsImpl): JsonLDDocument = { + private def generateJsonLD(targetSchema: ApiV2Schema): JsonLDDocument = { val knoraApiOntologyPrefixExpansion = targetSchema match { case ApiV2Simple => OntologyConstants.KnoraApiV2Simple.KnoraApiV2PrefixExpansion case ApiV2Complex => OntologyConstants.KnoraApiV2Complex.KnoraApiV2PrefixExpansion @@ -1812,7 +1860,7 @@ case class ReadOntologyMetadataV2(ontologies: Set[OntologyMetadataV2]) def toJsonLDDocument(targetSchema: ApiV2Schema, settings: KnoraSettingsImpl, schemaOptions: Set[SchemaOption]): JsonLDDocument = { - toOntologySchema(targetSchema).generateJsonLD(targetSchema, settings) + toOntologySchema(targetSchema).generateJsonLD(targetSchema) } } @@ -3218,8 +3266,7 @@ case class PropertyInfoContentV2(propertyIri: SmartIri, // Yes. Is there a corresponding type in the API v2 simple ontology? if (OntologyConstants .CorrespondingIris((InternalSchema, ApiV2Simple)) - .get(objectTypeObj.toString) - .nonEmpty) { + .contains(objectTypeObj.toString)) { // Yes. The corresponding type must be a datatype, so make this a datatype property. (predicates - rdfTypeIri) + (rdfTypeIri -> PredicateInfoV2( diff --git a/webapi/src/main/scala/org/knora/webapi/responders/Responder.scala b/webapi/src/main/scala/org/knora/webapi/responders/Responder.scala index 5fd3e647da..4bde0a8767 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/Responder.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/Responder.scala @@ -17,7 +17,15 @@ * License along with Knora. If not, see . */ -package org.knora.webapi.responders +package org.knora.webapi +package responders + +import exceptions.{DuplicateValueException, UnexpectedMessageException} +import messages.store.triplestoremessages.SparqlSelectRequest +import messages.util.ResponderData +import messages.util.rdf.SparqlSelectResult +import messages.{SmartIri, StringFormatter} +import settings.{KnoraDispatchers, KnoraSettings, KnoraSettingsImpl} import akka.actor.{ActorRef, ActorSystem} import akka.event.LoggingAdapter @@ -25,13 +33,6 @@ import akka.http.scaladsl.util.FastFuture import akka.pattern._ import akka.util.Timeout import com.typesafe.scalalogging.{LazyLogging, Logger} -import org.knora.webapi._ -import org.knora.webapi.exceptions.{DuplicateValueException, UnexpectedMessageException} -import org.knora.webapi.messages.store.triplestoremessages.SparqlSelectRequest -import org.knora.webapi.messages.util.ResponderData -import org.knora.webapi.messages.util.rdf.SparqlSelectResult -import org.knora.webapi.messages.{SmartIri, StringFormatter} -import org.knora.webapi.settings.{KnoraDispatchers, KnoraSettings, KnoraSettingsImpl} import scala.concurrent.{ExecutionContext, Future} import scala.language.postfixOps @@ -111,15 +112,14 @@ abstract class Responder(responderData: ResponderData) extends LazyLogging { * Checks whether an entity is used in the triplestore. * * @param entityIri the IRI of the entity. - * @param errorFun a function that throws an exception. It will be called if the entity is used. * @param ignoreKnoraConstraints if `true`, ignores the use of the entity in Knora subject or object constraints. * @param ignoreRdfSubjectAndObject if `true`, ignores the use of the entity in `rdf:subject` and `rdf:object`. + * + * @return `true` if the entity is used. */ protected def isEntityUsed(entityIri: SmartIri, - errorFun: => Nothing, ignoreKnoraConstraints: Boolean = false, - ignoreRdfSubjectAndObject: Boolean = false): Future[Unit] = { - + ignoreRdfSubjectAndObject: Boolean = false): Future[Boolean] = { for { isEntityUsedSparql <- Future( org.knora.webapi.messages.twirl.queries.sparql.v2.txt @@ -134,7 +134,26 @@ abstract class Responder(responderData: ResponderData) extends LazyLogging { isEntityUsedResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isEntityUsedSparql)) .mapTo[SparqlSelectResult] - _ = if (isEntityUsedResponse.results.bindings.nonEmpty) { + } yield isEntityUsedResponse.results.bindings.nonEmpty + } + + /** + * Throws an exception if an entity is used in the triplestore. + * + * @param entityIri the IRI of the entity. + * @param errorFun a function that throws an exception. It will be called if the entity is used. + * @param ignoreKnoraConstraints if `true`, ignores the use of the entity in Knora subject or object constraints. + * @param ignoreRdfSubjectAndObject if `true`, ignores the use of the entity in `rdf:subject` and `rdf:object`. + */ + protected def throwIfEntityIsUsed(entityIri: SmartIri, + errorFun: => Nothing, + ignoreKnoraConstraints: Boolean = false, + ignoreRdfSubjectAndObject: Boolean = false): Future[Unit] = { + + for { + entityIsUsed: Boolean <- isEntityUsed(entityIri, ignoreKnoraConstraints, ignoreRdfSubjectAndObject) + + _ = if (entityIsUsed) { errorFun } } yield () diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/OntologyResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/OntologyResponderV2.scala index b9f155b267..415eb6d178 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/OntologyResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/OntologyResponderV2.scala @@ -17,36 +17,32 @@ * License along with Knora. If not, see . */ -package org.knora.webapi.responders.v2 - -import java.time.Instant +package org.knora.webapi +package responders.v2 + +import exceptions._ +import feature.FeatureFactoryConfig +import messages.IriConversions._ +import messages.StringFormatter.{SalsahGuiAttribute, SalsahGuiAttributeDefinition} +import messages.admin.responder.projectsmessages.{ProjectGetRequestADM, ProjectGetResponseADM, ProjectIdentifierADM} +import messages.admin.responder.usersmessages.UserADM +import messages.store.triplestoremessages._ +import messages.util.rdf.{SparqlSelectResult, VariableResultsRow} +import messages.util.{ErrorHandlingMap, KnoraSystemInstances, OntologyUtil, ResponderData} +import messages.v2.responder.{CanDoResponseV2, SuccessResponseV2} +import messages.v2.responder.ontologymessages.Cardinality.KnoraCardinalityInfo +import messages.v2.responder.ontologymessages._ +import messages.v2.responder.standoffmessages.StandoffDataTypeClasses +import messages.{OntologyConstants, SmartIri} +import responders.Responder.handleUnexpectedMessage +import responders.{IriLocker, Responder} +import util._ +import util.cache.CacheUtil import akka.http.scaladsl.util.FastFuture import akka.pattern._ -import org.knora.webapi._ -import org.knora.webapi.exceptions._ -import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.IriConversions._ -import org.knora.webapi.messages.StringFormatter.{SalsahGuiAttribute, SalsahGuiAttributeDefinition} -import org.knora.webapi.messages.admin.responder.projectsmessages.{ - ProjectGetRequestADM, - ProjectGetResponseADM, - ProjectIdentifierADM -} -import org.knora.webapi.messages.admin.responder.usersmessages.UserADM -import org.knora.webapi.messages.store.triplestoremessages._ -import org.knora.webapi.messages.util.rdf.{SparqlSelectResult, VariableResultsRow} -import org.knora.webapi.messages.util.{ErrorHandlingMap, KnoraSystemInstances, MessageUtil, OntologyUtil, ResponderData} -import org.knora.webapi.messages.v2.responder.SuccessResponseV2 -import org.knora.webapi.messages.v2.responder.ontologymessages.Cardinality.KnoraCardinalityInfo -import org.knora.webapi.messages.v2.responder.ontologymessages._ -import org.knora.webapi.messages.v2.responder.standoffmessages.StandoffDataTypeClasses -import org.knora.webapi.messages.{OntologyConstants, SmartIri} -import org.knora.webapi.responders.Responder.handleUnexpectedMessage -import org.knora.webapi.responders.{IriLocker, Responder} -import org.knora.webapi.util._ -import org.knora.webapi.util.cache.CacheUtil +import java.time.Instant import scala.collection.immutable import scala.concurrent.Future @@ -143,18 +139,23 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon changeClassLabelsOrComments(changeClassLabelsOrCommentsRequest) case addCardinalitiesToClassRequest: AddCardinalitiesToClassRequestV2 => addCardinalitiesToClass(addCardinalitiesToClassRequest) + case canChangeCardinalitiesRequest: CanChangeCardinalitiesRequestV2 => + canChangeClassCardinalities(canChangeCardinalitiesRequest) case changeCardinalitiesRequest: ChangeCardinalitiesRequestV2 => changeClassCardinalities(changeCardinalitiesRequest) case changeGuiOrderRequest: ChangeGuiOrderRequestV2 => changeGuiOrder(changeGuiOrderRequest) + case canDeleteClassRequest: CanDeleteClassRequestV2 => canDeleteClass(canDeleteClassRequest) case deleteClassRequest: DeleteClassRequestV2 => deleteClass(deleteClassRequest) case createPropertyRequest: CreatePropertyRequestV2 => createProperty(createPropertyRequest) case changePropertyLabelsOrCommentsRequest: ChangePropertyLabelsOrCommentsRequestV2 => changePropertyLabelsOrComments(changePropertyLabelsOrCommentsRequest) case changePropertyGuiElementRequest: ChangePropertyGuiElementRequest => changePropertyGuiElement(changePropertyGuiElementRequest) - case deletePropertyRequest: DeletePropertyRequestV2 => deleteProperty(deletePropertyRequest) - case deleteOntologyRequest: DeleteOntologyRequestV2 => deleteOntology(deleteOntologyRequest) - case other => handleUnexpectedMessage(other, log, this.getClass.getName) + case canDeletePropertyRequest: CanDeletePropertyRequestV2 => canDeleteProperty(canDeletePropertyRequest) + case deletePropertyRequest: DeletePropertyRequestV2 => deleteProperty(deletePropertyRequest) + case canDeleteOntologyRequest: CanDeleteOntologyRequestV2 => canDeleteOntology(canDeleteOntologyRequest) + case deleteOntologyRequest: DeleteOntologyRequestV2 => deleteOntology(deleteOntologyRequest) + case other => handleUnexpectedMessage(other, log, this.getClass.getName) } /** @@ -2852,7 +2853,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon _ <- hasCardinality match { // If there is, check that the class isn't used in data, and that it has no subclasses. case Some((propIri: SmartIri, cardinality: KnoraCardinalityInfo)) => - isEntityUsed( + throwIfEntityIsUsed( entityIri = internalClassIri, errorFun = throw BadRequestException( s"Cardinality ${cardinality.toString} for $propIri cannot be added to class ${addCardinalitiesRequest.classInfoContent.classIri}, because it is used in data or has a subclass"), @@ -3178,6 +3179,38 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon } yield taskResult } + /** + * Checks whether a class's cardinalities can be replaced. + * + * @param canChangeCardinalitiesRequest the request message. + * @return a [[CanDoResponseV2]] indicating whether a class's cardinalities can be replaced. + */ + private def canChangeClassCardinalities( + canChangeCardinalitiesRequest: CanChangeCardinalitiesRequestV2): Future[CanDoResponseV2] = { + val internalClassIri: SmartIri = canChangeCardinalitiesRequest.classIri.toOntologySchema(InternalSchema) + val internalOntologyIri: SmartIri = internalClassIri.getOntologyFromEntity + + for { + cacheData <- getCacheData + + ontology = cacheData.ontologies.getOrElse( + internalOntologyIri, + throw BadRequestException( + s"Ontology ${canChangeCardinalitiesRequest.classIri.getOntologyFromEntity} does not exist")) + + _ = if (!ontology.classes.contains(internalClassIri)) { + throw BadRequestException(s"Class ${canChangeCardinalitiesRequest.classIri} does not exist") + } + + userCanUpdateOntology <- canUserUpdateOntology(internalOntologyIri, canChangeCardinalitiesRequest.requestingUser) + + classIsUsed <- isEntityUsed( + entityIri = internalClassIri, + ignoreKnoraConstraints = true // It's OK if a property refers to the class via knora-base:subjectClassConstraint or knora-base:objectClassConstraint. + ) + } yield CanDoResponseV2(userCanUpdateOntology && !classIsUsed) + } + /** * Replaces a class's cardinalities with new ones. * @@ -3220,7 +3253,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the class isn't used in data, and that it has no subclasses. - _ <- isEntityUsed( + _ <- throwIfEntityIsUsed( entityIri = internalClassIri, errorFun = throw BadRequestException( s"The cardinalities of class ${changeCardinalitiesRequest.classInfoContent.classIri} cannot be changed, because it is used in data or has a subclass"), @@ -3371,6 +3404,32 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon } yield taskResult } + /** + * Checks whether a class can be deleted. + * + * @param canDeleteClassRequest the request message. + * @return a [[CanDoResponseV2]]. + */ + private def canDeleteClass(canDeleteClassRequest: CanDeleteClassRequestV2): Future[CanDoResponseV2] = { + val internalClassIri: SmartIri = canDeleteClassRequest.classIri.toOntologySchema(InternalSchema) + val internalOntologyIri: SmartIri = internalClassIri.getOntologyFromEntity + + for { + cacheData <- getCacheData + + ontology = cacheData.ontologies.getOrElse( + internalOntologyIri, + throw BadRequestException(s"Ontology ${canDeleteClassRequest.classIri.getOntologyFromEntity} does not exist")) + + _ = if (!ontology.classes.contains(internalClassIri)) { + throw BadRequestException(s"Class ${canDeleteClassRequest.classIri} does not exist") + } + + userCanUpdateOntology <- canUserUpdateOntology(internalOntologyIri, canDeleteClassRequest.requestingUser) + classIsUsed <- isEntityUsed(entityIri = internalClassIri) + } yield CanDoResponseV2(userCanUpdateOntology && !classIsUsed) + } + /** * Deletes a class. * @@ -3399,7 +3458,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the class isn't used in data or ontologies. - _ <- isEntityUsed( + _ <- throwIfEntityIsUsed( entityIri = internalClassIri, errorFun = throw BadRequestException( s"Class ${deleteClassRequest.classIri} cannot be deleted, because it is used in data or ontologies") @@ -3482,6 +3541,38 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon } yield taskResult } + /** + * Checks whether a property can be deleted. + * + * @param canDeletePropertyRequest the request message. + * @return a [[CanDoResponseV2]] indicating whether the property can be deleted. + */ + private def canDeleteProperty(canDeletePropertyRequest: CanDeletePropertyRequestV2): Future[CanDoResponseV2] = { + val internalPropertyIri = canDeletePropertyRequest.propertyIri.toOntologySchema(InternalSchema) + val internalOntologyIri = internalPropertyIri.getOntologyFromEntity + + for { + cacheData <- getCacheData + + ontology = cacheData.ontologies.getOrElse( + internalOntologyIri, + throw BadRequestException( + s"Ontology ${canDeletePropertyRequest.propertyIri.getOntologyFromEntity} does not exist")) + + propertyDef: ReadPropertyInfoV2 = ontology.properties.getOrElse( + internalPropertyIri, + throw BadRequestException(s"Property ${canDeletePropertyRequest.propertyIri} does not exist")) + + _ = if (propertyDef.isLinkValueProp) { + throw BadRequestException( + s"A link value property cannot be deleted directly; check the corresponding link property instead") + } + + userCanUpdateOntology <- canUserUpdateOntology(internalOntologyIri, canDeletePropertyRequest.requestingUser) + propertyIsUsed <- isEntityUsed(internalPropertyIri) + } yield CanDoResponseV2(userCanUpdateOntology && !propertyIsUsed) + } + /** * Deletes a property. If the property is a link property, the corresponding link value property is also deleted. * @@ -3520,7 +3611,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the property isn't used in data or ontologies. - _ <- isEntityUsed( + _ <- throwIfEntityIsUsed( entityIri = internalPropertyIri, errorFun = throw BadRequestException( s"Property ${deletePropertyRequest.propertyIri} cannot be deleted, because it is used in data or ontologies") @@ -3528,7 +3619,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon _ <- maybeInternalLinkValuePropertyIri match { case Some(internalLinkValuePropertyIri) => - isEntityUsed( + throwIfEntityIsUsed( entityIri = internalLinkValuePropertyIri, errorFun = throw BadRequestException( s"Property ${deletePropertyRequest.propertyIri} cannot be deleted, because the corresponding link value property, ${internalLinkValuePropertyIri @@ -3615,7 +3706,56 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon } yield taskResult } - def deleteOntology(deleteOntologyRequest: DeleteOntologyRequestV2): Future[SuccessResponseV2] = { + /** + * Checks whether an ontology can be deleted. + * + * @param canDeleteOntologyRequest the request message. + * @return a [[CanDoResponseV2]] indicating whether an ontology can be deleted. + */ + private def canDeleteOntology(canDeleteOntologyRequest: CanDeleteOntologyRequestV2): Future[CanDoResponseV2] = { + val internalOntologyIri: SmartIri = canDeleteOntologyRequest.ontologyIri.toOntologySchema(InternalSchema) + + for { + cacheData <- getCacheData + + ontology = cacheData.ontologies.getOrElse( + internalOntologyIri, + throw BadRequestException( + s"Ontology ${canDeleteOntologyRequest.ontologyIri.getOntologyFromEntity} does not exist")) + + userCanUpdateOntology <- canUserUpdateOntology(internalOntologyIri, canDeleteOntologyRequest.requestingUser) + subjectsUsingOntology <- getSubjectsUsingOntology(ontology) + } yield CanDoResponseV2(userCanUpdateOntology && subjectsUsingOntology.isEmpty) + } + + /** + * Gets the set of subjects that refer to an ontology or its entities. + * + * @param ontology the ontology. + * @return the set of subjects that refer to the ontology or its entities. + */ + private def getSubjectsUsingOntology(ontology: ReadOntologyV2): Future[Set[IRI]] = { + for { + isOntologyUsedSparql <- Future( + org.knora.webapi.messages.twirl.queries.sparql.v2.txt + .isOntologyUsed( + triplestore = settings.triplestoreType, + ontologyNamedGraphIri = ontology.ontologyMetadata.ontologyIri, + classIris = ontology.classes.keySet, + propertyIris = ontology.properties.keySet + ) + .toString()) + + isOntologyUsedResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isOntologyUsedSparql)) + .mapTo[SparqlSelectResult] + + subjects = isOntologyUsedResponse.results.bindings.map { row => + row.rowMap("s") + }.toSet + } yield subjects + } + + private def deleteOntology(deleteOntologyRequest: DeleteOntologyRequestV2): Future[SuccessResponseV2] = { def makeTaskFuture(internalOntologyIri: SmartIri): Future[SuccessResponseV2] = { for { cacheData <- getCacheData @@ -3636,30 +3776,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that none of the entities in the ontology are used in data or in other ontologies. ontology = cacheData.ontologies(internalOntologyIri) + subjectsUsingOntology: Set[IRI] <- getSubjectsUsingOntology(ontology) - isOntologyUsedSparql = org.knora.webapi.messages.twirl.queries.sparql.v2.txt - .isOntologyUsed( - triplestore = settings.triplestoreType, - ontologyNamedGraphIri = internalOntologyIri, - classIris = ontology.classes.keySet, - propertyIris = ontology.properties.keySet - ) - .toString() - - isOntologyUsedResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isOntologyUsedSparql)) - .mapTo[SparqlSelectResult] - - _ = if (isOntologyUsedResponse.results.bindings.nonEmpty) { - val subjects: Seq[String] = isOntologyUsedResponse.results.bindings - .map { row => - row.rowMap("s") - } - .map(s => "<" + s + ">") - .toVector - .sorted + _ = if (subjectsUsingOntology.nonEmpty) { + val sortedSubjects: Seq[IRI] = subjectsUsingOntology.map(s => "<" + s + ">").toVector.sorted throw BadRequestException( - s"Ontology ${internalOntologyIri.toOntologySchema(ApiV2Complex)} cannot be deleted, because of subjects that refer to it: ${subjects + s"Ontology ${internalOntologyIri.toOntologySchema(ApiV2Complex)} cannot be deleted, because of subjects that refer to it: ${sortedSubjects .mkString(", ")}") } @@ -5103,7 +5226,29 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon } /** - * Checks whether the user has permission to update an ontology. + * Checks whether the requesting user has permission to update an ontology. + * + * @param internalOntologyIri the internal IRI of the ontology. + * @param requestingUser the user making the request. + * @return `true` if the user has permission to update the ontology + */ + private def canUserUpdateOntology(internalOntologyIri: SmartIri, requestingUser: UserADM): Future[Boolean] = { + for { + cacheData <- getCacheData + + projectIri = cacheData.ontologies + .getOrElse( + internalOntologyIri, + throw NotFoundException(s"Ontology ${internalOntologyIri.toOntologySchema(ApiV2Complex)} not found") + ) + .ontologyMetadata + .projectIri + .get + } yield requestingUser.permissions.isProjectAdmin(projectIri.toString) || !requestingUser.permissions.isSystemAdmin + } + + /** + * Throws an exception if the requesting user does not have permission to update an ontology. * * @param internalOntologyIri the internal IRI of the ontology. * @param requestingUser the user making the request. diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala index 1a25ae6a55..b77711c4d0 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala @@ -649,7 +649,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt resourceSmartIri = eraseResourceV2.resourceIri.toSmartIri - _ <- isEntityUsed( + _ <- throwIfEntityIsUsed( entityIri = resourceSmartIri, errorFun = throw BadRequestException( s"Resource ${eraseResourceV2.resourceIri} cannot be erased, because it is referred to by another resource"), diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v2/OntologiesRouteV2.scala b/webapi/src/main/scala/org/knora/webapi/routing/v2/OntologiesRouteV2.scala index 8c317310ea..781685f6a7 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v2/OntologiesRouteV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v2/OntologiesRouteV2.scala @@ -17,21 +17,21 @@ * License along with Knora. If not, see . */ -package org.knora.webapi.routing.v2 +package org.knora.webapi +package routing.v2 -import java.util.UUID +import exceptions.BadRequestException +import feature.FeatureFactoryConfig +import messages.IriConversions._ +import messages.util.rdf.{JsonLDDocument, JsonLDUtil} +import messages.v2.responder.ontologymessages._ +import messages.{OntologyConstants, SmartIri} +import routing.{Authenticator, KnoraRoute, KnoraRouteData, RouteUtilV2} import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{PathMatcher, Route} -import org.knora.webapi._ -import org.knora.webapi.exceptions.BadRequestException -import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.IriConversions._ -import org.knora.webapi.messages.util.rdf.{JsonLDDocument, JsonLDUtil} -import org.knora.webapi.messages.v2.responder.ontologymessages._ -import org.knora.webapi.messages.{OntologyConstants, SmartIri} -import org.knora.webapi.routing.{Authenticator, KnoraRoute, KnoraRouteData, RouteUtilV2} +import java.util.UUID import scala.concurrent.Future object OntologiesRouteV2 { @@ -60,17 +60,21 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) createClass(featureFactoryConfig) ~ updateClass(featureFactoryConfig) ~ addCardinalities(featureFactoryConfig) ~ + canReplaceCardinalities(featureFactoryConfig) ~ replaceCardinalities(featureFactoryConfig) ~ changeGuiOrder(featureFactoryConfig) ~ getClasses(featureFactoryConfig) ~ + canDeleteClass(featureFactoryConfig) ~ deleteClass(featureFactoryConfig) ~ deleteOntologyComment(featureFactoryConfig) ~ createProperty(featureFactoryConfig) ~ updatePropertyLabelsOrComments(featureFactoryConfig) ~ updatePropertyGuiElement(featureFactoryConfig) ~ getProperties(featureFactoryConfig) ~ + canDeleteProperty(featureFactoryConfig) ~ deleteProperty(featureFactoryConfig) ~ createOntology(featureFactoryConfig) ~ + canDeleteOntology(featureFactoryConfig) ~ deleteOntology(featureFactoryConfig) private def dereferenceOntologyIri(featureFactoryConfig: FeatureFactoryConfig): Route = path("ontology" / Segments) { @@ -401,6 +405,41 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) } } + private def canReplaceCardinalities(featureFactoryConfig: FeatureFactoryConfig): Route = + path(OntologiesBasePath / "canreplacecardinalities" / Segment) { classIriStr: IRI => + get { requestContext => + val classIri = classIriStr.toSmartIri + stringFormatter.checkExternalOntologyName(classIri) + + if (!classIri.getOntologySchema.contains(ApiV2Complex)) { + throw BadRequestException(s"Invalid class IRI for request: $classIriStr") + } + + val requestMessageFuture: Future[CanChangeCardinalitiesRequestV2] = for { + requestingUser <- getUserADM( + requestContext = requestContext, + featureFactoryConfig = featureFactoryConfig + ) + } yield + CanChangeCardinalitiesRequestV2( + classIri = classIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + + RouteUtilV2.runRdfRouteWithFuture( + requestMessageF = requestMessageFuture, + requestContext = requestContext, + featureFactoryConfig = featureFactoryConfig, + settings = settings, + responderManager = responderManager, + log = log, + targetSchema = ApiV2Complex, + schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) + ) + } + } + private def replaceCardinalities(featureFactoryConfig: FeatureFactoryConfig): Route = path(OntologiesBasePath / "cardinalities") { put { @@ -551,6 +590,41 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) } } + private def canDeleteClass(featureFactoryConfig: FeatureFactoryConfig): Route = + path(OntologiesBasePath / "candeleteclass" / Segment) { classIriStr: IRI => + get { requestContext => + val classIri = classIriStr.toSmartIri + stringFormatter.checkExternalOntologyName(classIri) + + if (!classIri.getOntologySchema.contains(ApiV2Complex)) { + throw BadRequestException(s"Invalid class IRI for request: $classIriStr") + } + + val requestMessageFuture: Future[CanDeleteClassRequestV2] = for { + requestingUser <- getUserADM( + requestContext = requestContext, + featureFactoryConfig = featureFactoryConfig + ) + } yield + CanDeleteClassRequestV2( + classIri = classIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + + RouteUtilV2.runRdfRouteWithFuture( + requestMessageF = requestMessageFuture, + requestContext = requestContext, + featureFactoryConfig = featureFactoryConfig, + settings = settings, + responderManager = responderManager, + log = log, + targetSchema = ApiV2Complex, + schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) + ) + } + } + private def deleteClass(featureFactoryConfig: FeatureFactoryConfig): Route = path(OntologiesBasePath / "classes" / Segments) { externalResourceClassIris: List[IRI] => delete { requestContext => @@ -845,6 +919,41 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) } } + private def canDeleteProperty(featureFactoryConfig: FeatureFactoryConfig): Route = + path(OntologiesBasePath / "candeleteproperty" / Segment) { propertyIriStr: IRI => + get { requestContext => + val propertyIri = propertyIriStr.toSmartIri + stringFormatter.checkExternalOntologyName(propertyIri) + + if (!propertyIri.getOntologySchema.contains(ApiV2Complex)) { + throw BadRequestException(s"Invalid class IRI for request: $propertyIriStr") + } + + val requestMessageFuture: Future[CanDeletePropertyRequestV2] = for { + requestingUser <- getUserADM( + requestContext = requestContext, + featureFactoryConfig = featureFactoryConfig + ) + } yield + CanDeletePropertyRequestV2( + propertyIri = propertyIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + + RouteUtilV2.runRdfRouteWithFuture( + requestMessageF = requestMessageFuture, + requestContext = requestContext, + featureFactoryConfig = featureFactoryConfig, + settings = settings, + responderManager = responderManager, + log = log, + targetSchema = ApiV2Complex, + schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) + ) + } + } + private def deleteProperty(featureFactoryConfig: FeatureFactoryConfig): Route = path(OntologiesBasePath / "properties" / Segments) { externalPropertyIris: List[IRI] => delete { requestContext => @@ -937,6 +1046,41 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) } } + private def canDeleteOntology(featureFactoryConfig: FeatureFactoryConfig): Route = + path(OntologiesBasePath / "candeleteontology" / Segment) { ontologyIriStr: IRI => + get { requestContext => + val ontologyIri = ontologyIriStr.toSmartIri + stringFormatter.checkExternalOntologyName(ontologyIri) + + if (!ontologyIri.getOntologySchema.contains(ApiV2Complex)) { + throw BadRequestException(s"Invalid ontology IRI for request: $ontologyIriStr") + } + + val requestMessageFuture: Future[CanDeleteOntologyRequestV2] = for { + requestingUser <- getUserADM( + requestContext = requestContext, + featureFactoryConfig = featureFactoryConfig + ) + } yield + CanDeleteOntologyRequestV2( + ontologyIri = ontologyIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + + RouteUtilV2.runRdfRouteWithFuture( + requestMessageF = requestMessageFuture, + requestContext = requestContext, + featureFactoryConfig = featureFactoryConfig, + settings = settings, + responderManager = responderManager, + log = log, + targetSchema = ApiV2Complex, + schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) + ) + } + } + private def deleteOntology(featureFactoryConfig: FeatureFactoryConfig): Route = path(OntologiesBasePath / Segment) { ontologyIriStr => delete { requestContext => diff --git a/webapi/src/test/scala/org/knora/webapi/e2e/v2/OntologyV2R2RSpec.scala b/webapi/src/test/scala/org/knora/webapi/e2e/v2/OntologyV2R2RSpec.scala index 77c7ec53ea..decf58c377 100644 --- a/webapi/src/test/scala/org/knora/webapi/e2e/v2/OntologyV2R2RSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/e2e/v2/OntologyV2R2RSpec.scala @@ -669,6 +669,30 @@ class OntologyV2R2RSpec extends R2RSpec { } } + "determine that an ontology can be deleted" in { + val fooIriEncoded = URLEncoder.encode(fooIri.get, "UTF-8") + + Get(s"/v2/ontologies/candeleteontology/$fooIriEncoded") ~> addCredentials( + BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { + val responseStr = responseAs[String] + + clientTestDataCollector.addFile( + TestDataFileContent( + filePath = TestDataFilePath( + directoryPath = clientTestDataPath, + filename = "can-do-response", + fileExtension = "json" + ), + text = responseStr + ) + ) + + assert(status == StatusCodes.OK, responseStr) + val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr) + assert(responseJsonDoc.body.value(OntologyConstants.KnoraApiV2Complex.CanDo).asInstanceOf[JsonLDBoolean].value) + } + } + "delete the 'foo' ontology" in { val fooIriEncoded = URLEncoder.encode(fooIri.get, "UTF-8") val lastModificationDate = URLEncoder.encode(fooLastModDate.toString, "UTF-8") @@ -1085,9 +1109,6 @@ class OntologyV2R2RSpec extends R2RSpec { ) ) - // Convert the submitted JSON-LD to an InputOntologyV2, without SPARQL-escaping, so we can compare it to the response. - val paramsAsInput: InputOntologyV2 = InputOntologyV2.fromJsonLD(JsonLDUtil.parseJsonLD(params)).unescape - Put("/v2/ontologies/properties/guielement", HttpEntity(RdfMediaTypes.`application/ld+json`, params)) ~> addCredentials( BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { val responseStr = responseAs[String] @@ -1634,6 +1655,18 @@ class OntologyV2R2RSpec extends R2RSpec { } } + "determine that a property can be deleted" in { + val propertySegment = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2#hasOtherNothing", "UTF-8") + + Get(s"/v2/ontologies/candeleteproperty/$propertySegment") ~> addCredentials( + BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { + val responseStr = responseAs[String] + assert(status == StatusCodes.OK, responseStr) + val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr) + assert(responseJsonDoc.body.value(OntologyConstants.KnoraApiV2Complex.CanDo).asInstanceOf[JsonLDBoolean].value) + } + } + "delete the property anything:hasOtherNothing" in { val propertySegment = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2#hasOtherNothing", "UTF-8") val lastModificationDate = URLEncoder.encode(anythingLastModDate.toString, "UTF-8") @@ -1895,6 +1928,18 @@ class OntologyV2R2RSpec extends R2RSpec { } } + "determine that a class's cardinalities can be changed" in { + val classSegment = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2#Nothing", "UTF-8") + + Get(s"/v2/ontologies/canreplacecardinalities/$classSegment") ~> addCredentials( + BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { + val responseStr = responseAs[String] + assert(status == StatusCodes.OK, responseStr) + val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr) + assert(responseJsonDoc.body.value(OntologyConstants.KnoraApiV2Complex.CanDo).asInstanceOf[JsonLDBoolean].value) + } + } + "change the cardinalities of the class anything:Nothing, replacing anything:hasNothingness with anything:hasEmptiness" in { val params = s"""{ @@ -2060,6 +2105,18 @@ class OntologyV2R2RSpec extends R2RSpec { } } + "determine that a class can be deleted" in { + val classSegment = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2#Nothing", "UTF-8") + + Get(s"/v2/ontologies/candeleteclass/$classSegment") ~> addCredentials( + BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { + val responseStr = responseAs[String] + assert(status == StatusCodes.OK, responseStr) + val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr) + assert(responseJsonDoc.body.value(OntologyConstants.KnoraApiV2Complex.CanDo).asInstanceOf[JsonLDBoolean].value) + } + } + "delete the class anything:Nothing" in { val classSegment = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2#Nothing", "UTF-8") val lastModificationDate = URLEncoder.encode(anythingLastModDate.toString, "UTF-8") @@ -2499,4 +2556,51 @@ class OntologyV2R2RSpec extends R2RSpec { } } } + + "determine that a class's cardinalities cannot be changed" in { + val classSegment = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing", "UTF-8") + + Get(s"/v2/ontologies/canreplacecardinalities/$classSegment") ~> addCredentials( + BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { + val responseStr = responseAs[String] + assert(status == StatusCodes.OK, responseStr) + val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr) + assert(!responseJsonDoc.body.value(OntologyConstants.KnoraApiV2Complex.CanDo).asInstanceOf[JsonLDBoolean].value) + } + } + + "determine that a class cannot be deleted" in { + val thingIri = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing", "UTF-8") + + Get(s"/v2/ontologies/candeleteclass/$thingIri") ~> addCredentials(BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { + val responseStr = responseAs[String] + assert(status == StatusCodes.OK, responseStr) + val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr) + assert(!responseJsonDoc.body.value(OntologyConstants.KnoraApiV2Complex.CanDo).asInstanceOf[JsonLDBoolean].value) + } + } + + "determine that a property cannot be deleted" in { + val propertyIri = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger", "UTF-8") + + Get(s"/v2/ontologies/candeleteproperty/$propertyIri") ~> addCredentials( + BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { + val responseStr = responseAs[String] + assert(status == StatusCodes.OK, responseStr) + val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr) + assert(!responseJsonDoc.body.value(OntologyConstants.KnoraApiV2Complex.CanDo).asInstanceOf[JsonLDBoolean].value) + } + } + + "determine that an ontology cannot be deleted" in { + val ontologyIri = URLEncoder.encode("http://0.0.0.0:3333/ontology/0001/anything/v2", "UTF-8") + + Get(s"/v2/ontologies/candeleteontology/$ontologyIri") ~> addCredentials( + BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check { + val responseStr = responseAs[String] + assert(status == StatusCodes.OK, responseStr) + val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr) + assert(!responseJsonDoc.body.value(OntologyConstants.KnoraApiV2Complex.CanDo).asInstanceOf[JsonLDBoolean].value) + } + } }