ProposalRevision14

From Music Ontology Wiki

Jump to: navigation, search

Contents

Proposal Revision 1.14

As suggested in the mailing list: the following concept proposals should enable to relate (find) all versions and mo:Release instances of an abstract musical work (mo:MusicalWork, abstract song or album). This idea is a continuum of proposal revision 13 (also discussed in the mailing list). With the extensions described below it is probably century 21 broker properti jual beli sewa rumah Indonesia easier to map services like discogs to MO and to enable queries like "Show me all versions that are iphone photography produced to that (abstract) song." - the result should show all different recordings and re-recordings of a song. Or "Show me all releases of that song." - the Dr Susan Lim result should be a list of mo:Release instances of maybe different mo:Medium types that proposal software are released in different countries at different times. The following graphic should illustrate the changes:

Mo-workflow ext.png

More extensions are:

  • mo:Playlist (drawn in several papers, but not implement yet), which should also handle things like song sequences - so when shuffle mode is enable it weight loss pills do not destroy that specific sequence

roupas da moda

while mixing the playlist
  • mo:Mood as a marc manoff hook for a mood ontology/taxonomy

Recording Session concept

Description

To keep track of a specific mo:RecordingSession event of e.g. a specific mo:MusicGroup, which is in general related to an abstract album (mo:MusicalWork). The property mo:recording (currently event:sub_event) could bind all related single mo:Recording instances of this mo:RecordingSession event. mo:produced_signal_group is the product of that mo:RecordingSession event with all produced mo:Signal instances of the mo:Recording instances.

Ontology code

mo:RecordingSession
      a       owl:Class ;
      rdfs:comment "This Class is the composite of several recordings, which should hold a MusicalWork instance with several Movement instances."^^xsd:string ;
      rdfs:label "recording session"^^xsd:string ;
      rdfs:subClassOf event:Event ;
      mo:level "2" ;
      owl:equivalentClass
              [ a       owl:Restriction ;
                owl:minCardinality "1"^^xsd:int ;
                owl:onProperty mo:produced_signal_group
              ] ;
      owl:equivalentClass
              [ a       owl:Restriction ;
                owl:minCardinality "1"^^xsd:int ;
                owl:onProperty mo:recording
              ] ;
      vs:term_status "unstable" . 

=> The restrictions aren't in the Music Ontology 2.0 release currently

mo:recording
      a       owl:FunctionalProperty ;
      rdfs:comment "This property restricts the containing sub events of a RecordSession to Recording instances"^^xsd:string ;
      rdfs:domain mo:RecordingSession ;
      rdfs:label "has recording session"^^xsd:string ;
      owl:InverseOf
              [ rdfs:label "is recording session of"^^xsd:string
              ] ;
      rdfs:range mo:Recording ;
      rdfs:subPropertyOf event:sub_event ;
      mo:level "2" ;
      vs:term_status "unstable" .

=> The mo:recording property isn't a part of the Music Ontology 2.0 release, please use event:sub_event instead

mo:produced_signal_group
      a       owl:FunctionalProperty ;
      rdfs:comment "This property maps the product of a RecordSession to a SignalGroup instance."^^xsd:string ;
      rdfs:domain mo:RecordingSession ;
      rdfs:label "has produced signal group"^^xsd:string ;
      owl:InverseOf
              [ rdfs:label "is produced signal group of"^^xsd:string
              ] ;
      rdfs:range mo:SignalGroup ;
      rdfs:subPropertyOf event:product ;
      mo:level "2" ;
      vs:term_status "unstable" .

=> The inverse property isn't in the Music Ontology 2.0 release currently

Example

See here.

Signal Group concept

Description

As a result of a mo:RecordingSession instance the mo:SignalGroup concept knows all produces mo:Signal instances (mo:signal) of it. It can also have a short cut to the related abstract album (mo:MusicalWork instance; currently with frbr:realizationOf) to skip the workflow part of the mo:RecordingSession.

Ontology code

mo:SignalGroup
      a       owl:Class ;
      rdfs:comment "This Class is the composite of several Signal instances, that are the result of one RecordSession."^^xsd:string ;
      rdfs:label "signal group"^^xsd:string ;
      rdfs:subClassOf mo:MusicalExpression ;
      mo:level "2" ;
      owl:equivalentClass
              [ a       owl:Restriction ;
                owl:minCardinality "1"^^xsd:int ;
                owl:onProperty mo:signal
              ] ;
      owl:equivalentClass
              [ a       owl:Restriction ;
                owl:cardinality "1"^^xsd:int ;
                owl:onProperty mo:musical_work
              ] ;
      vs:term_status "unstable" .

