@prefix rdf: . @prefix dct: . @prefix memorix: . @prefix owl: . @prefix vann: . @prefix skos: . @prefix schema: . @prefix sh: . @prefix rdfs: . @prefix dash: . @prefix xsd: . dct:contributor "Memorix Development team" ; dct:created "2021-02-09T17:00:00+00:00"^^xsd:dateTime ; dct:creator [ schema:email ; schema:name "Mark Lindeman" ] ; dct:license ; dct:modified "2021-12-06T13:56:54+01:00"^^xsd:dateTime ; dct:publisher [ schema:identifier ; schema:name "Picturae" ] ; dct:rights "© 2021-… Picturae, Heerhugowaard, the Netherlands" ; vann:preferredNamespacePrefix "memorix" ; a owl:Ontology ; rdfs:comment "The Memorix Application Ontology describes Classes and Properties that are uses in Picturae's Collection Management System."@en ; rdfs:label "Memorix Application Ontology" . memorix:AccessModeType a owl:Class ; rdfs:comment "The Class of accessMode… Datatype Properties that can be used to permit certain actions" ; rdfs:label "AccessModeType" . memorix:AccessibilityAndRightsComponent a owl:Class ; rdfs:comment "The class of information about Accessibility & Rights."@en ; rdfs:label "AccessibilityAndRightsComponent" ; rdfs:subClassOf memorix:InformationComponent, [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty memorix:accessModeDisplay ; owl:someValuesFrom xsd:boolean ], [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty memorix:attributionRequired ; owl:someValuesFrom xsd:boolean ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty schema:license ; owl:someValuesFrom xsd:anyURI ], [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty memorix:accessModeDownload ; owl:someValuesFrom xsd:boolean ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onClass memorix:Context ; owl:onProperty schema:copyrightHolder ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty schema:copyrightNotice ; owl:someValuesFrom xsd:string ], [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty memorix:accessModeScanningOnDemand ; owl:someValuesFrom xsd:boolean ], [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty memorix:accessModeReservation ; owl:someValuesFrom xsd:boolean ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty memorix:restrictionsExpire ; owl:someValuesFrom xsd:date ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty memorix:copyrightExpires ; owl:someValuesFrom xsd:date ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty schema:creditText ; owl:someValuesFrom xsd:string ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty schema:conditionsOfAccess ; owl:someValuesFrom xsd:string ] . memorix:AudienceUIComponent a owl:Class ; rdfs:comment "An editor for marking the audience status of a record. Only accepts memorix:internal or memorix:external" ; rdfs:subClassOf memorix:UIComponent ; owl:equivalentClass dash:BooleanSelectEditor . memorix:BagUIComponent a owl:Class ; rdfs:comment "What is this??" ; rdfs:subClassOf memorix:UIComponent . memorix:BooleanUIComponent a owl:Class ; rdfs:comment "An editor for boolean literals, rendering as a select box with values true and false. Implicit used if sh:datatype = xsd:boolean" ; rdfs:subClassOf memorix:UIComponent ; owl:equivalentClass dash:BooleanSelectEditor . memorix:Class a owl:Class ; rdfs:comment "Base Class for main Memorix Classes" ; rdfs:label "Class" . memorix:Collection a owl:Class ; rdfs:comment """Collections are permanent groupings of Records that are conceptually linked. Possible uses could be for works that were donated as a group, objects that all belonged to the same person, or that were shown together in a historical exhibition etc. Normally you wouldn’t use this to describe a category of works such as “books,” though that is your choice. Object can only be in a single collection."""@en ; rdfs:label "Collection" ; rdfs:subClassOf memorix:Class, [ a owl:Restriction ; owl:onDataRange memorix:audienceExternal, memorix:audienceInternal ; owl:onProperty memorix:audience ; owl:qualifiedCardinality 1 ] ; owl:equivalentClass dct:Collection ; skos:example """ @prefix dct: . @prefix memorix: . @prefix recordtypes: . <> a memorix:Collection ; dct:description \"Collection of Persons and Organisations\" ; dct:title \"Persons & Organisations\" ; memorix:hasRecordtype recordtypes:All .""" . memorix:Context a owl:Class ; rdfs:comment "Memorix unit used as an entrypoint to all things related to an informationobject."@en ; rdfs:label "Context" ; rdfs:subClassOf memorix:Class, [ a owl:Restriction ; owl:onProperty dct:description ; owl:qualifiedCardinality 1 ; owl:someValuesFrom xsd:string ], [ a owl:Restriction ; owl:onClass memorix:Record ; owl:onProperty memorix:hasRecord ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onProperty dct:title ; owl:qualifiedCardinality 1 ; owl:someValuesFrom xsd:string ], [ a owl:Restriction ; owl:onProperty memorix:audience ; owl:oneOf (memorix:audienceInternal memorix:audienceExternal ) ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass memorix:Recordtype ; owl:onProperty dct:conformsTo ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass memorix:DepotLocationComponent ; owl:onProperty memorix:depotLocation ] . memorix:CoordinatesUIComponent a owl:Class ; rdfs:comment "What is this??" ; rdfs:range sh:Literal ; rdfs:subClassOf memorix:UIComponent . memorix:DatePickerUIComponent dct:conformsTo ; a owl:Class ; rdfs:comment "An editor for xsd:date literals, offering a calendar-like date picker." ; rdfs:range schema:Date ; rdfs:subClassOf memorix:UIComponent ; owl:equivalentClass dash:DatePickerEditor . memorix:DepotLocationComponent a owl:Class ; rdfs:comment "Depot location information, specific to memorix application." ; rdfs:domain memorix:Recordtype ; rdfs:label "DepotLocationComponent" ; rdfs:subClassOf memorix:InformationComponent, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty memorix:depotContainerEnd ], [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty memorix:depotContainerStart ], [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty memorix:depot ] . memorix:DigitalAssetComponent a owl:Class ; rdfs:domain memorix:Recordtype ; rdfs:subClassOf memorix:InformationComponent . memorix:ExternalResourcesUIComponent a owl:Class ; rdfs:comment "Used to link a record to one or more external resources." ; rdfs:range memorix:Record ; rdfs:subClassOf memorix:UIComponent . memorix:FloatNumberComponent a owl:Class ; rdfs:comment "An editor for nubers. Implicit used if sh:datatype = xsd:decimal" ; rdfs:range ; rdfs:subClassOf memorix:UIComponent . memorix:FloatUIComponent a owl:Class ; rdfs:comment "An editor for floats. Implicit used if sh:datatype = xsd:float" ; rdfs:range ; rdfs:subClassOf memorix:UIComponent . memorix:GeonamesUiComponent a owl:Class ; rdfs:comment "Component to link one or more Geonames resources to a Record" ; rdfs:range xsd:anyURI ; rdfs:subClassOf memorix:UIComponent . memorix:History a owl:Class ; rdfs:comment """The class of Actions performed on a resources by an Agent at a certain Time. Note there is also a ObjectProperty 'history' on Resources which is used for last modification and creation history.""" ; rdfs:label "History" ; rdfs:range owl:DatatypeProperty, owl:ObjectProperty ; rdfs:subClassOf memorix:Class, schema:Action, [ a owl:Restriction ; owl:onDataRange memorix:User ; owl:onProperty schema:agent ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onDataRange memorix:AccessibilityAndRightsComponent, memorix:Collection, memorix:Context, memorix:Set ; owl:onProperty schema:object ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onDataRange xsd:dateTime ; owl:onProperty schema:startTime ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onProperty schema:additionalType ; owl:oneOf (schema:AddAction schema:ReplaceAction schema:DeleteAction schema:UpdateAction ) ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onProperty schema:object ; owl:oneOf (memorix:Context memorix:Set memorix:Collection memorix:AccessibilityAndRightsComponent ) ; owl:qualifiedCardinality 1 ] . memorix:ImageComponent a owl:Class ; rdfs:domain memorix:Recordtype ; rdfs:subClassOf memorix:InformationComponent . memorix:InformationComponent a owl:Class . memorix:LinkRecordsUIComponent a owl:Class ; rdfs:comment "Used to link a record to one or more other Records." ; rdfs:range memorix:Record ; rdfs:subClassOf memorix:UIComponent . memorix:Record a owl:Class ; rdfs:comment "Recorded information that must be handled as a unit."@en, "Vastgelegde informatie die als eenheid moet worden behandeld."@nl ; rdfs:label "Record" ; rdfs:seeAlso ; rdfs:subClassOf memorix:Class, [ a owl:Restriction ; owl:onClass memorix:Context ; owl:onProperty memorix:hasContext ; owl:qualifiedCardinality 1 ] . memorix:Recordtype a owl:Class ; rdfs:comment """Record Types are the most commonly used way to categorize Records in your collection. The main guideline is to choose Record types that are broad enough so that an Record can never be more than one type (ie a painting can never also be an moving image). If you would like to describe your Records more specifically, you can supplement this categorization with an additional \"subtype\" dropdown menu on the record editor itself. For example, an object of type \"ephemera\" could have a subtype list of \"postcard,\" \"poster,\" \"letter,\" etc. A subtype list could potentially be repeatable, so you would have the opportunity to assign multiple subtypes if that's appropriate. Record types are described using SHACL Nodeshapes."""@en ; rdfs:label "Recordtype" ; rdfs:subClassOf memorix:Class ; owl:equivalentClass sh:NodeShape . memorix:ResultPagination a owl:Class ; rdfs:comment "Parent Class for pagination properties."@en ; rdfs:label "Pagination" ; rdfs:range owl:DatatypeProperty ; rdfs:subClassOf [ a owl:Restriction ; owl:onDataRange xsd:int ; owl:onProperty memorix:numberOfPages ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onDataRange xsd:int ; owl:onProperty memorix:page ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onDataRange xsd:int ; owl:onProperty memorix:perPage ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onDataRange xsd:int ; owl:onProperty memorix:total ; owl:qualifiedCardinality 1 ] . memorix:Set a owl:Class ; rdfs:comment """Sets are designed for temporary and arbitrary groupings of your Record, often for a practical task such as creating an online exhibition, or creating a working list of images for publication etc. Sets can contain Records from one or more Collections."""@en ; rdfs:label "Set" ; rdfs:range owl:DatatypeProperty, owl:ObjectProperty ; rdfs:subClassOf memorix:Class . memorix:Thingy dct:creator "Siergiej Onda" ; a owl:Thing ; rdfs:comment """The class of Memorix individuals that do not have a specific name, or have a name that no one can come up with during a meeting."""@en ; rdfs:label "Thingy" . memorix:TreePathComponent a owl:Class ; rdfs:comment "Render element to link a parent record and show a tree structure." ; rdfs:domain memorix:Recordtype ; rdfs:label "TreePathComponent" ; rdfs:subClassOf memorix:InformationComponent, [ a owl:Restriction ; owl:onProperty memorix:hasRecordtype ] . memorix:UIComponent a owl:Class ; rdfs:comment "Class for UI components that can be used in Recordtype"@en ; rdfs:label "UI Components"@en ; rdfs:seeAlso ; owl:equivalentClass dash:SingleEditor . memorix:accessModeDisplay a owl:ObjectProperty ; rdfs:comment "Allow display of attached assets."@en ; rdfs:domain schema:AccessibilityAndRightsComponent ; rdfs:label "accessModeDisplay" ; rdfs:range xsd:boolean ; rdfs:seeAlso ; owl:subClassOf memorix:AccessModeType . memorix:accessModeDownload a owl:ObjectProperty ; rdfs:comment "Allow download of attached assets."@en ; rdfs:domain schema:AccessibilityAndRightsComponent ; rdfs:label "accessModeDownload" ; rdfs:range xsd:boolean ; rdfs:seeAlso ; owl:subClassOf memorix:AccessModeType . memorix:accessModeReservation a owl:ObjectProperty ; rdfs:comment "Allow request/reservations."@en ; rdfs:domain schema:AccessibilityAndRightsComponent ; rdfs:label "accessModeReservation" ; rdfs:range xsd:boolean ; owl:subClassOf memorix:AccessModeType . memorix:accessModeScanningOnDemand a owl:ObjectProperty ; rdfs:comment "Allow scanning on demand."@en ; rdfs:domain schema:AccessibilityAndRightsComponent ; rdfs:label "accessModeScanningOnDemand" ; rdfs:range xsd:boolean ; owl:subClassOf memorix:AccessModeType . memorix:attributionRequired a owl:ObjectProperty ; rdfs:comment "If set to TRUE then it is required to show Creditstatement."@en ; rdfs:domain schema:AccessibilityAndRightsComponent ; rdfs:label "attributionRequired" ; rdfs:range xsd:boolean ; rdfs:seeAlso ; owl:subClassOf memorix:AccessModeType . memorix:audience a owl:ObjectProperty ; rdfs:comment """Property that makes a resource internal/external from the Application perspective. An external resource may never be published outside the Memorix Application. When used on a Shacl property (sh:property) this property may provide information for certain RDF statements that may not be published outside Memorix. """@en ; rdfs:domain memorix:Collection, memorix:Context, memorix:Recordtype, memorix:Set, skos:Concept, skos:ConceptScheme, sh:property ; rdfs:label "audience" ; owl:equivalentProperty dct:audience, schema:audience ; owl:oneOf (memorix:audienceInternal memorix:audienceExternal ) . memorix:audienceExternal a owl:NamedIndividual ; rdfs:comment "Indicates that something may be used outside of the Memorix application (to be used as value for audience predicate on Context)."@en ; rdfs:domain memorix:audience ; rdfs:label "audienceExternal" ; owl:inverseOf memorix:audienceInternal . memorix:audienceInternal a owl:NamedIndividual ; rdfs:comment "Indicates that something may not be used outside of the Memorix application (to be used as value for audience predicate on Context)."@en ; rdfs:label "audienceInternal" ; owl:inverseOf memorix:audienceExternal . memorix:conceptSchemeIn a owl:ObjectProperty ; rdfs:comment "Specifies a list of skos:ConceptSchemes that can be used for picking Concepts."@en ; rdfs:domain memorix:ExternalResourcesUIComponent ; rdfs:label "conceptSchemeIn" ; rdfs:range rdf:List . memorix:copyrightExpires a owl:DatatypeProperty ; rdfs:comment "Property that defines when the copyright expires."@en ; rdfs:domain memorix:Context ; rdfs:label "copyrightExpires" ; rdfs:range xsd:date . memorix:depot a owl:DatatypeProperty ; rdfs:comment "UUID of a Depot object registered in Memorix. Depots are not expressed as RDF Resources!", "UUID of a Depot object registred in Memorix. Depots are not expressed as RDF Resources!" ; rdfs:domain memorix:DepotLocationComponent ; rdfs:label "depot" ; rdfs:range xsd:string . memorix:depotContainerEnd a owl:DatatypeProperty ; rdfs:comment "UUID of a Depot Container that markes the end of a physical depot location of an object registered in Memorix. Containers are not expressed as RDF Resources!" ; rdfs:domain memorix:DepotLocationComponent ; rdfs:label "depotContainerEnd" ; rdfs:range xsd:string . memorix:depotContainerStart a owl:DatatypeProperty ; rdfs:comment "UUID of a Depot Container that markes the start of a physical depot location of an object registered in Memorix. Containers are not expressed as RDF Resources!" ; rdfs:domain memorix:DepotLocationComponent ; rdfs:label "depotContainerStart" ; rdfs:range xsd:string . memorix:hasAccessibilityAndRightsComponent a owl:ObjectProperty ; rdfs:comment "Links a AccessibilityAndRightsComponent to its Context"@en ; rdfs:domain memorix:Context ; rdfs:label "hasAccessibilityAndRightsComponent" ; rdfs:range memorix:AccessibilityAndRightsComponent ; owl:inverseOf memorix:hasContext . memorix:hasContext rdf:domain memorix:Set ; rdf:range memorix:Context ; a owl:ObjectProperty ; rdfs:comment "Links a Context object to a Record, AccessibilityAndRightsComponent or schema:DigitalDocument"@en ; rdfs:domain memorix:AccessibilityAndRightsComponent, memorix:Record ; rdfs:label "hasContext" ; rdfs:range memorix:Context ; owl:inverseOf memorix:hasAccessibilityAndRightsComponent, memorix:hasRecord, memorix:isPartOfSet . memorix:hasDigitalDocument a owl:ObjectProperty ; rdfs:comment "Collection of links to digital documents stored in Asset Manegement System."@en ; rdfs:domain memorix:Context ; rdfs:label "hasDigitalDocument" ; rdfs:range rdf:List . memorix:hasHistory a owl:ObjectProperty ; rdfs:comment "Links zero or more History reources to a Class"@en ; rdfs:domain memorix:AccessibilityAndRightsComponent, memorix:Collection, memorix:Context, memorix:Recordtype, memorix:Set ; rdfs:label "hasHistory" ; rdfs:range memorix:History ; owl:inverseOf schema:object . memorix:hasInformationComponent a owl:ObjectProperty ; rdfs:comment "Links an InformationComponent to a RecordType. Can be used as information for frontend rendering."@en ; rdfs:domain memorix:Recordtype ; rdfs:label "hasInformationComponent" ; rdfs:range memorix:InformationComponent . memorix:hasMedia rdf:domain memorix:Context ; a owl:ObjectProperty ; rdfs:comment "Links from a Record to Media (e.g. Nuxeo links, IIIF Manifest files, etc)"@en . memorix:hasRecord a owl:ObjectProperty ; rdfs:comment "Links a Record to its Context"@en, "RDF List of parents of other record contexts, starting with the root and ending with the parent attached to the record"@en ; rdfs:domain memorix:Context ; rdfs:label "hasParents", "hasRecord" ; rdfs:range memorix:Record, rdf:List ; owl:inverseOf memorix:hasContext . memorix:hasRecordtype a owl:ObjectProperty ; rdfs:comment "Marks a Recordtype as usable in a Collection"@en ; rdfs:domain memorix:Collection, memorix:TreePathComponent ; rdfs:label "hasRecordtype" ; rdfs:range memorix:Recordtype . memorix:history rdf:domain memorix:AccessibilityAndRightsComponent, memorix:Collection, memorix:Context, memorix:Set, skos:Concept, skos:ConceptScheme ; rdf:range schema:CreateAction, schema:ReplaceAction ; a owl:ObjectProperty ; rdfs:comment """Used for direct and limited (only creation and modification a.k.a. replacement) history on a Resource. There is also a full History log for Resources (memorix:History) link to a Resource by the Resources object property memorix:hasHistory"""@en . memorix:isDefaultDigitalDocument a owl:ObjectProperty ; rdfs:comment "If set to TRUE then a schema:DigitalDocument is the default Document for a Record."@en ; rdfs:domain schema:DigitalDocument ; rdfs:label "isDefaultDigitalDocument" ; rdfs:range xsd:boolean . memorix:isPartOfSet rdf:domain memorix:Context ; rdf:range memorix:Set ; a owl:ObjectProperty ; owl:inverseOf memorix:hasContext . memorix:numberOfItems a owl:DatatypeProperty ; rdfs:comment "Indicator for number of items (e.g. Records or Concepts) Sthat are contained by Sets, Collections and ConceptSchemes"@en ; rdfs:domain memorix:Collection, memorix:ConceptScheme, memorix:Set ; rdfs:label "numberOfItems" ; rdfs:range xsd:nonNegativeInteger . memorix:numberOfPages rdf:range xsd:int ; a owl:DatatypeProperty ; rdfs:comment "Total number of pages in result set." ; rdfs:domain memorix:ResultPagination ; rdfs:label "numberOfPages" . memorix:page rdf:range xsd:int ; a owl:DatatypeProperty ; rdfs:comment "Current page of result set (offset by 1)." ; rdfs:domain memorix:ResultPagination ; rdfs:label "page" . memorix:perPage rdf:range xsd:int ; a owl:DatatypeProperty ; rdfs:comment "Maximium number of items in page of a result set (a.k.a. as 'limit')." ; rdfs:domain memorix:ResultPagination ; rdfs:label "perPage" . memorix:restrictionsExpire a owl:DatatypeProperty ; rdfs:comment "Property that defines when a restriction to Conditions of Access expires."@en ; rdfs:domain memorix:Context ; rdfs:label "restrictionsExpire" ; rdfs:range xsd:date . memorix:searchWeight a owl:DatatypeProperty ; rdfs:comment "Relevance Tuning for Elastic: Weight. Each field has a possible weight of 0 to 10, 10 being the most substantial weight." ; rdfs:domain memorix:Recordtype ; rdfs:label "searchWeight" ; rdfs:range xsd:nonNegativeInteger ; rdfs:seeAlso ; owl:oneOf (0 1 2 3 4 5 6 7 8 9 10 ) . memorix:total rdf:range xsd:int ; a owl:DatatypeProperty ; rdfs:comment "Total number of items in a result set." ; rdfs:domain memorix:ResultPagination ; rdfs:label "total" . schema:DigitalDocument a owl:Class ; rdfs:label "DigitalDocument" ; rdfs:subClassOf [ a owl:Restriction ; rdfs:comment "Switch for indication that a Document should be used as a defauklt asset for a Record/Context" ; owl:maxCardinality 1 ; owl:onDataRange xsd:boolean ; owl:onProperty memorix:isDefaultDigitalDocument ], [ a owl:Restriction ; rdfs:comment "Filesize of document, Memorix always uses bytes as Int and not Text as Schema.org defines." ; owl:onDataRange xsd:int ; owl:onProperty schema:fileSize ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; rdfs:comment "The mimetype of the document" ; owl:onDataRange xsd:string ; owl:onProperty schema:encodingFormat ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; rdfs:comment "The document name in DAM (without extension)" ; owl:onDataRange xsd:string ; owl:onProperty schema:name ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onDataRange xsd:string ; owl:onProperty memorix:digitalDocumentId ; owl:qualifiedCardinality 1 ] . schema:accessMode a owl:ObjectProperty ; rdfs:domain memorix:Context ; rdfs:label "accessMode" ; rdfs:range memorix:AccessModeType . schema:copyrightHolder a owl:ObjectProperty ; rdfs:comment "Link to a Context/Record from Memorix"@en ; rdfs:domain memorix:Context ; rdfs:label "copyrightHolder" ; rdfs:range memorix:Context . schema:creditText a owl:DatatypeProperty ; rdfs:domain memorix:Context ; rdfs:label "creditText" ; rdfs:range xsd:string . schema:license a owl:DatatypeProperty ; rdfs:domain memorix:Context ; rdfs:label "license" ; rdfs:range xsd:anyURI . skos:Concept rdfs:subClassOf memorix:Class . skos:ConceptScheme rdfs:subClassOf memorix:Class .