Memorix Application Ontology
contributor: Memorix Development team
created: 2021-02-09T17:00:00+00:00
creator: Mark Lindeman
license: https://creativecommons.org/licenses/by-nc-sa/4.0/
modified: 2021-11-29T16:34:14+01:00
publisher: Picturae
rights: © 2021-… Picturae, Heerhugowaard, the Netherlands
preferred namespace prefix: memorix
type: Ontology
comment: The Memorix Application Ontology describes Classes and Properties that are uses in Picturae's Collection Management System.

AccessModeType
type: Class
comment: The Class of accessMode… Datatype Properties that can be used to permit certain actions

AccessibilityAndRightsComponent
type: Class
comment: The class of information about Accessibility & Rights.
subclass of: InformationComponent
subclass of: Restriction
  cardinality: 1
  on property: accessModeReservation
  some values from: boolean
subclass of: Restriction
  max cardinality: 1
  on property: creditText
  some values from: string
subclass of: Restriction
  cardinality: 1
  on property: accessModeDisplay
  some values from: boolean
subclass of: Restriction
  max cardinality: 1
  on property: restrictionsExpire
  some values from: date
subclass of: Restriction
  max cardinality: 1
  on property: copyrightNotice
  some values from: string
subclass of: Restriction
  max cardinality: 1
  on property: license
  some values from: anyURI
subclass of: Restriction
  max cardinality: 1
  on class: Context
  on property: copyrightHolder
subclass of: Restriction
  cardinality: 1
  on property: accessModeScanningOnDemand
  some values from: boolean
subclass of: Restriction
  cardinality: 1
  on property: attributionRequired
  some values from: boolean
subclass of: Restriction
  cardinality: 1
  on property: accessModeDownload
  some values from: boolean
subclass of: Restriction
  max cardinality: 1
  on property: copyrightExpires
  some values from: date
subclass of: Restriction
  max cardinality: 1
  on property: conditionsOfAccess
  some values from: string

AudienceUIComponent
type: Class
comment: An editor for marking the audience status of a record. Only accepts memorix:internal or memorix:external
subclass of: UI Components
equivalent class: BooleanSelectEditor

BagUIComponent
type: Class
comment: What is this??
subclass of: UI Components

BooleanUIComponent
type: Class
comment: An editor for boolean literals, rendering as a select box with values true and false. Implicit used if sh:datatype = xsd:boolean
subclass of: UI Components
equivalent class: BooleanSelectEditor

Class
comment: Base Class for main Memorix Classes

Collection
type: Class
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.
subclass of: Class
subclass of: Restriction
  on data range: audienceExternal
  on data range: audienceInternal
  on property: audience
  qualified cardinality: 1
equivalent class: Collection
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 .

Context
type: Class
comment: Memorix unit used as an entrypoint to all things related to an informationobject.
subclass of: Class
subclass of: Restriction
  on property: audience
  one of: audienceInternal
  one of: audienceExternal
  qualified cardinality: 1
subclass of: Restriction
  on property: title
  qualified cardinality: 1
  some values from: string
subclass of: Restriction
  on class: Record
  on property: hasRecord
  qualified cardinality: 1
subclass of: Restriction
  on class: DepotLocationComponent
  on property: depotLocation
subclass of: Restriction
  on class: Recordtype
  on property: conformsTo
  qualified cardinality: 1
subclass of: Restriction
  on property: description
  qualified cardinality: 1
  some values from: string

CoordinatesUIComponent
type: Class
comment: What is this??
range: Literal
subclass of: UI Components

DatePickerUIComponent
conforms to: ISO 8601
type: Class
comment: An editor for xsd:date literals, offering a calendar-like date picker.
range: Date
subclass of: UI Components
equivalent class: DatePickerEditor

DepotLocationComponent
type: Class
comment: Depot location information, specific to memorix application.
domain: Recordtype
subclass of: InformationComponent
subclass of: Restriction
  max cardinality: 1
  on property: depotContainerEnd
subclass of: Restriction
  cardinality: 1
  on property: depotContainerStart
subclass of: Restriction
  cardinality: 1
  on property: depot

ExternalResourcesUIComponent
type: Class
comment: Used to link a record to one or more external resources.
range: Record
subclass of: UI Components

FloatNumberComponent
type: Class
comment: An editor for nubers. Implicit used if sh:datatype = xsd:decimal
range: float
subclass of: UI Components

