@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix schema: <https://schema.org/> .
@prefix memorix: <https://memorix.io/ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix vann: <http://vocab.org/vann/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix shacl: <http://www.w3.org/ns/shacl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix dash: <http://datashapes.org/dash#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

skos:Concept
    rdfs:subClassOf memorix:Class .

skos:ConceptScheme
    rdfs:subClassOf memorix:Class .

<https://memorix.io/ontology#>
    dct:contributor "Memorix Development team" ;
    dct:created "2021-02-09T17:00:00+00:00"^^xsd:dateTime ;
    dct:creator [
        schema:email <file:///Users/mlindeman/Code/memorix/memorix-website/public/ontology/m.lindeman@picturae.com> ;
        schema:name "Mark Lindeman"
    ] ;
    dct:license <https://creativecommons.org/licenses/by-nc-sa/4.0/> ;
    dct:modified "2021-09-07T14:59:29+02:00"^^xsd:dateTime ;
    dct:publisher [
        schema:identifier <https://picturae.com> ;
        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" .

<https://memorix.io/ontology#: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:AccessModeType
    a owl:Class ;
    rdfs:comment "The Class of <em>accessMode…</em> <a href=#datatypeproperties>Datatype Properties</a> 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:maxCardinality 1 ;
        owl:onProperty memorix:restrictionsExpire ;
        owl:someValuesFrom xsd:date
    ], [
        a owl:Restriction ;
        owl:cardinality 1 ;
        owl:onProperty memorix:accessModeDownload ;
        owl:someValuesFrom xsd:boolean
    ], [
        a owl:Restriction ;
        owl:maxCardinality 1 ;
        owl:onProperty schema:conditionsOfAccess ;
        owl:someValuesFrom xsd:string
    ], [
        a owl:Restriction ;
        owl:maxCardinality 1 ;
        owl:onProperty schema:copyrightNotice ;
        owl:someValuesFrom xsd:string
    ], [
        a owl:Restriction ;
        owl:maxCardinality 1 ;
        owl:onProperty memorix:copyrightExpires ;
        owl:someValuesFrom xsd:date
    ], [
        a owl:Restriction ;
        owl:cardinality 1 ;
        owl:onProperty memorix:accessModeDisplay ;
        owl:someValuesFrom xsd:boolean
    ], [
        a owl:Restriction ;
        owl:maxCardinality 1 ;
        owl:onProperty schema:license ;
        owl:someValuesFrom xsd:anyURI
    ], [
        a owl:Restriction ;
        owl:maxCardinality 1 ;
        owl:onClass memorix:Context ;
        owl:onProperty schema:copyrightHolder
    ], [
        a owl:Restriction ;
        owl:cardinality 1 ;
        owl:onProperty memorix:accessModeReservation ;
        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:creditText ;
        owl:someValuesFrom xsd:string
    ], [
        a owl:Restriction ;
        owl:cardinality 1 ;
        owl:onProperty memorix:accessModeScanningOnDemand ;
        owl:someValuesFrom xsd:boolean
    ] .

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: <http://purl.org/dc/terms/> .
@prefix memorix: <http://memorix.io/ontology#> .
@prefix recordtypes: </resources/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 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:Record ;
        owl:onProperty memorix:hasRecord ;
        owl:qualifiedCardinality 1
    ] .

memorix:CoordinatesUIComponent
    a owl:Class ;
    rdfs:comment "What is this??" ;
    rdfs:range shacl:Literal ;
    rdfs:subClassOf memorix:UIComponent .

memorix:DatePickerUIComponent
    dct:conformsTo <https://en.wikipedia.org/wiki/ISO_8601> ;
    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 <https://www.w3.org/TR/xmlschema-2/#float> ;
    rdfs:subClassOf memorix:UIComponent .

memorix:FloatUIComponent
    a owl:Class ;
    rdfs:comment "An editor for floats. Implicit used if sh:datatype = xsd:float" ;
    rdfs:range <https://www.w3.org/TR/xmlschema-2/#float> ;
    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: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
    ], [
        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
    ] .

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 <https://www.nationaalarchief.nl/archiveren/kennisbank/informatieobject> ;
    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 shacl: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:currentPage ;
        owl:qualifiedCardinality 1
    ], [
        a owl:Restriction ;
        owl:onDataRange xsd:int ;
        owl:onProperty memorix:pageSize ;
        owl:qualifiedCardinality 1
    ], [
        a owl:Restriction ;
        owl:onDataRange xsd:int ;
        owl:onProperty memorix:resultsCount ;
        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:UIComponent
    a owl:Class ;
    rdfs:comment "Class for UI components that can be used in Recordtype"@en ;
    rdfs:label "UI Components"@en ;
    rdfs:seeAlso <http://datashapes.org/dash.html> ;
    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 <https://www.w3.org/TR/odrl-vocab/#term-display> ;
    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 <https://www.w3.org/TR/odrl-vocab/#term-archive> ;
    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 <https://creativecommons.org/ns#Attribution> ;
    owl:subClassOf memorix:AccessModeType .

memorix:audience
    a owl:ObjectProperty ;
    rdfs:comment """Property that makes a something internal/external from the Application perspective. 
  An external record may never be published outside the Memorix Application."""@en ;
    rdfs:domain skos:Concept, skos:ConceptScheme, memorix:Context ;
    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 <a href=#audience>audience</a> predicate on <a href=#Context>Context</a>)."@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 <a href=#audience>audience</a> predicate on <a href=#Context>Context</a>)."@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:currentPage
    rdf:range xsd:int ;
    a owl:DatatypeProperty ;
    rdfs:comment "Current page of result set (offset by 1)." ;
    rdfs:domain memorix:ResultPagination ;
    rdfs:label "currentPageIndex" .

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 its Record"@en ;
    rdfs:domain memorix:AccessibilityAndRightsComponent, memorix:Record ;
    rdfs:label "hasContext" ;
    rdfs:range memorix:Context ;
    owl:inverseOf memorix:hasAccessibilityAndRightsComponent, memorix:hasRecord, memorix:isPartOfSet .

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 ;
    rdfs:domain memorix:Context ;
    rdfs:label "hasRecord" ;
    rdfs:range memorix:Record ;
    owl:inverseOf memorix:hasContext .

memorix:hasRecordtype
    a owl:ObjectProperty ;
    rdfs:comment "Marks a Recordtype as usable in a Collection"@en ;
    rdfs:domain memorix:Collection ;
    rdfs:label "hasRecordtype" ;
    rdfs:range memorix:Recordtype .

memorix:history
    rdf:domain skos:Concept, skos:ConceptScheme, memorix:AccessibilityAndRightsComponent, memorix:Collection, memorix:Context, memorix:Set ;
    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 (<code><a href=#History>memorix:History</a></code>) 
  link to a Resource by the Resources object property <code><a href=#hasHistory>memorix:hasHistory</a></code>"""@en .

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:pageSize
    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 "pageSize" .

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:resultsCount
    rdf:range xsd:int ;
    a owl:DatatypeProperty ;
    rdfs:comment "Total number of items in a result set." ;
    rdfs:domain memorix:ResultPagination ;
    rdfs:label "resultCount" .

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 <https://www.elastic.co/guide/en/app-search/current/relevance-tuning-guide.html> ;
    owl:oneOf (1
        2
        3
        4
        5
        6
        7
        8
        9
        10
    ) .

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 .

