Music Annotation Pattern
type: Ontology
version IRI: http://purl.org/andreapoltronieri/music-annotation-pattern/0.1/
creator: Andrea Poltronieri
creator: Jacopo de Berardinis
creator: Valentina Presutti
license: https://creativecommons.org/licenses/by-sa/4.0/
comment: An Ontology Design Pattern (ODP) for modelling differnt types of musical annotation
version info: 1.0

Has Annotator
type: ObjectProperty
inverse of: Is Annotator Of
domain: Annotation
range: Annotator
comment: Links a annotation to the Annotator the annotated the file .

Has Annotator Type
type: ObjectProperty
inverse of: Is Annotator Type Of
domain: Annotator
range: Annotator Type
property disjoint with: Has Annotation
property disjoint with: Includes Observation
property disjoint with: Is Annotator Type Of
property disjoint with: Is Annotation Of
property disjoint with: Is Observation Of
comment: Links the Annotator class to its Annotator Type, describing how the Annotations were generated.

Has Annotation
type: ObjectProperty
inverse of: Is Annotation Of
type: InverseFunctionalProperty
domain: Musical Object
range: Annotation
property disjoint with: Includes Observation
property disjoint with: Is Annotator Type Of
property disjoint with: Is Annotation Of
property disjoint with: Is Observation Of
comment: Relates a Score or a Recording to the annotation describing the track.

Has Music Time Duration
type: ObjectProperty
inverse of: Is Music Time Duration Of
domain: Music Time Interval
range: Music Time Duration

Has Music Time Index
type: ObjectProperty
inverse of: Is Music Time Index Of
domain: Music Time Interval
range: Music Time Index

Has Music Time Index Component
type: ObjectProperty
domain: Music Time Index
range: Music TIme Index Component

Has Music Time Interval
type: ObjectProperty
inverse of: Is Music Time Interval Of
domain: Class
  union of: Annotation
  union of: JAMS Observation
range: Music Time Interval

Has Music Time Value Type
type: ObjectProperty
domain: Class
  union of: Music Time Duration
  union of: Music TIme Index Component
range: Music Time Value Type

Has Value
type: ObjectProperty
inverse of: Is Value Of
type: InverseFunctionalProperty
domain: JAMS Observation
range: Chord
comment: It links an Observation to its ObservationValue.

Includes Observation
type: ObjectProperty
inverse of: Is Observation Of
type: InverseFunctionalProperty
domain: Annotation
range: JAMS Observation
property disjoint with: Is Annotator Type Of
property disjoint with: Is Annotation Of
property disjoint with: Is Observation Of
comment: Links a Annotation to the Onservation(s) it contains.

Is Annotator Of
type: ObjectProperty
domain: Annotator
range: Annotation
property chain axiom: Includes Observation
comment: Inverse of hasAnnotator. Links the Annotator to the Annotation annotated by such annotator.

Is Annotator Type Of
type: ObjectProperty
domain: Annotator Type
range: Annotator
property disjoint with: Is Annotation Of
property disjoint with: Is Observation Of
comment: Inverse of hasAnnotatorType. Links the Annotator Type to the Annotator class.

Is Annotation Of
type: ObjectProperty
type: FunctionalProperty
domain: Annotation
range: Musical Object
property disjoint with: Is Observation Of
comment: Inverse of hasAnnotation. It links the Annotation to either a Recording o a Score.

Is Observation Of
type: ObjectProperty
type: FunctionalProperty
domain: JAMS Observation
range: Annotation
comment: Inverse of includesObservation. Links a Observation to the Annotation to which it belongs.

Is Music Time Duration Of
type: ObjectProperty
domain: Music Time Duration
range: Music Time Interval

Is Music Time Index Component Of
type: ObjectProperty
domain: Music TIme Index Component
range: Music Time Index

Is Music Time Index Of
type: ObjectProperty
domain: Music Time Index
range: Music Time Interval

Is Music Time Interval Of
type: ObjectProperty
domain: Music Time Interval
range: Class
  union of: Annotation
  union of: JAMS Observation