FloatUIComponent
type: Class
comment: An editor for floats. Implicit used if sh:datatype = xsd:float
range: float
subclass of: UI Components

GeonamesUiComponent
type: Class
comment: Component to link one or more Geonames resources to a Record
range: anyURI
subclass of: UI Components

History
type: Class
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.
range: DatatypeProperty
range: ObjectProperty
subclass of: Class
subclass of: Action
subclass of: Restriction
  on property: object
  one of: Context
  one of: Set
  one of: Collection
  one of: AccessibilityAndRightsComponent
  qualified cardinality: 1
subclass of: Restriction
  on data range: User
  on property: agent
  qualified cardinality: 1
subclass of: Restriction
  on property: additionalType
  one of: AddAction
  one of: ReplaceAction
  one of: DeleteAction
  one of: UpdateAction
  qualified cardinality: 1
subclass of: Restriction
  on data range: dateTime
  on property: startTime
  qualified cardinality: 1
subclass of: Restriction
  on data range: AccessibilityAndRightsComponent
  on data range: Collection
  on data range: Context
  on data range: Set
  on property: object
  qualified cardinality: 1

LinkRecordsUIComponent
type: Class
comment: Used to link a record to one or more other Records.
range: Record
subclass of: UI Components

Record
type: Class
comment: Recorded information that must be handled as a unit.
comment: Vastgelegde informatie die als eenheid moet worden behandeld. @nl
subclass of: Class
subclass of: Restriction
  on class: Context
  on property: hasContext
  qualified cardinality: 1

Recordtype
type: Class
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.
subclass of: Class
equivalent class: NodeShape

Pagination
type: Class
comment: Parent Class for pagination properties.
range: DatatypeProperty
subclass of: Restriction
  on data range: int
  on property: numberOfPages
  qualified cardinality: 1
subclass of: Restriction
  on data range: int
  on property: page
  qualified cardinality: 1
subclass of: Restriction
  on data range: int
  on property: perPage
  qualified cardinality: 1
subclass of: Restriction
  on data range: int
  on property: total
  qualified cardinality: 1

Set
type: Class
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.
range: DatatypeProperty
range: ObjectProperty
subclass of: Class

Thingy
creator: Siergiej Onda
type: Thing
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.

UI Components
type: Class
comment: Class for UI components that can be used in Recordtype
equivalent class: SingleEditor

accessModeDisplay
type: ObjectProperty
comment: Allow display of attached assets.
domain: AccessibilityAndRightsComponent
range: boolean
sub class of: AccessModeType

accessModeDownload
type: ObjectProperty
comment: Allow download of attached assets.
domain: AccessibilityAndRightsComponent
range: boolean
sub class of: AccessModeType

accessModeReservation
type: ObjectProperty
comment: Allow request/reservations.
domain: AccessibilityAndRightsComponent
range: boolean
sub class of: AccessModeType

accessModeScanningOnDemand
type: ObjectProperty
comment: Allow scanning on demand.
domain: AccessibilityAndRightsComponent
range: boolean
sub class of: AccessModeType

attributionRequired
type: ObjectProperty
comment: If set to TRUE then it is required to show Creditstatement.
domain: AccessibilityAndRightsComponent
range: boolean
sub class of: AccessModeType

audience
type: ObjectProperty
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.
domain: Collection
domain: Context
domain: Recordtype
domain: Set
domain: Concept
domain: ConceptScheme
domain: property
equivalent property: audience
one of: audienceInternal
one of: audienceExternal

audienceExternal
type: NamedIndividual
comment: Indicates that something may be used outside of the Memorix application (to be used as value for audience predicate on Context).
domain: audience
inverse of: audienceInternal

audienceInternal
type: NamedIndividual
comment: Indicates that something may not be used outside of the Memorix application (to be used as value for audience predicate on Context).
inverse of: audienceExternal

conceptSchemeIn
type: ObjectProperty
comment: Specifies a list of skos:ConceptSchemes that can be used for picking Concepts.
domain: ExternalResourcesUIComponent
range: List

copyrightExpires
type: DatatypeProperty
comment: Property that defines when the copyright expires.
domain: Context
range: date

depot
type: DatatypeProperty
comment: UUID of a Depot object registered in Memorix. Depots are not expressed as RDF Resources!
comment: UUID of a Depot object registred in Memorix. Depots are not expressed as RDF Resources!
domain: DepotLocationComponent
range: string

depotContainerEnd
type: DatatypeProperty
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!
domain: DepotLocationComponent
range: string