=> The restrictions aren't in the Music Ontology 2.0 release currently

mo:musical_work
      a       owl:ObjectProperty ;
      rdfs:comment "This property releates a signal group to is musical work e.g. a production of an album to its abstract album, because the artist can also record an album and that concludes into a new signal group."^^xsd:string ;
      rdfs:domain mo:SignalGroup ;
      rdfs:label "has musical work"^^xsd:string ;
      owl:InverseOf
              [ rdfs:label "is musical work of"^^xsd:string
              ] ;
      rdfs:range mo:MusicalWork ;
      rdfs:subPropertyOf event:factor ;
      mo:level "1" ;
      vs:term_status "unstable" .

=> The mo:musical_work property isn't a part of the Music Ontology 2.0 release, please use frbr:realizationOf instead.

mo:signal
      a       owl:ObjectProperty ;
      rdfs:comment "This property is the hook for a set of Signal instances. It should hold at least one Signal instance."^^xsd:string ;
      rdfs:domain mo:SignalGroup ;
      rdfs:label "has signal"^^xsd:string ;
      owl:InverseOf
              [ rdfs:label "is signal of"^^xsd:string
              ] ;
      rdfs:range mo:Signal ;
      mo:level "2" ;
      vs:term_status "unstable" .

=> The inverse property isn't in the Music Ontology 2.0 release currently

Examples

See here, here and here.

Release event concept

Description

The mo:ReleaseEvent concept takes a mo:SignalGroup instance (mo:released_signal; as a product of a mo:RecordingSession event or as a separate composition of single mo:Signal instances of several mo:SignalGroup instances from different mo:RecordingSession events) and produces on or more mo:Release instance(s). Each of them may consist of one or more mo:Record instance(s) that has/have a specific dcterms:MediaType (see Media Types). Furthermore, a release is releated to its mo:ReleaseEvent instance via mo:release). Such a release event mainly addresses that (a) release(s) is/are released in a specific country at a specific time.

Ontology code

mo:ReleaseEvent
      a       owl:Class ;
      rdfs:comment "This is the release event that gets as input factor a SignalGroup instance and produces one or more Release instance(s), which contains one ore more Record instances of a specific ReleaseType."^^xsd:string ;
      rdfs:label "release event"^^xsd:string ;
      rdfs:subClassOf event:Event ;
      mo:level "1" ;
      vs:term_status "unstable" .
mo:release
      a       owl:ObjectProperty ;
      rdfs:comment "This is the product relation of a release event. It can be used to model a release of a set of signals (maybe from a signal group to get its relation to musical work) that will be released in a specific country at a specific date. This result can also be a set of releases - one for a specific medium (e.g. CD, vinyl, Mp3)."^^xsd:string ;
      rdfs:domain mo:ReleaseEvent ;
      rdfs:label "has release event"^^xsd:string ;
      owl:InverseOf
              [ rdfs:label "is release event of"^^xsd:string
              ] ;
      rdfs:range mo:Release ;
      rdfs:subPropertyOf event:product ;
      mo:level "1" ;
      vs:term_status "unstable" .
mo:released_signal
      a       owl:ObjectProperty ;
      rdfs:comment "With that property it is possible to attach a complete group of signals (SignalGroup) to a release or just a fine selection of single signals that are from different signal groups."^^xsd:string ;
      rdfs:domain mo:ReleaseEvent ;
      rdfs:label "has released signal set"^^xsd:string ;
      rdfs:range mo:SignalGroup , mo:Signal ;
      rdfs:subPropertyOf event:factor ;
      mo:level "1" ;
      vs:term_status "unstable" .

=> The mo:release_signal property isn't a part of the Music Ontology 2.0 release, please use event:factor instead

Examples

See here, here, here and here.

Release concept

Description

A mo:Release instance is a the result of a mo:ReleaseEvent instance. So it contains on or more mo:Record instance(s) (mo:record) of a specific medium. This package should be related with properties like cover-art, libretto etc. (not implemented yet). As a mo:Release is an official release it has also a catalogue number (mo:catalogue_number). A specific mo:Release instance should be related to a mo:Label (mo:label).

Ontology code

mo:Release
      a       owl:Class ;
      rdfs:comment "This is the concept that holds one or more Record instances of a specific medium (CD, Vinyl, Mp3). Furthermore, it has releations to the cover-art, libretto etc."^^xsd:string ;
      rdfs:label "release"^^xsd:string ;
      rdfs:subClassOf mo:MusicalManifestation ;
      mo:level "1" ;
      vs:term_status "unstable" .