Is Value Of
type: ObjectProperty
type: FunctionalProperty
domain: Chord
range: JAMS Observation
comment: Inverse of hasValue. It relates an ObservationValue to the belonging Observation.

Has Confidence
type: DatatypeProperty
type: FunctionalProperty
domain: JAMS Observation
range: float
property disjoint with: Has Name
comment: The confidence of an annotation/observation, expressed with a floating number from 0 to 1.

Has Duration Value
type: DatatypeProperty
type: FunctionalProperty
domain: Music Time Duration
range: Literal

Has Name
type: DatatypeProperty
domain: Annotator
range: string
comment: The name of an annotator, which can be either human, artificial (e.g. the name of a software) or describing a group of people (e.g. the name of a crowdsourcing service/event).

Has Time Value
type: DatatypeProperty
type: FunctionalProperty
domain: Music TIme Index Component
range: Literal

Annotator
type: Class
subclass of: Restriction
  on property: Has Annotator Type
  all values from: Annotator Type
subclass of: Restriction
  on property: Has Name
  all values from: string
disjoint with: Annotator Type
disjoint with: Annotation
disjoint with: JAMS Observation
disjoint with: Music Time Duration
disjoint with: Music Time Index
disjoint with: Music TIme Index Component
disjoint with: Music Time Interval
disjoint with: Music Time Value Type
comment: The annotator of a annotation, whether understood as a physical person or as a machine that has performed an automatic transcription.

Annotator Type
type: Class
subclass of: Restriction
  on property: Is Annotator Of
  all values from: Annotator
disjoint with: Annotation
disjoint with: JAMS Observation
disjoint with: Music Time Duration
disjoint with: Music Time Index
disjoint with: Music TIme Index Component
disjoint with: Music Time Interval
disjoint with: Music Time Value Type
comment: The type of annotator of an annotation, whether human or the result of an automatic or crowdsourced annotation.

Audio Annotation
type: Class
subclass of: Annotation
subclass of: Restriction
  on property: Includes Observation
  some values from: Audio Observation
subclass of: Restriction
  on property: Includes Observation
  min qualified cardinality: 1
  on class: Audio Observation
comment: An annotation extracted from audio.

Audio Observation
type: Class
subclass of: JAMS Observation
subclass of: Restriction
  on property: Is Observation Of
  all values from: Audio Annotation
disjoint with: Score Observation
comment: A observation defined on the audio signal, i.e. described from a temporal point of view using real time, usually expressed in seconds.

Annotation
type: Class
subclass of: Restriction
  on property: Has Music Time Interval
  some values from: Music Time Interval
subclass of: Restriction
  on property: Has Annotator
  all values from: Annotator
subclass of: Restriction
  on property: Includes Observation
  all values from: JAMS Observation
subclass of: Restriction
  on property: Is Annotation Of
  all values from: Musical Object
subclass of: Restriction
  on property: Includes Observation
  min qualified cardinality: 1
  on class: JAMS Observation
subclass of: Restriction
  on property: Has Music Time Interval
  qualified cardinality: 1
  on class: Music Time Interval
subclass of: Restriction
  on property: Is Annotation Of
  qualified cardinality: 1
  on class: Musical Object
disjoint with: JAMS Observation
disjoint with: Chord
disjoint with: Music Time Duration
disjoint with: Music Time Index
disjoint with: Music TIme Index Component
disjoint with: Music Time Interval
disjoint with: Music Time Value Type
comment: A group of observations that share the same type of annotation (e.g. score or audio) and the same syntax with which the annotation is expressed.

JAMS Observation
type: Class
subclass of: Restriction
  on property: Has Music Time Interval
  some values from: Music Time Interval
subclass of: Restriction
  on property: Has Value
  all values from: Chord
subclass of: Restriction
  on property: Is Observation Of
  all values from: Annotation
subclass of: Restriction
  on property: Has Music Time Interval
  qualified cardinality: 1
  on class: Music Time Interval
subclass of: Restriction
  on property: Has Value
  qualified cardinality: 1
  on class: Chord