depotContainerStart
type: DatatypeProperty
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!
domain: DepotLocationComponent
range: string

hasAccessibilityAndRightsComponent
type: ObjectProperty
comment: Links a AccessibilityAndRightsComponent to its Context
domain: Context
range: AccessibilityAndRightsComponent
inverse of: hasContext

hasContext
domain: Set
range: Context
type: ObjectProperty
comment: Links a Context object to a Record, AccessibilityAndRightsComponent or schema:DigitalDocument
domain: AccessibilityAndRightsComponent
domain: Record
inverse of: hasAccessibilityAndRightsComponent
inverse of: hasRecord
inverse of: isPartOfSet

hasDigitalDocument
type: ObjectProperty
comment: Collection of links to digital documents stored in Asset Manegement System.
domain: Context
range: List

hasHistory
type: ObjectProperty
comment: Links zero or more History reources to a Class
domain: AccessibilityAndRightsComponent
domain: Collection
domain: Context
domain: Recordtype
domain: Set
range: History
inverse of: object

hasInformationComponent
type: ObjectProperty
comment: Links an InformationComponent to a RecordType. Can be used as information for frontend rendering.
domain: Recordtype
range: InformationComponent

hasMedia
domain: Context
type: ObjectProperty
comment: Links from a Record to Media (e.g. Nuxeo links, IIIF Manifest files, etc)

hasRecord
type: ObjectProperty
comment: Links a Record to its Context
domain: Context
range: Record
inverse of: hasContext

hasRecordtype
type: ObjectProperty
comment: Marks a Recordtype as usable in a Collection
domain: Collection
range: Recordtype

history
domain: AccessibilityAndRightsComponent
domain: Collection
domain: Context
domain: Set
domain: Concept
domain: ConceptScheme
range: CreateAction
range: ReplaceAction
type: ObjectProperty
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

isDefaultDigitalDocument
type: ObjectProperty
comment: If set to TRUE then a schema:DigitalDocument is the default Document for a Record.
domain: DigitalDocument
range: boolean

numberOfItems
type: DatatypeProperty
comment: Indicator for number of items (e.g. Records or Concepts) Sthat are contained by Sets, Collections and ConceptSchemes
domain: Collection
domain: ConceptScheme
domain: Set
range: nonNegativeInteger

numberOfPages
range: int
type: DatatypeProperty
comment: Total number of pages in result set.
domain: Pagination

page
range: int
type: DatatypeProperty
comment: Current page of result set (offset by 1).
domain: Pagination

perPage
range: int
type: DatatypeProperty
comment: Maximium number of items in page of a result set (a.k.a. as 'limit').
domain: Pagination

restrictionsExpire
type: DatatypeProperty
comment: Property that defines when a restriction to Conditions of Access expires.
domain: Context
range: date

searchWeight
type: DatatypeProperty
comment: Relevance Tuning for Elastic: Weight. Each field has a possible weight of 0 to 10, 10 being the most substantial weight.
domain: Recordtype
range: nonNegativeInteger
one of: 0
one of: 1
one of: 2
one of: 3
one of: 4
one of: 5
one of: 6
one of: 7
one of: 8
one of: 9
one of: 10

total
range: int
type: DatatypeProperty
comment: Total number of items in a result set.
domain: Pagination

DigitalDocument
type: Class
subclass of: Restriction
  comment: Switch for indication that a Document should be used as a defauklt asset for a Record/Context
  max cardinality: 1
  on data range: boolean
  on property: isDefaultDigitalDocument
subclass of: Restriction
  comment: Filesize of document, Memorix always uses bytes as Int and not Text as Schema.org defines.
  on data range: int
  on property: fileSize
  qualified cardinality: 1
subclass of: Restriction
  comment: The mimetype of the document
  on data range: string
  on property: encodingFormat
  qualified cardinality: 1
subclass of: Restriction
  comment: The document name in DAM (without extension)
  on data range: string
  on property: name
  qualified cardinality: 1
subclass of: Restriction
  on data range: string
  on property: digitalDocumentId
  qualified cardinality: 1

accessMode
type: ObjectProperty
domain: Context
range: AccessModeType

copyrightHolder
type: ObjectProperty
comment: Link to a Context/Record from Memorix
domain: Context
range: Context

creditText
type: DatatypeProperty
domain: Context
range: string

license
type: DatatypeProperty
domain: Context
range: anyURI