Memorix Application Ontology
type: Ontology
rights: © 2021-… Picturae, Heerhugowaard, the Netherlands
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: 2022-08-25T16:57:26+02:00
license: https://creativecommons.org/licenses/by-nc-sa/4.0/
preferred namespace prefix: memorix
publisher: Picturae
creator: Mark Lindeman
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.

Organization
type: Class
subclass of: Organization
comment: The Organization making use of a specific Memorix instance.

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.

AudienceInternal
type: Class
domain: audience
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).

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

AudienceExternal
type: Class
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).

BAG Editor
type: Class
domain: Recordtype
comment: Editor for selecting a BAG Location.

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 default 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.

Class
comment: Base Class for main Memorix Classes

AccessibilityAndRightsComponent
type: Class
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: copyrightExpires
subclass of: Restriction
  some values from: boolean
  cardinality: 1
  on property: attributionRequired
subclass of: Restriction
  some values from: string
  max cardinality: 1
  on property: conditionsOfAccess
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
  some values from: boolean
  cardinality: 1
  on property: accessModeScanningOnDemand
subclass of: Restriction
  some values from: date
  max cardinality: 1
  on property: restrictionsExpire
comment: The class of information about Accessibility & Rights.
subclass of: Restriction
  some values from: anyURI
  max cardinality: 1
  on property: license
subclass of: Restriction
  on class: Context
  max cardinality: 1
  on property: copyrightHolder
subclass of: InformationComponent
subclass of: Restriction
  some values from: boolean
  cardinality: 1
  on property: accessModeDisplay
subclass of: Restriction
  some values from: boolean
  cardinality: 1
  on property: accessModeReservation

creditText
type: DatatypeProperty
range: string
domain: Context

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

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

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

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

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

Context
type: Class
subclass of: Class
subclass of: Restriction
  on class: Record
  qualified cardinality: 1
  on property: hasParents
subclass of: Restriction
  on class: Recordtype
  qualified cardinality: 1
  on property: conformsTo
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
  some values from: string
  qualified cardinality: 1
  on property: title
subclass of: Restriction
  on class: DepotLocationComponent
  on property: depotLocation
subclass of: Restriction
  some values from: string
  qualified cardinality: 1
  on property: description

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

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

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

Coordinates Editor
type: Class
domain: Recordtype
comment: Editor for selecting a Coordinates Location.

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

Integer date editor
type: Class
domain: Recordtype
comment: An editor for integer date literals, e.g. 20081201.

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!

Container path editor
type: Class
domain: Recordtype
comment: Editor for managing the path of a container.

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.

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

hasParents
type: ObjectProperty
range: List
comment: RDF List of parents of other record contexts, starting with the root and ending with the parent attached to the record
inverse of: hasContext
range: Record
domain: Context
comment: Links a Record to its Context
label: hasRecord

Linked Record Editor
type: Class
domain: Recordtype
comment: Editor for linking to Memorix Nexus internal records.

Vocabulary Editor
type: Class
domain: Recordtype
comment: Editor for linking to a concept in a conceptscheme.

GeoCoordinates
type: Class
subclass of: Restriction
  on data range: IRI
  on property: sameAs
subclass of: Restriction
  on data range: decimal
  qualified cardinality: 1
  on property: longitude
subclass of: Restriction
  on data range: decimal
  qualified cardinality: 1
  on property: latitude
subclass of: Restriction
  on data range: string
  qualified cardinality: 1
  on property: name
subclass of: GeoCoordinates
range: DatatypeProperty
comment: Class for storing GeoCoordinates data.

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

TreePathComponent
type: Class
subclass of: Restriction
  on property: hasRecordtype
subclass of: InformationComponent
comment: Render element to link a parent record and show a tree structure.
domain: Recordtype

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

accessMode
type: ObjectProperty
range: AccessModeType
domain: Context

constructQueryTitleAndDescription
type: ObjectProperty
range: string
domain: Recordtype
comment: Sets a SPARQL CONSTRUCT on a Recordtype to create titles and descriptions of memorix:Context. Expects a dcterms:title and dcterms:decription predicates.

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

inTitleAt
type: ObjectProperty
range: float
domain: PropertyShape
comment: Indicates that a sh:property is part of the title of memorix:Context

inSummaryAt
type: ObjectProperty
range: float
domain: PropertyShape
comment: Indicates that a sh:property is part of the description of memorix:Context

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

conceptSchemeIn
type: ObjectProperty
range: List
domain: Vocabulary Editor
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.

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

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

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.