subclass of: Restriction
  on property: Is Observation Of
  qualified cardinality: 1
  on class: Annotation
subclass of: Restriction
  on property: Has Confidence
  all values from: float
subclass of: Restriction
  on property: Has Confidence
  qualified cardinality: 1
  on data range: float
disjoint with: Chord
disjoint with: Music Time Duration
disjoint with: Music Time Index
disjoint with: Music TIme Index Component
disjoint with: Music Time Interval
disjoint with: Music Time Value Type
comment: An observation of the annotation, understood as an event defined in time (both real and symbolic) that has a value (e.g. a specific agreement) and a precise duration.

Chord
type: Class
subclass of: Restriction
  on property: Is Value Of
  all values from: JAMS Observation
subclass of: Restriction
  on property: Is Value Of
  min qualified cardinality: 1
  on class: JAMS Observation
disjoint with: Music Time Duration
disjoint with: Music Time Index
disjoint with: Music TIme Index Component
disjoint with: Music Time Interval
disjoint with: Music Time Value Type
comment: The value of an Observation.

Music Time Duration
type: Class
subclass of: Restriction
  on property: Has Music Time Value Type
  all values from: Music Time Value Type
subclass of: Restriction
  on property: Has Music Time Value Type
  qualified cardinality: 1
  on class: Music Time Value Type
subclass of: Restriction
  on property: Has Duration Value
  all values from: Literal
subclass of: Restriction
  on property: Has Duration Value
  cardinality: 1
disjoint with: Music Time Index
disjoint with: Music TIme Index Component
disjoint with: Music Time Interval
disjoint with: Music Time Value Type
disjoint with: Musical Object

Music Time Index
type: Class
subclass of: Restriction
  on property: Has Music Time Index Component
  all values from: Music TIme Index Component
subclass of: Restriction
  on property: Has Music Time Index Component
  min qualified cardinality: 1
  on class: Music TIme Index Component
disjoint with: Music TIme Index Component
disjoint with: Music Time Interval
disjoint with: Music Time Value Type
disjoint with: Musical Object

Music TIme Index Component
type: Class
subclass of: Restriction
  on property: Has Music Time Value Type
  all values from: Music Time Value Type
subclass of: Restriction
  on property: Has Music Time Value Type
  qualified cardinality: 1
  on class: Music Time Value Type
subclass of: Restriction
  on property: Has Time Value
  all values from: Literal
subclass of: Restriction
  on property: Has Time Value
  cardinality: 1
disjoint with: Music Time Interval
disjoint with: Music Time Value Type
disjoint with: Musical Object

Music Time Interval
type: Class
subclass of: Restriction
  on property: Has Music Time Duration
  all values from: Music Time Duration
subclass of: Restriction
  on property: Has Music Time Index
  all values from: Music Time Index
subclass of: Restriction
  on property: Has Music Time Duration
  qualified cardinality: 1
  on class: Music Time Duration
subclass of: Restriction
  on property: Has Music Time Index
  qualified cardinality: 1
  on class: Music Time Index
disjoint with: Music Time Value Type
disjoint with: Musical Object

Music Time Value Type
type: Class
disjoint with: Musical Object

Musical Object
type: Class
subclass of: Restriction
  on property: Has Annotation
  all values from: Annotation
subclass of: Restriction
  on property: Has Annotation
  min qualified cardinality: 1
  on class: Annotation
comment: The source of the annotation. For musical objects, in this context, we refer to a concept generalising over audio tracks and scores.

Score Annotation
type: Class
subclass of: Annotation
subclass of: Restriction
  on property: Includes Observation
  some values from: Score Observation
subclass of: Restriction
  on property: Includes Observation
  min qualified cardinality: 1
  on class: Score Observation
comment: An annotation extracted from a symbolic music representation.

Score Observation
type: Class
subclass of: JAMS Observation
subclass of: Restriction
  on property: Is Observation Of
  all values from: Score Annotation
comment: A observation defined on a symbolic notation or on a music score, i.e. described from a temporal point of view using references to symbolic elements defined by the notation itself.