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

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

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

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

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

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

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

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

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

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

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

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

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

Class
comment: Base Class for main Memorix Classes

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

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

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

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

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

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

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

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

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

creditText
type: DatatypeProperty
range: string
domain: Context

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

license
type: DatatypeProperty
range: anyURI
domain: Context

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

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

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

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

DepotLocationComponent
type: Class
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
subclass of: InformationComponent
comment: Depot location information, specific to memorix application.
domain: Recordtype

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

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

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

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

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

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

Audience
type: ObjectProperty
domain: Concept
domain: ConceptScheme
one of: audienceInternal
one of: audienceExternal
equivalent property: audience
comment: Property that makes a something internal/external from the Application perspective. An external record may never be published outside the Memorix Application.
domain: Context

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

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

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

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

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

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

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

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
equivalent class: BooleanSelectEditor
subclass of: UI Components

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

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

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

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

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

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

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

accessMode
type: ObjectProperty
range: AccessModeType
domain: Context

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

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

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

searchWeight
type: DatatypeProperty
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
range: nonNegativeInteger
domain: Recordtype
comment: Relevance Tuning for Elastic: Weight. Each field has a possible weight of 0 to 10, 10 being the most substantial weight.

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