From d40183d3a44c9c131a3cb0ec596df91a0ddac14e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Kleinbo=CC=88lting?= Date: Tue, 29 Nov 2022 13:49:13 +0100 Subject: [PATCH] Add ontologies to classpath for testing out the upgrade plugin --- .../knora-ontologies/knora-admin.ttl | 628 +++++ .../resources/knora-ontologies/knora-base.ttl | 2232 +++++++++++++++++ .../resources/knora-ontologies/salsah-gui.ttl | 215 ++ .../knora-ontologies/standoff-data.ttl | 688 +++++ .../knora-ontologies/standoff-onto.ttl | 304 +++ 5 files changed, 4067 insertions(+) create mode 100644 webapi/src/main/resources/knora-ontologies/knora-admin.ttl create mode 100644 webapi/src/main/resources/knora-ontologies/knora-base.ttl create mode 100644 webapi/src/main/resources/knora-ontologies/salsah-gui.ttl create mode 100644 webapi/src/main/resources/knora-ontologies/standoff-data.ttl create mode 100644 webapi/src/main/resources/knora-ontologies/standoff-onto.ttl diff --git a/webapi/src/main/resources/knora-ontologies/knora-admin.ttl b/webapi/src/main/resources/knora-ontologies/knora-admin.ttl new file mode 100644 index 00000000000..6a336d53efa --- /dev/null +++ b/webapi/src/main/resources/knora-ontologies/knora-admin.ttl @@ -0,0 +1,628 @@ + ### +# * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. +# * SPDX-License-Identifier: Apache-2.0 +### + +@prefix : . +@prefix knora-base: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xml: . +@prefix xsd: . +@prefix foaf: . +@prefix dcterms: . +@base . + + + rdf:type owl:Ontology ; + rdfs:label "The Knora admin ontology"@en ; + knora-base:attachedToProject :SystemProject . + + +################################################################# +# +# Object Properties +# +################################################################# + + +### http://www.knora.org/ontology/knora-admin#belongsToInstitution + +:belongsToInstitution + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "Indicates which Institution a project belongs to."@en ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectClassConstraint :Institution . + + +### http://www.knora.org/ontology/knora-admin#belongsToProject + +:belongsToProject + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "Indicates which project a group belongs to."@en ; + knora-base:subjectClassConstraint :UserGroup ; + knora-base:objectClassConstraint :knoraProject . + + +### http://www.knora.org/ontology/knora-admin#currentproject + +:currentproject + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "This property indicates, which is the \"current project\" of a given user. A user can be part of any number of projects, but only one can be the active project."@en ; + knora-base:subjectClassConstraint :User ; + knora-base:objectClassConstraint :knoraProject . + + +### http://www.knora.org/ontology/knora-admin#isInGroup + +:isInGroup + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The given user is part of the given group."@en ; + rdfs:subPropertyOf ; + knora-base:subjectClassConstraint :User ; + knora-base:objectClassConstraint :UserGroup . + + +### http://www.knora.org/ontology/knora-admin#isInProject + +:isInProject + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The given user is part of the given project."@en ; + rdfs:subPropertyOf ; + knora-base:subjectClassConstraint :User ; + knora-base:objectClassConstraint :knoraProject . + + +### http://www.knora.org/ontology/knora-admin#isAdminForProject + +:isInProjectAdminGroup + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The given user is part of the given project's ProjectAdmin group."@en ; + rdfs:subPropertyOf ; + knora-base:subjectClassConstraint :User ; + knora-base:objectClassConstraint :knoraProject . + + +################################################################# +# +# Datatype properties +# +################################################################# + + +### http://www.knora.org/ontology/knora-admin#address + +:address + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + knora-base:objectDatatypeConstraint xsd:string ; + rdfs:comment "The address of a person or an institution"@en . + + +### http://www.knora.org/ontology/knora-admin#groupName + +:groupName + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The group's name."@en ; + knora-base:subjectClassConstraint :UserGroup ; + knora-base:objectDatatypeConstraint xsd:string ; + rdfs:subPropertyOf . + + +### http://www.knora.org/ontology/knora-admin#groupDescriptions + +:groupDescriptions + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "A description of a user group"@en ; + knora-base:subjectClassConstraint :UserGroup ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#hasSelfJoinEnabled + +:hasSelfJoinEnabled + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "Exists and is true if users can add themselves to the project or group."@en ; + + # No knora-base:subjectClassConstraint, because this can be used with :knoraProject or :UserGroup. + + knora-base:objectDatatypeConstraint xsd:boolean . + + +### http://www.knora.org/ontology/knora-admin#institutionName + +:institutionName + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The institutions's name."@en ; + rdfs:subPropertyOf ; + knora-base:subjectClassConstraint :Institution ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#institutionDescription + +:institutionDescription + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "A description of an institution."@en ; + knora-base:subjectClassConstraint :Institution ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#institutionWebsite + +:institutionWebsite + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The URL of a web site."@en ; + knora-base:subjectClassConstraint :Institution ; + knora-base:objectDatatypeConstraint xsd:anyURI . + + +### http://www.knora.org/ontology/knora-admin#isActiveUser + +:isInSystemAdminGroup + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "Exists and is true if the user is a member of the SystemAdmin group."@en ; + knora-base:subjectClassConstraint :User ; + knora-base:objectDatatypeConstraint xsd:boolean . + + +### http://www.knora.org/ontology/knora-admin#givenName + +:givenName + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf foaf:givenName, + :objectCannotBeMarkedAsDeleted ; + rdfs:comment "The user's given name."@en ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#familyName + +:familyName + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf foaf:familyName, + :objectCannotBeMarkedAsDeleted ; + rdfs:comment "The user's family name."@en ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#password + +:password + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "An encrypted credential for access"@en ; + knora-base:subjectClassConstraint :User ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#phone + +:phone + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The phone number of a person, institution, etc."@en ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#preferredLanguage + +:preferredLanguage + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The ISO 639-1 code of the user's preferred language."@en ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#projectDescription + +:projectDescription + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "A description of a Knora project."@en ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#projectKeyword + +:projectKeyword + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "A keyword describing a project."@en ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#projectLongname + +:projectLongname + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The longname of a Knora project."@en ; + rdfs:subPropertyOf ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#projectLogo + +:projectLogo + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The path to the projects's logo."@en ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#projectRestrictedViewSize + +:projectRestrictedViewSize + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The size of the image (as defined by IIIF) returned for restricted view."@en ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#projectRestrictedViewWatermark + +:projectRestrictedViewWatermark + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The path to the restricted view watermark."@en ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#projectShortname + +:projectShortname + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The unique shortname of a Knora project."@en ; + rdfs:subPropertyOf ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#projectShortcode + +:projectShortcode + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The unique short code of a Knora project."@en ; + rdfs:subPropertyOf ; + knora-base:subjectClassConstraint :knoraProject ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#username + +:username + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The username and login name of a user."@en ; + knora-base:subjectClassConstraint :User ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#email + +:email + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The email address and login name of a user."@en ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-admin#status + +:status + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "The status of the user / group / project. It is false if the entity has been deactivated (deleted)."@en ; + knora-base:objectDatatypeConstraint xsd:boolean . + + +################################################################# +# +# Classes +# +################################################################# + + +### http://www.knora.org/ontology/knora-admin#Institution + +:Institution + rdf:type owl:Class ; + rdfs:subClassOf foaf:Organization, + [ rdf:type owl:Restriction ; + owl:onProperty :institutionName ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :institutionDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :institutionWebsite ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :phone ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :address ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :email ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ] ; + rdfs:comment "An institution that has data in Knora."@en . + + +### http://www.knora.org/ontology/knora-admin#User + +:User + rdf:type owl:Class ; + rdfs:subClassOf foaf:Person, + [ rdf:type owl:Restriction ; + owl:onProperty :username ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :email ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :familyName ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :givenName ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :password ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :preferredLanguage ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :status ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isInProject ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isInGroup ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isInSystemAdminGroup ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents a Knora user."@en . + + +### http://www.knora.org/ontology/knora-admin#UserGroup + +:UserGroup + rdf:type owl:Class ; + rdfs:subClassOf foaf:Group, + [ rdf:type owl:Restriction ; + owl:onProperty :groupName ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :groupDescriptions ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :status ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :belongsToProject ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasSelfJoinEnabled ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "A group of Knora users."@en . + + +### http://www.knora.org/ontology/knora-admin#knoraProject + +:knoraProject + rdf:type owl:Class ; + rdfs:subClassOf foaf:Project, + [ rdf:type owl:Restriction ; + owl:onProperty :projectShortname ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :projectShortcode ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :projectLongname ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :projectDescription ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :projectKeyword ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :projectLogo ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :projectRestrictedViewSize ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :projectRestrictedViewWatermark ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :belongsToInstitution ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :status ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasSelfJoinEnabled ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents a project that uses Knora."@en . + + +################################################################# +# +# Individuals +# +################################################################# + +### http://www.knora.org/ontology/knora-admin#UnknownUser +:UnknownUser + rdf:type :UserGroup ; + :groupName "UnknownUser" ; + :status "true"^^xsd:boolean . + +### http://www.knora.org/ontology/knora-admin#KnownUser +:KnownUser + rdf:type :UserGroup ; + :groupName "KnownUser" ; + :status "true"^^xsd:boolean . + +### http://www.knora.org/ontology/knora-admin#Creator +:Creator + rdf:type :UserGroup ; + :groupName "Creator" ; + :status "true"^^xsd:boolean . + +### http://www.knora.org/ontology/knora-admin#ProjectMember +:ProjectMember + rdf:type :UserGroup ; + :groupName "ProjectMember" ; + :status "true"^^xsd:boolean . + +### http://www.knora.org/ontology/knora-admin#ProjectAdmin +:ProjectAdmin + rdf:type :UserGroup ; + :groupName "ProjectAdmin" ; + :status "true"^^xsd:boolean . + +### http://www.knora.org/ontology/knora-admin#SystemAdmin +:SystemAdmin + rdf:type :UserGroup ; + :groupName "SystemAdmin" ; + :belongsToProject :SystemProject ; + :status "true"^^xsd:boolean ; + :hasSelfJoinEnabled "false"^^xsd:boolean . + +### http://www.knora.org/ontology/knora-admin#SystemUser +:SystemUser + rdf:type :User ; + rdfs:comment "A built-in system user."@en ; + :username "system" ; + :email "system@localhost" ; + :givenName "Knora" ; + :familyName "System" ; + :password "-" ; + :status "true"^^xsd:boolean ; + :preferredLanguage "en" ; + :isInSystemAdminGroup "false"^^xsd:boolean . + +### http://www.knora.org/ontology/knora-admin#AnonymousUser +:AnonymousUser + rdf:type :User ; + rdfs:comment "A built-in anonymous user."@en ; + :username "anonymous" ; + :email "anonymous@localhost" ; + :givenName "Knora" ; + :familyName "Anonymous" ; + :password "-" ; + :status "true"^^xsd:boolean ; + :preferredLanguage "en" ; + :isInSystemAdminGroup "false"^^xsd:boolean . + +### http://www.knora.org/ontology/knora-admin#SystemProject +:SystemProject + rdf:type :knoraProject ; + rdfs:comment "A built-in project representing the Knora System."@en ; + :projectShortname "SystemProject" ; + :projectShortcode "FFFF" ; + :projectLongname "Knora System Project" ; + :projectDescription "Knora System Project"@en ; + :status "true"^^xsd:boolean ; + :hasSelfJoinEnabled "false"^^xsd:boolean . + + +### http://www.knora.org/ontology/knora-admin#SharedOntologiesProject +:DefaultSharedOntologiesProject + rdf:type :knoraProject ; + rdfs:comment "The default project for shared ontologies."@en ; + :projectShortname "DefaultSharedOntologiesProject" ; + :projectShortcode "0000" ; + :projectLongname "Knora Default Shared Ontologies Project" ; + :projectDescription "Knora Shared Ontologies Project"@en ; + :status "true"^^xsd:boolean ; + :hasSelfJoinEnabled "false"^^xsd:boolean . + +# +## +### Permission Class Properties +## +# +### http://www.knora.org/ontology/knora-admin#forProject + +:forProject + rdf:type rdf:Property ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "Permission property pointing to a knoraProject."@en ; + knora-base:subjectClassConstraint :Permission ; + knora-base:objectClassConstraint :knoraProject . + +### http://www.knora.org/ontology/knora-admin#forGroup +:forGroup + rdf:type rdf:Property ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "Permission property pointing to a UserGroup."@en ; + knora-base:subjectClassConstraint :Permission ; + knora-base:objectClassConstraint :UserGroup . + +### http://www.knora.org/ontology/knora-admin#forResourceClass +:forResourceClass + rdf:type rdf:Property ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "Permission property pointing to a resource class."@en ; + knora-base:subjectClassConstraint :Permission . + +### http://www.knora.org/ontology/knora-admin#forProperty +:forProperty + rdf:type rdf:Property ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "Permission property pointing to a resource property."@en ; + knora-base:subjectClassConstraint :Permission . + + +# +## +### Permission Class and Sub-Classes +## +# +### http://www.knora.org/ontology/knora-admin#Permission +:Permission + rdf:type owl:Class ; + rdfs:comment "Base Permission class."@en . + + +### http://www.knora.org/ontology/knora-admin#AdministrativePermission +:AdministrativePermission + rdf:type owl:Class ; + rdfs:comment "Administrative Permission class used to create instances for storing administrative permissions on groups."@en ; + rdfs:subClassOf :Permission . + +### http://www.knora.org/ontology/knora-admin#DefaultObjectAccessPermission +:DefaultObjectAccessPermission + rdf:type owl:Class ; + rdfs:comment "Default Object Access Permission class used to create instances for storing default object access permission for a project and either groups, resource classes, or properties."@en ; + rdfs:subClassOf :Permission . diff --git a/webapi/src/main/resources/knora-ontologies/knora-base.ttl b/webapi/src/main/resources/knora-ontologies/knora-base.ttl new file mode 100644 index 00000000000..0318fd49373 --- /dev/null +++ b/webapi/src/main/resources/knora-ontologies/knora-base.ttl @@ -0,0 +1,2232 @@ + ### +# * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. +# * SPDX-License-Identifier: Apache-2.0 +### + +@prefix : . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xml: . +@prefix xsd: . +@prefix foaf: . +@prefix dcterms: . +@prefix salsah-gui: . +@prefix knora-admin: . +@base . + + + rdf:type owl:Ontology ; + rdfs:label "The Knora base ontology"@en ; + :attachedToProject knora-admin:SystemProject ; + :ontologyVersion "knora-base v26" . + + +################################################################# +# +# Properties +# +################################################################# + + +### http://www.knora.org/ontology/knora-base#ontologyVersion + +:ontologyVersion + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:comment "Indicates the version of the Knora built-in ontologies in a repository."@en ; + :subjectClassConstraint owl:Ontology ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#isMainResource + +# This property is generated by a SPARQL CONSTRUCT query, it is not used in the triplestore and not used in the API + +:isMainResource + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates if the given resource is the main resource of a request or a resource referred to by a link property."@en ; + :subjectClassConstraint :Resource ; + :objectDatatypeConstraint xsd:boolean . + + +### http://www.knora.org/ontology/knora-base#objectCannotBeMarkedAsDeleted + +:objectCannotBeMarkedAsDeleted + rdf:type rdf:Property ; + rdfs:comment "The base property of properties whose objects can't be marked as deleted"@en . + + +### http://www.knora.org/ontology/knora-base#objectDatatypeConstraint + +:objectDatatypeConstraint + rdf:type owl:DatatypeProperty ; + rdfs:comment "Specifies the type required as the object of a datatype property"@en . + + +### http://www.knora.org/ontology/knora-base#resourceIcon + +:resourceIcon + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint owl:Class ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#resourceProperty + +:resourceProperty + rdf:type owl:ObjectProperty ; + rdfs:comment "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."@en ; + :subjectClassConstraint :Resource . + + +### http://www.knora.org/ontology/knora-base#subjectClassConstraint + +:subjectClassConstraint + rdf:type owl:ObjectProperty ; + rdfs:comment "Specifies the OWL class that the subject of a property must belong to"@en . + + +### http://www.knora.org/ontology/knora-base#objectClassConstraint + +:objectClassConstraint + rdf:type owl:ObjectProperty ; + rdfs:comment "Specifies the OWL class that the object of a property must belong to"@en . + + +### http://www.knora.org/ontology/knora-base#isEditable + +:isEditable + rdf:type owl:AnnotationProperty ; + :objectDatatypeConstraint xsd:boolean ; + rdfs:label "is editable"@en ; + rdfs:comment "Indicates whether a property's values can be updated via the Knora API."@en . + + +### http://www.knora.org/ontology/knora-base#canBeInstantiated + +:canBeInstantiated + rdf:type owl:AnnotationProperty ; + :subjectClassConstraint owl:Class ; + :objectDatatypeConstraint xsd:boolean ; + rdfs:label "can be instantiated"@en ; + rdfs:comment "Indicates whether a resource class can be instantiated via the Knora API."@en . + + +### http://www.knora.org/ontology/knora-base#attachedToProject + +:attachedToProject + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "attached to project"@en ; + rdfs:comment "Connects something to a project"@en ; + :objectClassConstraint knora-admin:knoraProject . + + +### http://www.knora.org/ontology/knora-base#attachedToUser + +:attachedToUser + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "attached to user"@en ; + rdfs:comment "Connects something to a user"@en ; + :objectClassConstraint knora-admin:User . + + +### http://www.knora.org/ontology/knora-base#hasColor + +:hasColor + rdf:type owl:ObjectProperty ; + rdfs:label "Farbe"@de, + "Color"@en, + "Couleur"@fr, + "Colore"@it ; + rdfs:comment """Specifies the color of a region."""@en ; + salsah-gui:guiAttribute "ncolors=8"^^xsd:string ; + :objectClassConstraint :ColorValue ; + :subjectClassConstraint :Region ; + rdfs:subPropertyOf :hasValue ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Colorpicker . + + +### http://www.knora.org/ontology/knora-base#hasComment + +:hasComment + rdf:type owl:ObjectProperty ; + rdfs:label "Kommentar"@de, + "Comment"@en, + "Commentaire"@fr, + "Commento"@it ; + rdfs:comment """Represents a comment on a resource as a knora-base:TextValue"""@de ; + :subjectClassConstraint :Resource ; + :objectClassConstraint :TextValue ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Richtext ; + rdfs:subPropertyOf :hasValue . + + +### http://www.knora.org/ontology/knora-base#hasExtResValue + +:hasExtResValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat externen Wert"@de, + "has external Value"@en, + "a valeur externe"@fr, + "ha valore esterno"@it ; + :objectClassConstraint :ExternalResValue ; + :subjectClassConstraint :ExternalResource ; + rdfs:subPropertyOf :hasValue . + + +### http://www.knora.org/ontology/knora-base#hasFileValue + +:hasFileValue + rdf:type owl:ObjectProperty ; + :objectClassConstraint :FileValue ; + rdfs:label "hat Datei"@de, + "has file"@en, + "a fichier"@fr, + "ha file"@it ; + rdfs:comment "Connects a Representation to a file"@en ; + salsah-gui:guiElement salsah-gui:Fileupload ; + :subjectClassConstraint :Representation ; + rdfs:subPropertyOf :hasValue . + + +### http://www.knora.org/ontology/knora-base#hasStillImageFileValue + +:hasStillImageFileValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat Bilddatei"@de, + "has image file"@en, + "a fichier d'image"@fr, + "ha file imagine"@it ; + rdfs:comment "Connects a Representation to an image file"@en ; + :objectClassConstraint :StillImageFileValue ; + :subjectClassConstraint :StillImageRepresentation ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Fileupload ; + rdfs:subPropertyOf :hasFileValue . + + +### http://www.knora.org/ontology/knora-base#hasMovingImageFileValue + +:hasMovingImageFileValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat Filmdatei"@de, + "has movie file"@en, + "a fichier de film"@fr, + "ha file film"@it ; + rdfs:comment "Connects a Representation to a movie file"@en ; + :objectClassConstraint :MovingImageFileValue ; + :subjectClassConstraint :MovingImageRepresentation ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Fileupload ; + rdfs:subPropertyOf :hasFileValue . + + +### http://www.knora.org/ontology/knora-base#hasAudioFileValue + +:hasAudioFileValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat Audiodatei"@de, + "has audio file"@en, + "a fichier d'audio"@fr, + "ha file audio"@it ; + rdfs:comment "Connects a Representation to an audio file"@en ; + :objectClassConstraint :AudioFileValue ; + :subjectClassConstraint :AudioRepresentation ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Fileupload ; + rdfs:subPropertyOf :hasFileValue . + + +### http://www.knora.org/ontology/knora-base#hasDDDFileValue + +:hasDDDFileValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat 3D-Datei"@de, + "has 3D-file"@en, + "a ficher de 3D"@fr, + "ha file 3D"@it ; + rdfs:comment "Connects a Representation to a 3D-file"@en ; + :objectClassConstraint :DDDFileValue ; + :subjectClassConstraint :DDDRepresentation ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Fileupload ; + rdfs:subPropertyOf :hasFileValue . + + +### http://www.knora.org/ontology/knora-base#hasTextFileValue + +:hasTextFileValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat Textdatei"@de, + "has text file"@en, + "a fichier de texte"@fr, + "ha file testo"@it ; + rdfs:comment "Connects a Representation to a text file"@en ; + :objectClassConstraint :TextFileValue ; + :subjectClassConstraint :TextRepresentation ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Fileupload ; + rdfs:subPropertyOf :hasFileValue . + + +### http://www.knora.org/ontology/knora-base#hasDocumentFileValue + +:hasDocumentFileValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat Dokument"@de, + "has document"@en, + "a document"@fr, + "ha documento"@it ; + rdfs:comment "Connects a Representation to a document"@en ; + :objectClassConstraint :DocumentFileValue ; + :subjectClassConstraint :DocumentRepresentation ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Fileupload ; + rdfs:subPropertyOf :hasFileValue . + + +### http://www.knora.org/ontology/knora-base#hasArchiveFileValue + +:hasArchiveFileValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat Zip"@de, + "has zip"@en, + "a zip"@fr, + "ha zip"@it ; + rdfs:comment "Connects a Representation to a zip archive"@en ; + :objectClassConstraint :ArchiveFileValue ; + :subjectClassConstraint :ArchiveRepresentation ; + :isEditable true ; + salsah-gui:guiElement salsah-gui:Fileupload ; + rdfs:subPropertyOf :hasFileValue . + + +### http://www.knora.org/ontology/knora-base#hasGeometry + +:hasGeometry + rdf:type owl:ObjectProperty ; + rdfs:label "Geometrie"@de, + "Geometry"@en, + "Géometrie"@fr, + "Geometria"@it ; + rdfs:comment """Represents a geometrical shape."""@en ; + rdfs:subPropertyOf :hasValue ; + salsah-gui:guiElement salsah-gui:Geometry ; + :isEditable true ; + :objectClassConstraint :GeomValue ; + :subjectClassConstraint :Region . + + +### http://www.knora.org/ontology/knora-base#hasLinkTo + +:hasLinkTo + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :resourceProperty ; + rdfs:label "hat Link zu"@de, + "has Link to"@en, + "a lien vers"@fr, + "ha Link verso"@it ; + rdfs:comment "Represents a direct connection between two resources"@en ; + :isEditable true ; + :objectClassConstraint :Resource ; + :subjectClassConstraint :Resource . + + +### http://www.knora.org/ontology/knora-base#hasLinkToValue + +:hasLinkToValue + rdf:type owl:ObjectProperty ; + rdfs:comment "Points to a LinkValue reification describing a link between two resources"@en ; + rdfs:label "hat Link zu"@de, + "has Link to"@en, + "a lien vers"@fr, + "ha Link verso"@it ; + :isEditable true ; + :objectClassConstraint :LinkValue ; + :subjectClassConstraint :Resource ; + rdfs:subPropertyOf :hasValue . + + +### http://www.knora.org/ontology/knora-base#hasRepresentation + +:hasRepresentation + rdf:type owl:ObjectProperty ; + rdfs:label "hat Repräsentation"@de, + "has Representation"@en, + "a Répresentation"@fr, + "ha Rappresentazione"@it ; + rdfs:comment "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."@en ; + :objectClassConstraint :Representation ; + :subjectClassConstraint :Resource ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkTo . + + +### http://www.knora.org/ontology/knora-base#hasRepresentationValue + +:hasRepresentationValue + rdf:type owl:ObjectProperty ; + :objectClassConstraint :LinkValue ; + :subjectClassConstraint :Resource ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkToValue . + + +### http://www.knora.org/ontology/knora-base#hasStandoffLinkTo + +:hasStandoffLinkTo + rdf:type owl:ObjectProperty ; + rdfs:label "hat Standoff Link zu"@de, + "has Standoff Link to"@en, + "a standoff lien vers"@fr, + "ha standoff link verso"@it ; + rdfs:comment "Repräsentiert einen Link im Standoff Markup von einer Ressource zu einer anderen"@de, + "Represents a link in standoff markup from one resource to another."@en ; + :objectClassConstraint :Resource ; + :subjectClassConstraint :Resource ; + rdfs:subPropertyOf :hasLinkTo . + + +### http://www.knora.org/ontology/knora-base#hasStandoffLinkToValue + +:hasStandoffLinkToValue + rdf:type owl:ObjectProperty ; + rdfs:label "hat Standoff Link zu"@de, + "has Standoff Link to"@en, + "a standoff lien vers"@fr, + "ha standoff link verso"@it ; + rdfs:comment "Repräsentiert einen Link im Standoff Markup von einer Ressource zu einer anderen"@de, + "Represents a link in standoff markup from one resource to another."@en ; + :objectClassConstraint :LinkValue ; + :subjectClassConstraint :Resource ; + rdfs:subPropertyOf :hasLinkToValue . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasLink + +:standoffTagHasLink + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :objectClassConstraint :Resource ; + :subjectClassConstraint :StandoffLinkTag . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasInternalReference + +:standoffTagHasInternalReference + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :objectClassConstraint :StandoffTag ; + :subjectClassConstraint :StandoffInternalReferenceTag . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasStart + +:standoffTagHasStart + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :StandoffTag ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasEnd + +:standoffTagHasEnd + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :StandoffTag ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasStartIndex + +:standoffTagHasStartIndex + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :StandoffTag ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasEndIndex + +:standoffTagHasEndIndex + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :StandoffTag ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasStartAncestor + +:standoffTagHasStartAncestor + rdf:type owl:ObjectProperty, + owl:TransitiveProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :StandoffTag ; + :objectClassConstraint :StandoffTag . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasStartParent + +:standoffTagHasStartParent + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted, + :standoffTagHasStartAncestor ; + :subjectClassConstraint :StandoffTag ; + :objectClassConstraint :StandoffTag . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasEndParent + +:standoffTagHasEndParent + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :StandoffTag ; + :objectClassConstraint :StandoffTag . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasUUID + +:standoffTagHasUUID + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :StandoffTag ; + :objectDatatypeConstraint xsd:string . + + +:valueHasMaxStandoffStartIndex + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :Value ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#hasSubListNode + +:hasSubListNode + rdf:type owl:ObjectProperty ; + rdfs:comment "A hierarchical list is formed using the \"hasSubListNode\"-property"@en ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :objectClassConstraint :ListNode ; + :subjectClassConstraint :ListNode . + + +### http://www.knora.org/ontology/knora-base#hasValue + +:hasValue + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :resourceProperty ; + :subjectClassConstraint :Resource ; + :objectClassConstraint :Value . + + +### http://www.knora.org/ontology/knora-base#isAnnotationOf + +:isAnnotationOf + rdf:type owl:ObjectProperty ; + rdfs:label "ist Annotation von"@de, + "is Annotation of"@en, + "est Annotation de"@fr, + "è Annotation di"@it ; + :subjectClassConstraint :Annotation ; + :objectClassConstraint :Resource ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkTo . + + +### http://www.knora.org/ontology/knora-base#isAnnotationOfValue + +:isAnnotationOfValue + rdf:type owl:ObjectProperty ; + :objectClassConstraint :LinkValue ; + :subjectClassConstraint :Annotation ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkToValue . + + +### http://www.knora.org/ontology/knora-base#isPartOf + +:isPartOf + rdf:type owl:ObjectProperty ; + rdfs:label "ist Teil von"@de, + "is part of"@en, + "fait partie de"@fr, + "fa parte di"@it ; + rdfs:comment "Indicates that this resource is part of another resource"@en ; + :subjectClassConstraint :Resource ; + :objectClassConstraint :Resource ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkTo . + + +### http://www.knora.org/ontology/knora-base#isPartOfValue + +:isPartOfValue + rdf:type owl:ObjectProperty ; + :objectClassConstraint :LinkValue ; + :subjectClassConstraint :Resource ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkToValue . + + +### http://www.knora.org/ontology/knora-base#isSequenceOf + +:isSequenceOf + rdf:type owl:ObjectProperty ; + rdfs:label "ist Sequenz von"@de, + "is sequence of"@en, + "fait partie de"@fr, + "fa parte di"@it ; + rdfs:comment "Indicates that this resource is a sequence of a video or audio resource"@en ; + :subjectClassConstraint :Resource ; + :objectClassConstraint :Resource ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkTo . + + +### http://www.knora.org/ontology/knora-base#isSequenceOfValue + +:isSequenceOfValue + rdf:type owl:ObjectProperty ; + :objectClassConstraint :LinkValue ; + :subjectClassConstraint :Resource ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkToValue . + + +### http://www.knora.org/ontology/knora-base#isRegionOf + +:isRegionOf + rdf:type owl:ObjectProperty ; + rdfs:comment "Region of interest within a digital object (e.g. an image)"@en ; + rdfs:label "ist Region von"@de, + "is region of"@en, + "est région de"@fr, + "è regione di"@it ; + :subjectClassConstraint :Region ; + :objectClassConstraint :Representation ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkTo . + + +### http://www.knora.org/ontology/knora-base#isRegionOfValue + +:isRegionOfValue + rdf:type owl:ObjectProperty ; + rdfs:comment "Region of interest within a digital object (e.g. an image)"@en ; + rdfs:label "ist Region von"@de, + "is region of"@en, + "est région de"@fr, + "è regione di"@it ; + :objectClassConstraint :LinkValue ; + :subjectClassConstraint :Region ; + :isEditable true ; + rdfs:subPropertyOf :hasLinkToValue . + + +### http://www.knora.org/ontology/knora-base#previousValue + +:previousValue + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :valueHas ; + rdfs:comment "Points to the previous verson of a value"@en ; + :subjectClassConstraint :Value ; + :objectClassConstraint :Value . + + +### http://www.knora.org/ontology/knora-base#seqnum + +:seqnum + rdf:type owl:ObjectProperty ; + :objectClassConstraint :IntValue ; + :isEditable true ; + rdfs:subPropertyOf :hasValue ; + rdfs:label "Sequenznummer"@de, + "Sequence number"@en, + "Numéro de séquence"@fr, + "Numero di sequenza"@it ; + rdfs:comment "Indicates the position of a resource within a compound object. Typically used to indicate the order of pages within a book or similar resource."@en . + + +### http://www.knora.org/ontology/knora-base#hasSequenceBounds + +:hasSequenceBounds + rdf:type owl:ObjectProperty ; + :objectClassConstraint :IntervalValue ; + :isEditable true ; + rdfs:subPropertyOf :hasValue ; + rdfs:label "Sequenz-Grenzen"@de, + "Sequence Bounds"@en; + rdfs:comment "Indicates the bounds of a sequence, i.e. the start and end point in the containing resource."@en . + + +### http://www.knora.org/ontology/knora-base#standoffTagHasOriginalXMLID + +:standoffTagHasOriginalXMLID + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :objectDatatypeConstraint xsd:string ; + :subjectClassConstraint :StandoffTag . + + +### http://www.knora.org/ontology/knora-base#targetHasOriginalXMLID + +# This property is generated by a SPARQL CONSTRUCT query, it is not used in the triplestore and not used in the API + +:targetHasOriginalXMLID + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :objectDatatypeConstraint xsd:string ; + :subjectClassConstraint :StandoffTag . + + +### http://www.knora.org/ontology/knora-base#valueHasStandoff + +:valueHasStandoff + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :valueHas ; + :objectClassConstraint :StandoffTag ; + :subjectClassConstraint :TextValue . + + +### http://www.knora.org/ontology/knora-base#valueHasLanguage + +:valueHasLanguage + rdf:type owl:DatatypeProperty ; + :objectDatatypeConstraint xsd:string ; + :subjectClassConstraint :TextValue . + + +### http://www.knora.org/ontology/knora-base#valueHasMapping + +:valueHasMapping + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :valueHas ; + :objectClassConstraint :XMLToStandoffMapping ; + :subjectClassConstraint :TextValue . + + +### http://www.knora.org/ontology/knora-base#hasMappingElement + +:hasMappingElement + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "mapping element"@en ; + rdfs:comment """Represents an element in a mapping"""@en ; + :subjectClassConstraint :XMLToStandoffMapping ; + :objectClassConstraint :MappingElement . + + +### http://www.knora.org/ontology/knora-base#mappingHasXMLTagname + +:mappingHasXMLTagname + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "name of the XML tag"@en ; + rdfs:comment """name of the XML tag"""@en ; + :subjectClassConstraint :MappingElement ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#mappingHasXMLNamespace + +:mappingHasXMLNamespace + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "namespace of the XML tag"@en ; + rdfs:comment """namespace of the XML tag"""@en ; + :subjectClassConstraint :MappingComponent ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#mappingHasXMLClass + +:mappingHasXMLClass + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "class of the XML tag"@en ; + rdfs:comment """class of the XML tag"""@en ; + :subjectClassConstraint :MappingElement ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#mappingHasStandoffClass + +:mappingHasStandoffClass + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "IRI of the standoff class"@en ; + rdfs:comment """IRI of the standoff class"""@en ; + :subjectClassConstraint :MappingComponent ; + :objectClassConstraint owl:Class . + + +### http://www.knora.org/ontology/knora-base#mappingHasXMLAttribute + +:mappingHasXMLAttribute + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "name of the XML attribute"@en ; + rdfs:comment """name of the XML attribute"""@en ; + :subjectClassConstraint :MappingElement ; + :objectClassConstraint :MappingXMLAttribute . + + +### http://www.knora.org/ontology/knora-base#mappingHasXMLAttributename + +:mappingHasXMLAttributename + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "name of the XML attribute"@en ; + rdfs:comment """name of the XML attribute"""@en ; + :subjectClassConstraint :MappingComponent ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#mappingHasStandoffProperty + +:mappingHasStandoffProperty + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "IRI of the standoff property"@en ; + rdfs:comment """IRI of the standoff property"""@en ; + :subjectClassConstraint :MappingXMLAttribute . + + +### http://www.knora.org/ontology/knora-base#mappingHasStandoffDataTypeClass + +:mappingHasStandoffDataTypeClass + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "datatype of the XML tag"@en ; + rdfs:comment """datatype of the XML tag"""@en ; + :subjectClassConstraint :MappingElement ; + :objectClassConstraint :MappingStandoffDataTypeClass . + + +### http://www.knora.org/ontology/knora-base#mappingElementRequiresSeparator + +:mappingElementRequiresSeparator + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "indicates if the element requires a separator in the text"@en ; + rdfs:comment """indicates if the element requires a separator in the text"""@en ; + :subjectClassConstraint :MappingElement ; + :objectDatatypeConstraint xsd:boolean . + + +### http://www.knora.org/ontology/knora-base#mappingHasDefaultXSLTransformation + +:mappingHasDefaultXSLTransformation + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:label "default XSL Transformation"@en ; + rdfs:comment """default XSL Transformation for this mapping"""@en ; + :subjectClassConstraint :XMLToStandoffMapping ; + :objectClassConstraint :XSLTransformation . + + +### http://www.knora.org/ontology/knora-base#deletedBy + +:deletedBy + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:comment "Indicates who deleted a resource or value"@en ; + + # No :subjectClassConstraint, because this can be used with :Resource or :Value. + + :objectClassConstraint knora-admin:User . + + +################################################################# +# +# Datatype properties +# +################################################################# + + +### http://www.knora.org/ontology/knora-base#creationDate + +:creationDate + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:comment "Indicates when a resource was created"@en ; + :subjectClassConstraint :Resource ; + :objectDatatypeConstraint xsd:dateTime . + + +### http://www.knora.org/ontology/knora-base#deleteDate + +:deleteDate + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:comment "Indicates when a resource or value was deleted"@en ; + + # No :subjectClassConstraint, because this can be used with :Resource or :Value. + + :objectDatatypeConstraint xsd:dateTime . + + +### http://www.knora.org/ontology/knora-base#dimX + +:dimX + rdf:type owl:DatatypeProperty ; + :subjectClassConstraint :FileValue ; + rdfs:subPropertyOf :valueHas ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#dimY + +:dimY + rdf:type owl:DatatypeProperty ; + :subjectClassConstraint :FileValue ; + rdfs:subPropertyOf :valueHas ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#pageCount + +:pageCount + rdf:type owl:DatatypeProperty ; + :subjectClassConstraint :FileValue ; + rdfs:subPropertyOf :valueHas ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#duration + +:duration + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :FileValue ; + :objectDatatypeConstraint xsd:decimal . + + +### http://www.knora.org/ontology/knora-base#extResAccessInfo + +:extResAccessInfo + rdf:type owl:DatatypeProperty ; + rdfs:comment "Information (URL etc.) for accessing an external resource"@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :ExternalResValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#extResId + +:extResId + rdf:type owl:DatatypeProperty ; + rdfs:comment "The ID of the external resource. The form of the ID is dependent on the provider."@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :ExternalResValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#extResProvider + +:extResProvider + rdf:type owl:DatatypeProperty ; + rdfs:comment "The name of the external provider of the resource"@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :ExternalResValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#fps + +:fps + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :FileValue ; + :objectDatatypeConstraint xsd:decimal . + + +### http://www.knora.org/ontology/knora-base#internalFilename + +:internalFilename + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :FileValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#internalMimeType + +:internalMimeType + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :FileValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#isDeleted + +:isDeleted + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + rdfs:comment "Exists and is true if the resource has been deleted"@en ; + + # No :subjectClassConstraint, because this can be used with :Resource or :Value. + + :objectDatatypeConstraint xsd:boolean . + + +### http://www.knora.org/ontology/knora-base#isRootNode + +:isRootNode + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :ListNode ; + :objectDatatypeConstraint xsd:boolean . + + +### http://www.knora.org/ontology/knora-base#hasRootNode + +:hasRootNode + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :ListNode ; + :objectDatatypeConstraint :ListNode . + + +### http://www.knora.org/ontology/knora-base#lastModificationDate + +:lastModificationDate + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :objectDatatypeConstraint xsd:dateTime . + + +### http://www.knora.org/ontology/knora-base#listNodePosition + +:listNodePosition + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :ListNode ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#listNodeName + +:listNodeName + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :subjectClassConstraint :ListNode ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#originalFilename + +:originalFilename + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :FileValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#originalMimeType + +:originalMimeType + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :FileValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueHasComment + +:valueHasComment + rdf:type owl:DatatypeProperty ; + rdfs:comment "A comment on a value"@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :Value ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#deleteComment + +:deleteComment + rdf:type owl:DatatypeProperty ; + rdfs:comment "A comment explaining why a resource or value was marked as deleted"@en ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + + # No :subjectClassConstraint, because this can be used with :Resource or :Value. + + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueCreationDate + +:valueCreationDate + rdf:type owl:DatatypeProperty ; + :subjectClassConstraint :Value ; + rdfs:subPropertyOf :valueHas ; + :objectDatatypeConstraint xsd:dateTime . + + +### http://www.knora.org/ontology/knora-base#valueHas + +:valueHas + rdf:type rdf:Property ; + :subjectClassConstraint :ValueBase ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted . + + +### http://www.knora.org/ontology/knora-base#valueHasUUID + +:valueHasUUID + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + rdfs:comment "The UUID of a value"@en ; + :subjectClassConstraint :Value ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueHasCalendar + +:valueHasCalendar + rdf:type owl:DatatypeProperty ; + rdfs:comment "Name of the calendar to be used, such as \"GREGORIAN\" or \"JULIAN\"."@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :DateBase ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueHasColor + +:valueHasColor + rdf:type owl:DatatypeProperty ; + rdfs:comment "Color in the form of #rrggbb (as defining web colors)"@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :ColorBase ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueHasEndJDN + +:valueHasEndJDN + rdf:type owl:DatatypeProperty ; + rdfs:comment "Contains the end of a date as a Julian Day Number (JDN)"@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :DateBase ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#valueHasEndPrecision + +:valueHasEndPrecision + rdf:type owl:DatatypeProperty ; + rdfs:comment "Precision of knowledge about the end of the date. Allowed are \"DAY\", \"MONTH\" or \"YEAR\"."@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :DateBase ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueHasDecimal + +:valueHasDecimal + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :DecimalBase ; + :objectDatatypeConstraint xsd:decimal . + + +### http://www.knora.org/ontology/knora-base#valueHasGeometry + +:valueHasGeometry + rdf:type owl:DatatypeProperty ; + rdfs:comment "JSON string describing a geometry (e.g. a region). Currently geometries are limited to 2D unions of primitive objects like circles, squares and polygons."@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :GeomValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueHasGeonameCode + +:valueHasGeonameCode + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :GeonameValue ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueHasInteger + +:valueHasInteger + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :IntBase ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#valueHasBoolean + +:valueHasBoolean + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :BooleanBase ; + :objectDatatypeConstraint xsd:boolean . + + +### http://www.knora.org/ontology/knora-base#valueHasUri + +:valueHasUri + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :UriBase ; + :objectDatatypeConstraint xsd:anyURI . + + +### http://www.knora.org/ontology/knora-base#valueHasIntervalEnd + +:valueHasIntervalEnd + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :IntervalBase ; + :objectDatatypeConstraint xsd:decimal . + + +### http://www.knora.org/ontology/knora-base#valueHasIntervalStart + +:valueHasIntervalStart + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :IntervalBase ; + :objectDatatypeConstraint xsd:decimal . + + +### http://www.knora.org/ontology/knora-base#valueHasTimeStamp + +:valueHasTimeStamp + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :TimeBase ; + :objectDatatypeConstraint xsd:dateTime . + + +### http://www.knora.org/ontology/knora-base#valueHasListNode + +:valueHasListNode + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :ListValue ; + :objectClassConstraint :ListNode . + + +### http://www.knora.org/ontology/knora-base#valueHasOrder + +:valueHasOrder + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :Value ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#valueHasRefCount + +:valueHasRefCount + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :LinkValue ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#valueHasStartJDN + +:valueHasStartJDN + rdf:type owl:DatatypeProperty ; + rdfs:comment "Contains the start of a date as a Julian Day Number (JDN)"@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :DateBase ; + :objectDatatypeConstraint xsd:integer . + + +### http://www.knora.org/ontology/knora-base#valueHasStartPrecision + +:valueHasStartPrecision + rdf:type owl:DatatypeProperty ; + rdfs:comment "The precision the start of a date. Allowed values are \"DAY\", \"MONTH\", or \"YEAR\"."@en ; + rdfs:subPropertyOf :valueHas ; + :subjectClassConstraint :DateBase ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#valueHasString + +:valueHasString + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :valueHas ; + rdfs:comment "A string representation of a value, required for full-text searches and search results."@en ; + :subjectClassConstraint :Value ; + :objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/knora-base#hasPermissions + +:hasPermissions + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf :objectCannotBeMarkedAsDeleted ; + :objectDatatypeConstraint xsd:string . + + +################################################################# +# +# Classes +# +################################################################# + + +### http://www.knora.org/ontology/knora-base#Annotation + +:Annotation + rdf:type owl:Class ; + rdfs:subClassOf :Resource, + [ rdf:type owl:Restriction ; + owl:onProperty :hasComment ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isAnnotationOf ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isAnnotationOfValue ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Annotation"@de, + "Annotation"@en, + "Annotation"@fr, + "Annotation"@it ; + :canBeInstantiated true ; + rdfs:comment "A generic class for representing annotations"@en . + + +### http://www.knora.org/ontology/knora-base#AudioFileValue + +:AudioFileValue + rdf:type owl:Class ; + rdfs:subClassOf :FileValue, + [ rdf:type owl:Restriction ; + owl:onProperty :duration ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents an audio file"@en . + + +### http://www.knora.org/ontology/knora-base#AudioRepresentation + +:AudioRepresentation + rdf:type owl:Class ; + rdfs:subClassOf :Representation, + [ rdf:type owl:Restriction ; + owl:onProperty :hasAudioFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Repräsentation (Audio)"@de, + "Representation (Audio)"@en, + "Répresentation (Audio)"@fr, + "Rappresentazione (Audio)"@it ; + rdfs:comment "Represents a file containing audio data"@en . + + +### http://www.knora.org/ontology/knora-base#ColorBase + +:ColorBase + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasColor ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#ColorValue + +:ColorValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + :ColorBase ; + rdfs:comment "Represents a color in HTML format, e.g. \"#33eeff\""@en . + + +### http://www.knora.org/ontology/knora-base#DDDFileValue + +:DDDFileValue + rdf:type owl:Class ; + rdfs:subClassOf :FileValue ; + rdfs:comment "This represents some 3D-object with mesh data, point cloud, etc."@en . + + +### http://www.knora.org/ontology/knora-base#DDDRepresentation + +:DDDRepresentation + rdf:type owl:Class ; + rdfs:subClassOf :Representation, + [ rdf:type owl:Restriction ; + owl:onProperty :hasDDDFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Repräsentation (3D)"@de, + "Representation (3D)"@en, + "Répresentation (3D)"@fr, + "Rappresentazione (3D)"@it ; + rdfs:comment "Represents a file containg 3D data"@en . + + +### http://www.knora.org/ontology/knora-base#DateBase + +:DateBase + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasCalendar ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasEndPrecision ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasEndJDN ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasStartPrecision ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasStartJDN ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#DateValue + +:DateValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + :DateBase ; + rdfs:comment "Represents a Knora date value"@en . + + +### http://www.knora.org/ontology/knora-base#DocumentFileValue + +:DocumentFileValue + rdf:type owl:Class ; + rdfs:subClassOf :FileValue, + [ rdf:type owl:Restriction ; + owl:onProperty :pageCount ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :dimX ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :dimY ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#DocumentRepresentation + +:DocumentRepresentation + rdf:type owl:Class ; + rdfs:label "Repräsentation (Dokument)"@de, + "Representation (Document)"@en, + "Répresentation (Document)"@fr, + "Rappresentazione (Documento)"@it ; + rdfs:subClassOf :Representation, + [ rdf:type owl:Restriction ; + owl:onProperty :hasDocumentFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#ArchiveFileValue + +:ArchiveFileValue + rdf:type owl:Class ; + rdfs:subClassOf :FileValue . + + +### http://www.knora.org/ontology/knora-base#ArchiveRepresentation + +:ArchiveRepresentation + rdf:type owl:Class ; + rdfs:label "Repräsentation (Zip)"@de, + "Representation (Zip)"@en, + "Répresentation (Zip)"@fr, + "Rappresentazione (Zip)"@it ; + rdfs:subClassOf :Representation, + [ rdf:type owl:Restriction ; + owl:onProperty :hasArchiveFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#ExternalResValue + +:ExternalResValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + [ rdf:type owl:Restriction ; + owl:onProperty :extResId ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :extResProvider ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :extResAccessInfo ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#ExternalResource + +:ExternalResource + rdf:type owl:Class ; + rdfs:subClassOf :Resource, + [ rdf:type owl:Restriction ; + owl:onProperty :hasExtResValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Externe Ressource"@de, + "External Resource"@en, + "Ressource Externe"@fr, + "Risorsa esterna"@it ; + rdfs:comment "Represents a proxy for an object stored by an external provider"@en . + + +### http://www.knora.org/ontology/knora-base#FileValue + +:FileValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + [ rdf:type owl:Restriction ; + owl:onProperty :internalFilename ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :internalMimeType ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :originalFilename ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :originalMimeType ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#DecimalBase + +:DecimalBase + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasDecimal ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#DecimalValue + +:DecimalValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + :DecimalBase ; + rdfs:comment "Represents an arbitrary-precision decimal value"@en . + + +### http://www.knora.org/ontology/knora-base#GeomValue + +:GeomValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasGeometry ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents a geometrical objects as JSON string"@en . + + +### http://www.knora.org/ontology/knora-base#GeonameValue + +:GeonameValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasGeonameCode ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#IntBase + +:IntBase + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasInteger ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#IntValue + +:IntValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + :IntBase ; + rdfs:comment "Represents an integer value"@en . + +### http://www.knora.org/ontology/knora-base#BooleanBase + +:BooleanBase + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasBoolean ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#BooleanValue + +:BooleanValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + :BooleanBase ; + rdfs:comment "Represents a boolean value"@en . + + +### http://www.knora.org/ontology/knora-base#UriBase + +:UriBase + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasUri ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + +### http://www.knora.org/ontology/knora-base#UriValue + +:UriValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + :UriBase ; + rdfs:comment "Represents a URI"@en . + +### http://www.knora.org/ontology/knora-base#IntervalBase + +:IntervalBase + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasIntervalEnd ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasIntervalStart ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#IntervalValue + +:IntervalValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + :IntervalBase ; + rdfs:comment "Represents a time interval, e.g. in an audio recording"@en . + + +### http://www.knora.org/ontology/knora-base#TimeBase + +:TimeBase + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasTimeStamp ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#TimeValue + +:TimeValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + :TimeBase ; + rdfs:comment "Represents a timestamp"@en . + + +### http://www.knora.org/ontology/knora-base#LinkObj + +:LinkObj + rdf:type owl:Class ; + rdfs:label "Verknüpfungsobjekt"@de, + "Link Object"@en, + "Objet de lien"@fr, + "Oggetto di connessione"@it ; + rdfs:subClassOf :Resource, + [ rdf:type owl:Restriction ; + owl:onProperty :hasComment ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasLinkTo ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasLinkToValue ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ] ; + :resourceIcon "link.gif"^^xsd:string ; + :canBeInstantiated true ; + rdfs:comment "Verknüpfung mehrerer Resourcen"@de, + "Represents a generic link object"@en . + + +### http://www.knora.org/ontology/knora-base#LinkValue + +:LinkValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + rdf:Statement, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasRefCount ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty rdf:subject ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty rdf:predicate ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty rdf:object ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "A reification node that describes direct links between resources"@en . + + +### http://www.knora.org/ontology/knora-base#ListNode + +:ListNode + rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :hasSubListNode ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :listNodePosition ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :listNodeName ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isRootNode ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasRootNode ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :attachedToProject ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty rdfs:label ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents a flat or hierarchical list"@en . + + +### http://www.knora.org/ontology/knora-base#ListValue + +:ListValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasListNode ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#MovingImageFileValue + +:MovingImageFileValue + rdf:type owl:Class ; + rdfs:subClassOf :FileValue ; + rdfs:comment "Represents a moving image file"@en . + + +### http://www.knora.org/ontology/knora-base#MovingImageRepresentation + +:MovingImageRepresentation + rdf:type owl:Class ; + rdfs:subClassOf :Representation, + [ rdf:type owl:Restriction ; + owl:onProperty :hasMovingImageFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Repräsentation (Video)"@de, + "Representation (Movie)"@en, + "Répresentation (Film)"@fr, + "Rappresentazione (Film)"@it ; + rdfs:comment "A resource containing moving image data"@en . + + +### http://www.knora.org/ontology/knora-base#Region + +:Region + rdf:type owl:Class ; + rdfs:label "Region"@de, + "Region"@en, + "Région"@fr, + "Regione"@it ; + rdfs:subClassOf :Resource, + [ rdf:type owl:Restriction ; + owl:onProperty :hasColor ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isRegionOf ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasGeometry ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isRegionOfValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasComment ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ] ; + :resourceIcon "region.gif"^^xsd:string ; + :canBeInstantiated true ; + rdfs:comment "Represents a geometric region of a resource. The geometry is represented currently as JSON string."@en . + + +### http://www.knora.org/ontology/knora-base#Representation + +:Representation + rdf:type owl:Class ; + rdfs:subClassOf :Resource, + [ rdf:type owl:Restriction ; + owl:onProperty :hasFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Repräsentation"@de, + "Representation"@en, + "Répresentation"@fr, + "Rappresentazione"@it ; + rdfs:comment "A resource that can store a file"@en . + + +### http://www.knora.org/ontology/knora-base#Resource + +:Resource + rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty rdfs:label ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isDeleted ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasStandoffLinkTo ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasStandoffLinkToValue ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :attachedToUser ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :attachedToProject ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasPermissions ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :creationDate ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :lastModificationDate ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :deleteDate ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :deletedBy ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :deleteComment ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Ressource"@de, + "Resource"@en, + "Ressource"@fr, + "Risorsa"@it ; + rdfs:comment "Represents something in the world, or an abstract thing"@en . + + +################################################################# +# +# Generic Standoff Tag +# +################################################################# + + +:standoffParentClassConstraint + rdf:type owl:ObjectProperty . + + +### http://www.knora.org/ontology/knora-base#StandoffTag + +:StandoffTag + rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasStart ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasEnd ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasUUID ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasOriginalXMLID ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasStartIndex ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasEndIndex ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasStartParent ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasEndParent ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :standoffParentClassConstraint ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents a standoff markup tag"@en . + + +################################################################# +# +# Abstract Standoff Data Type Tag +# +################################################################# + +### http://www.knora.org/ontology/knora-base#StandoffDataTypeTag + +:StandoffDataTypeTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffTag ; + rdfs:comment "Represents a knora-base value type in a TextValue"@en . + + +################################################################# +# +# Standoff Data Type Tags that can be instantiated +# +################################################################# + + +### http://www.knora.org/ontology/knora-base#StandoffLinkTag + +:StandoffLinkTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffTag, + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasLink ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents a reference to a Knora resource in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffUriTag + +:StandoffUriTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :UriBase ; + rdfs:comment "Represents an arbitrary URI in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffDateTag + +:StandoffDateTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :DateBase ; + rdfs:comment "Represents a date in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffColorTag + +:StandoffColorTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :ColorBase ; + rdfs:comment "Represents a color in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffIntegerTag + +:StandoffIntegerTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :IntBase ; + rdfs:comment "Represents an integer value in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffDecimalTag + +:StandoffDecimalTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :DecimalBase ; + rdfs:comment "Represents a decimal (floating point) value in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffIntervalTag + +:StandoffIntervalTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :IntervalBase ; + rdfs:comment "Represents an interval in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffTimeTag + +:StandoffTimeTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :TimeBase ; + rdfs:comment "Represents a timestamp in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffBooleanTag + +:StandoffBooleanTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :BooleanBase ; + rdfs:comment "Represents a boolean in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StandoffInternalReferenceTag + +:StandoffInternalReferenceTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffDataTypeTag, + :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :standoffTagHasInternalReference ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents an internal reference in a TextValue"@en . + + +### http://www.knora.org/ontology/knora-base#StillImageFileValue + +:StillImageFileValue + rdf:type owl:Class ; + rdfs:subClassOf :FileValue, + [ rdf:type owl:Restriction ; + owl:onProperty :dimY ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :dimX ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "A file containing a two-dimensional still image"@en . + + +### http://www.knora.org/ontology/knora-base#StillImageRepresentation + +:StillImageRepresentation + rdf:type owl:Class ; + rdfs:subClassOf :Representation, + [ rdf:type owl:Restriction ; + owl:onProperty :hasStillImageFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Repräsentation (Bild)"@de, + "Representation (Image)"@en, + "Répresentation (Image)"@fr, + "Rappresentazione (Imagine)"@it ; + rdfs:comment "A resource that can contain a two-dimensional still image file"@en . + + +### http://www.knora.org/ontology/knora-base#TextFileValue + +:TextFileValue + rdf:type owl:Class ; + rdfs:subClassOf :FileValue ; + rdfs:comment "A text file such as plain Unicode text, LaTeX, TEI/XML, etc."@en . + + +### http://www.knora.org/ontology/knora-base#TextRepresentation + +:TextRepresentation + rdf:type owl:Class ; + rdfs:subClassOf :Representation, + [ rdf:type owl:Restriction ; + owl:onProperty :hasTextFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Repräsentation (Text)"@de, + "Representation (Text)"@en, + "Répresentation (Texte)"@fr, + "Rappresentazione (testo)"@it ; + rdfs:comment "A resource containing a text file"@en . + + +### http://www.knora.org/ontology/knora-base#XSLTransformation + +:XSLTransformation + rdf:type owl:Class ; + rdfs:subClassOf :TextRepresentation, + [ rdf:type owl:Restriction ; + owl:onProperty :hasTextFileValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "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."@en ; + 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."@en . + + +### http://www.knora.org/ontology/knora-base#MappingComponent + +:MappingComponent + rdf:type owl:Class ; + rdfs:label "Component of a mapping"@en ; + rdfs:comment "Component of a mapping" . + + +### http://www.knora.org/ontology/knora-base#MappingStandoffDataTypeClass + +:MappingStandoffDataTypeClass + rdf:type owl:Class ; + rdfs:subClassOf :MappingComponent, + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasXMLAttributename ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasStandoffClass ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Mapping from XML attributes to standoff properties"@en ; + rdfs:comment "Mapping from XML attributes to standoff properties" . + + +### http://www.knora.org/ontology/knora-base#MappingXMLAttribute + +:MappingXMLAttribute + rdf:type owl:Class ; + rdfs:subClassOf :MappingComponent, + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasXMLAttributename ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasXMLNamespace ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasStandoffProperty ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Mapping from XML attributes to standoff properties"@en ; + rdfs:comment "Mapping from XML attributes to standoff properties" . + + +### http://www.knora.org/ontology/knora-base#MappingElement + +:MappingElement + rdf:type owl:Class ; + rdfs:subClassOf :MappingComponent, + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasXMLTagname ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasXMLNamespace ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasXMLClass ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasStandoffClass ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasXMLAttribute ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasStandoffDataTypeClass ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingElementRequiresSeparator ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Mapping from XML to standoff entities"@en ; + rdfs:comment "Mapping from XML to standoff entities" . + +### http://www.knora.org/ontology/knora-base#XMLToStandoffMapping + +:XMLToStandoffMapping + rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :hasMappingElement ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :mappingHasDefaultXSLTransformation ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:label "Mapping from XML to standoff entities"@en ; + rdfs:comment "Mapping from XML to standoff entities" . + +### http://www.knora.org/ontology/knora-base#TextValue + +:TextValue + rdf:type owl:Class ; + rdfs:subClassOf :Value, + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasStandoff ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasMaxStandoffStartIndex ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasLanguage ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasMapping ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] . + + +### http://www.knora.org/ontology/knora-base#ValueBase + +:ValueBase + rdf:type owl:Class . + + +### http://www.knora.org/ontology/knora-base#Value + +:Value + rdf:type owl:Class ; + rdfs:subClassOf :ValueBase, + [ rdf:type owl:Restriction ; + owl:onProperty :valueCreationDate ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :attachedToUser ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :hasPermissions ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasOrder ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasComment ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :isDeleted ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :deleteDate ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :deletedBy ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :deleteComment ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :previousValue ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasString ; + owl:cardinality "1"^^xsd:nonNegativeInteger ], + [ rdf:type owl:Restriction ; + owl:onProperty :valueHasUUID ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "The base class of classes representing Knora values"@en . + + +### http://www.knora.org/ontology/knora-base#DeletedResource + +:DeletedResource + rdf:type owl:Class ; + rdfs:subClassOf :Resource ; + rdfs:label "Deleted Resource"@en ; + rdfs:comment "Generic representation of a deleted resource that can therefore not be displayed"@en . + + +### http://www.knora.org/ontology/knora-base#DeletedValue + +:DeletedValue + rdf:type owl:Class ; + rdfs:subClassOf :Value ; + rdfs:label "Deleted Value"@en ; + rdfs:comment "Generic representation of a deleted value that can therefore not be displayed"@en . diff --git a/webapi/src/main/resources/knora-ontologies/salsah-gui.ttl b/webapi/src/main/resources/knora-ontologies/salsah-gui.ttl new file mode 100644 index 00000000000..7ff1c8e71f5 --- /dev/null +++ b/webapi/src/main/resources/knora-ontologies/salsah-gui.ttl @@ -0,0 +1,215 @@ + ### +# * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. +# * SPDX-License-Identifier: Apache-2.0 +### + +@prefix : . +@prefix owl: . +@prefix rdf: . +@prefix xml: . +@prefix xsd: . +@prefix rdfs: . +@prefix knora-base: . +@prefix knora-admin: . +@base . + + + rdf:type owl:Ontology ; + rdfs:label "The salsah-gui ontology"@en ; + knora-base:attachedToProject knora-admin:SystemProject . + + +################################################################# +# +# Properties +# +################################################################# + + +### http://www.knora.org/ontology/salsah-gui#guiOrder + +:guiOrder + rdf:type owl:DatatypeProperty ; + knora-base:subjectClassConstraint owl:Restriction ; + knora-base:objectDatatypeConstraint xsd:nonNegativeInteger . + + +### http://www.knora.org/ontology/salsah-gui#guiElement + +:guiElement + rdf:type owl:ObjectProperty . + + +### http://www.knora.org/ontology/salsah-gui#guiAttribute + +:guiAttribute + rdf:type owl:DatatypeProperty ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/salsah-gui#guiAttributeDefinition + +:guiAttributeDefinition + rdf:type owl:DatatypeProperty ; + knora-base:subjectClassConstraint :Guielement ; + knora-base:objectDatatypeConstraint xsd:string . + + +################################################################# +# +# Classes +# +################################################################# + + +### http://www.knora.org/ontology/salsah-gui#Guielement + +:Guielement + rdf:type owl:Class . + + +################################################################# +# +# Individuals +# +################################################################# + + +### http://www.knora.org/ontology/salsah-gui#Colorpicker + +:Colorpicker + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "ncolors:integer" . + + +### http://www.knora.org/ontology/salsah-gui#Date + +:Date + rdf:type :Guielement, + owl:NamedIndividual . + + +### http://www.knora.org/ontology/salsah-gui#Geometry + +:Geometry + rdf:type :Guielement, + owl:NamedIndividual . + + +### http://www.knora.org/ontology/salsah-gui#Geonames + +:Geonames + rdf:type :Guielement, + owl:NamedIndividual . + + +### http://www.knora.org/ontology/salsah-gui#Iconclass + +# :Iconclass rdf:type :Guielement , +# owl:NamedIndividual . + + +### http://www.knora.org/ontology/salsah-gui#Interval + +:Interval + rdf:type :Guielement, + owl:NamedIndividual . + + +### http://www.knora.org/ontology/salsah-gui#TimeStamp + +:TimeStamp + rdf:type :Guielement, + owl:NamedIndividual . + + +### http://www.knora.org/ontology/salsah-gui#List + +:List + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "hlist(required):iri" . + + +### http://www.knora.org/ontology/salsah-gui#Pulldown + +:Pulldown + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "hlist(required):iri" . + + +### http://www.knora.org/ontology/salsah-gui#Radio + +:Radio + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "hlist(required):iri" . + + +### http://www.knora.org/ontology/salsah-gui#Richtext + +:Richtext + rdf:type :Guielement, + owl:NamedIndividual . + + +### http://www.knora.org/ontology/salsah-gui#Searchbox + +:Searchbox + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "numprops:integer" . + + +### http://www.knora.org/ontology/salsah-gui#SimpleText + +:SimpleText + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "size:integer", + "maxlength:integer" . + + +### http://www.knora.org/ontology/salsah-gui#Slider + +:Slider + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "max(required):decimal", + "min(required):decimal" . + + +### http://www.knora.org/ontology/salsah-gui#Spinbox + +:Spinbox + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "max:decimal", + "min:decimal" . + + +### http://www.knora.org/ontology/salsah-gui#Textarea + +:Textarea + rdf:type :Guielement, + owl:NamedIndividual ; + :guiAttributeDefinition "cols:integer", + "rows:integer", + "width:percent", + "wrap:string(soft|hard)" . + + +### http://www.knora.org/ontology/salsah-gui#Checkbox + +:Checkbox + rdf:type :Guielement, + owl:NamedIndividual . + + +### http://www.knora.org/ontology/salsah-gui#Fileupload + +:Fileupload + rdf:type :Guielement, + owl:NamedIndividual . diff --git a/webapi/src/main/resources/knora-ontologies/standoff-data.ttl b/webapi/src/main/resources/knora-ontologies/standoff-data.ttl new file mode 100644 index 00000000000..ef03b89adfb --- /dev/null +++ b/webapi/src/main/resources/knora-ontologies/standoff-data.ttl @@ -0,0 +1,688 @@ + ### +# * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. +# * SPDX-License-Identifier: Apache-2.0 +### + +@prefix xml: . +@prefix xsd: . +@prefix rdf: . +@prefix rdfs: . +@prefix owl: . +@prefix foaf: . +@prefix knora-base: . +@prefix salsah-gui: . +@prefix standoff: . + + + a knora-base:XMLToStandoffMapping ; + rdfs:label "mapping for HTML"@en ; + knora-base:hasMappingElement , + , + , + , + , + , + , + , + , + , + , + + #### additional elements + + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffRootTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingHasXMLTagname "text"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLAttribute . + + + a knora-base:MappingXMLAttribute ; + knora-base:mappingHasStandoffProperty standoff:standoffRootTagHasDocumentType ; + knora-base:mappingHasXMLAttributename "documentType"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffParagraphTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "p"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffItalicTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "em"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffBoldTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "strong"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffUnderlineTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "u"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffSubscriptTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "sub"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffSuperscriptTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "sup"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffStrikethroughTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "strike"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass knora-base:StandoffUriTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "a"^^xsd:string ; + knora-base:mappingHasStandoffDataTypeClass . + + + a knora-base:MappingStandoffDataTypeClass ; + knora-base:mappingHasStandoffClass knora-base:StandoffUriTag ; + knora-base:mappingHasXMLAttributename "href"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass knora-base:StandoffLinkTag ; + knora-base:mappingHasXMLClass "salsah-link" ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "a"^^xsd:string ; + knora-base:mappingHasStandoffDataTypeClass . + + + a knora-base:MappingStandoffDataTypeClass ; + knora-base:mappingHasStandoffClass knora-base:StandoffLinkTag ; + knora-base:mappingHasXMLAttributename "href"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass knora-base:StandoffInternalReferenceTag ; + knora-base:mappingHasXMLClass "internal-link" ; + knora-base:mappingHasXMLNamespace "noNamespace" ; + knora-base:mappingElementRequiresSeparator false ; + knora-base:mappingHasXMLTagname "a" ; + knora-base:mappingHasStandoffDataTypeClass . + + + a knora-base:MappingStandoffDataTypeClass ; + knora-base:mappingHasStandoffClass knora-base:StandoffInternalReferenceTag ; + knora-base:mappingHasXMLAttributename "href" . + + +###################### additional elements + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffHeader1Tag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "h1"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffHeader2Tag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "h2"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasStandoffClass standoff:StandoffHeader3Tag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingHasXMLTagname "h3"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffHeader4Tag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "h4"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffHeader5Tag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "h5"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffHeader6Tag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "h6"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffOrderedListTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "ol"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffUnorderedListTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "ul"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffListElementTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "li"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffTableTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "table"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffTableBodyTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "tbody"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffTableRowTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "tr"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffTableCellTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "td"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffBrTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "br"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffLineTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingHasXMLTagname "hr"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffPreTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingHasXMLTagname "pre"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffCiteTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingHasXMLTagname "cite"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffBlockquoteTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "blockquote"^^xsd:string . + + + a knora-base:MappingElement ; + knora-base:mappingHasStandoffClass standoff:StandoffCodeTag ; + knora-base:mappingHasXMLClass "noClass"^^xsd:string ; + knora-base:mappingHasXMLNamespace "noNamespace"^^xsd:string ; + knora-base:mappingElementRequiresSeparator true ; + knora-base:mappingHasXMLTagname "code"^^xsd:string . + +### TEI Mapping for standard standoff tags + + + a knora-base:XMLToStandoffMapping ; + rdfs:label "mapping for TEI"@en . + + + . + + + a ; + "text" ; + "noNamespace" ; + "noClass" ; + ; + . + + + a ; + "noNamespace" ; + "documentType" ; + . + + + "false"^^xsd:boolean . + + + . + + + a ; + "entity" ; + "noNamespace" ; + "noClass" ; + ; + . + + + a ; + ; + "ref" . + + + "false"^^xsd:boolean . + + + . + + + a ; + "a" ; + "noNamespace" ; + "noClass" ; + ; + . + + + a ; + ; + "href" . + + + "false"^^xsd:boolean . + + + . + + + a ; + "ref" ; + "noNamespace" ; + "noClass" ; + ; + . + + + a ; + ; + "target" . + + + "false"^^xsd:boolean . + + + . + + + a ; + "quote" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "code" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "p" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "header1" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "header2" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "header3" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "header4" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "header5" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "header6" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "ol" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "ul" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "listitem" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "table" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "tablebody" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "row" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "cell" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "br" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "cite" ; + "noNamespace" ; + "noClass" ; + ; + "true"^^xsd:boolean . + + + . + + + a ; + "em" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "b" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "u" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "strike" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "sup" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "sub" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "line" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . + + + . + + + a ; + "pre" ; + "noNamespace" ; + "noClass" ; + ; + "false"^^xsd:boolean . diff --git a/webapi/src/main/resources/knora-ontologies/standoff-onto.ttl b/webapi/src/main/resources/knora-ontologies/standoff-onto.ttl new file mode 100644 index 00000000000..c4385d4d0cd --- /dev/null +++ b/webapi/src/main/resources/knora-ontologies/standoff-onto.ttl @@ -0,0 +1,304 @@ + ### +# * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. +# * SPDX-License-Identifier: Apache-2.0 +### + +@prefix : . +@prefix xml: . +@prefix xsd: . +@prefix rdf: . +@prefix rdfs: . +@prefix owl: . +@prefix foaf: . +@prefix knora-base: . +@prefix knora-admin: . +@prefix salsah-gui: . +@base . + + + + rdf:type owl:Ontology ; + rdfs:label "The standoff ontology"@en ; + knora-base:attachedToProject knora-admin:SystemProject . + + +################################################################# +# +# Standoff Properties +# +################################################################# + +### http://www.knora.org/ontology/standoff#standoffRootTagHasDocumentType + +:standoffRootTagHasDocumentType + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "describes the document type"@en ; + knora-base:subjectClassConstraint :StandoffRootTag ; + knora-base:objectDatatypeConstraint xsd:string . + + +### http://www.knora.org/ontology/standoff#standoffHyperlinkTagHasTarget + +:standoffHyperlinkTagHasTarget + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf knora-base:objectCannotBeMarkedAsDeleted ; + rdfs:comment "describes the target settings of a hyperlink"@en ; + knora-base:subjectClassConstraint :StandoffHyperlinkTag ; + knora-base:objectDatatypeConstraint xsd:string . + + +################################################################# +# +# Intermediate Standoff Tags +# +################################################################# + +### http://www.knora.org/ontology/standoff#StandoffVisualTag + +:StandoffVisualTag + rdf:type owl:Class ; + rdfs:subClassOf knora-base:StandoffTag ; + rdfs:comment "Represents visual markup information in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffStructuralTag + +:StandoffStructuralTag + rdf:type owl:Class ; + rdfs:subClassOf knora-base:StandoffTag ; + rdfs:comment "Represents structural markup information in a TextValue"@en . + + +################################################################# +# +# Standoff Tags that can be instantiated +# +################################################################# + + +### http://www.knora.org/ontology/standoff#StandoffRootTag + +:StandoffRootTag + rdf:type owl:Class ; + rdfs:subClassOf knora-base:StandoffTag, + [ rdf:type owl:Restriction ; + owl:onProperty :standoffRootTagHasDocumentType ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents the root node if the TextValue has been created from XML"@en . + +### http://www.knora.org/ontology/standoff#StandoffHyperlinkTag + +:StandoffHyperlinkTag + rdf:type owl:Class ; + rdfs:subClassOf knora-base:StandoffUriTag, + [ rdf:type owl:Restriction ; + owl:onProperty :standoffHyperlinkTagHasTarget ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; + rdfs:comment "Represents a hyperlink in a text"@en . + +### http://www.knora.org/ontology/standoff#StandoffBlockquoteTag + +:StandoffBlockquoteTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a section that is quoted from another source in a text"@en . + + +### http://www.knora.org/ontology/standoff#StandoffCodeTag + +:StandoffCodeTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a section of computer source code in a text"@en . + + +### http://www.knora.org/ontology/standoff#StandoffParagraphTag + +:StandoffParagraphTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a paragraph in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffHeader1Tag + +:StandoffHeader1Tag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a header of level 1 in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffHeader2Tag + +:StandoffHeader2Tag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a header of level 2 in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffHeader3Tag + +:StandoffHeader3Tag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a header of level 3 in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffHeader4Tag + +:StandoffHeader4Tag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a header of level 4 in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffHeader5Tag + +:StandoffHeader5Tag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a header of level 5 in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffHeader6Tag + +:StandoffHeader6Tag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a header of level 6 in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffOrderedListTag + +:StandoffOrderedListTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents an ordered list in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffUnorderedListTag + +:StandoffUnorderedListTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents an unordered list in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffListElementTag + +:StandoffListElementTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a list element in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffTableBodyTag + +:StandoffTableBodyTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a table body in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffTableTag + +:StandoffTableTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a table in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffTableRowTag + +:StandoffTableRowTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a row in a table"@en . + + +### http://www.knora.org/ontology/standoff#StandoffTableCellTag + +:StandoffTableCellTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a cell in a table"@en . + + +### http://www.knora.org/ontology/standoff#StandoffBrTag + +:StandoffBrTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents a linebreak"@en . + + +### http://www.knora.org/ontology/standoff#StandoffItalicTag + +:StandoffItalicTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffVisualTag ; + rdfs:comment "Represents italics in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffBoldTag + +:StandoffBoldTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffVisualTag ; + rdfs:comment "Represents bold text in a TextValue"@en . + +### http://www.knora.org/ontology/standoff-html-editor#StandoffCiteTag + +:StandoffCiteTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffStructuralTag ; + rdfs:comment "Represents the title of a work in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffUnderlineTag + +:StandoffUnderlineTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffVisualTag ; + rdfs:comment "Represents underlined text in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffStrikethroughTag + +:StandoffStrikethroughTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffVisualTag ; + rdfs:comment "Represents struck text in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffSuperscriptTag + +:StandoffSuperscriptTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffVisualTag ; + rdfs:comment "Represents superscript in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff#StandoffSubscriptTag + +:StandoffSubscriptTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffVisualTag ; + rdfs:comment "Represents subscript in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff-html-editor#StandoffLineTag + +:StandoffLineTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffVisualTag ; + rdfs:comment "Represents a line to seperate content in a TextValue"@en . + + +### http://www.knora.org/ontology/standoff-html-editor#StandoffPreTag + +:StandoffPreTag + rdf:type owl:Class ; + rdfs:subClassOf :StandoffVisualTag ; + rdfs:comment "Represents a preformatted content in a TextValue"@en .