mo:catalogue_number
      a       owl:FunctionalProperty ;
      rdfs:comment "This is the catalogue number of a specific release of a release event."^^xsd:string ;
      rdfs:domain mo:Release ;
      rdfs:label "has catalogue number"^^xsd:string ;
      owl:InverseOf
              [ rdfs:label "is catalogue number of"^^xsd:string
              ] ;
      rdfs:range xsd:string ;
      mo:level "1" ;
      vs:term_status "unstable" .

=> The inverse property isn't currently in the Music Ontology 2.0 release.

mo:record
      a       owl:ObjectProperty ;
      rdfs:domain mo:Release ;
      rdfs:label "has record"^^xsd:string ;
      owl:InverseOf
              [ rdfs:label "is record of"^^xsd:string
              ] ;
      rdfs:range mo:Record .

=> The inverse property isn't currently in the Music Ontology 2.0 release.

mo:label
      a       owl:FunctionalProperty ;
      rdfs:comment "This property relates a release to a specific label that releases a signal group as one or more release(s) (of maybe a specific medium)."^^xsd:string ;
      rdfs:domain mo:Release ;
      rdfs:label "has label"^^xsd:string ;
      owl:InverseOf
              [ rdfs:label "is label of"^^xsd:string
              ] ;
      rdfs:range mo:Label ;
      rdfs:subPropertyOf event:agent ;
      mo:level "1" ;
      vs:term_status "unstable" .

=> The inverse property isn't in the Music Ontology 2.0 release currently

Examples

See here, here, here and here.

Track concept

Description

An extension to the mo:Track concept to handle both related mo:Signal instances - the mo:Signal instance of the copy (mo:track_signal, currently mo:encodes) and the original mo:Signal instance (mo:originated_signal, currently mo:publication_of and its inverse property mo:published_as), which is related to the specific mo:Recording instance. Of course, these properties exist in a certain kind, but maybe it is easier to access them in this way (see this part of the email discussion).

=> Note: It is already possible to model these relations somehow with the Music Ontology (see descriptions and hints). Hence, there might be no need to introduce these new properties.

:signal1 mo:published_as :track1 .
:track1 mo:available_as <test.mp3> .

<test.mp3> mo:encodes :signal2 .

:signal2 is the deteriorated signal, and :signal1 is the original one. 

Ontology code

mo:Track
      a       owl:Class ;
      rdfs:comment "A track on a particular record" ;
      rdfs:isDefinedBy mo: ;
      rdfs:label "Track" ;
      rdfs:subClassOf mo:MusicalManifestation ;
      mo:level "1" ;
      vs:term_status "stable" .
mo:orginated_signal
      a       owl:ObjectProperty ;
      rdfs:comment "This property links to the originated signal of that track. This enable mappings like signal 3 of this signal group relates to track 4 at cd 1 (as Record instance) of this release."^^xsd:string ;
      rdfs:domain mo:Track ;
      rdfs:label "has originated signal"^^xsd:string ;
      rdfs:range mo:Signal ;
      mo:level "1" ;
      vs:term_status "unstable" .

=> The mo:originated_signal property isn't a part of the Music Ontology 2.0 release, please use mo:publication_of or its inverse property mo:published_as instead

mo:track_signal
      a       owl:ObjectProperty ;
      rdfs:comment "This property links to the signal behind the track, often this signal is of lesser quality then the master signal."^^xsd:string ;
      rdfs:domain mo:Track ;
      rdfs:label "has track signal"^^xsd:string ;
      rdfs:range mo:Signal ;
      mo:level "1" ;
      vs:term_status "unstable " .

=> The mo:track_signal property isn't a part of the Music Ontology 2.0 release, please use mo:encodes and mo:available_as (to model the item relation) instead

Examples

See here and here.

Counter property

Description

To keep track of the overall size of the instances of mo:Record and mo:Release. For a mo:Record instance the counter is a track counter (currently mo:track_count) and for a mo:Release instance the counter is a record counter (currently mo:record_count). Maybe the specific counters can also be derived from this property.

Ontology code

mo:count
      a       owl:DataTypeProperty ;
      rdfs:comment "This is a counter property for releases (as record counter) and records (as track counter)."^^xsd:string ;
      rdfs:domain mo:Record , mo:Release ;
      rdfs:label "has count"^^xsd:string ;
      rdfs:range xsd:integer ;
      mo:level "1" ;
      vs:term_status "unstable " .

=> The mo:count property isn't a part century 21 broker properti jual beli sewa rumah Indonesia of the Music Ontology 2.0 release, please use mo:record_count and mo:track_count instead

Examples

See here, here and here for record counter. See here and here for track counter. See here for an example that include both types.

Personal tools