Training:NeOn 2008 Tutorial on Computational Ontologies/Music Industry Ontology
From Odp
Tutorial | Training:NeOn 2008 Tutorial on Computational Ontologies |
---|---|
Title | Music Industry Ontology |
To develop an OWL ontology starting from a use case.
Context
The Warner Bros recording label has decided to manage its own productions by means of an ontology-driven application. They provide the designers with documents describing scenarios that have to be stored in the knowledge base. From this documents one story is extracted and assigned to ontology designers.
Story for exercise 1: album production
The “Red Hot Chili Peppers” are: Anthony Kiedis (vocals), Flea (bass, trumpet, keyboards, and vocals), John Frusciante (guitar), and Chad Smith (drums). During 2005, the band recorded the album “Stadium Arcadium”. The album contains 28 tracks and has been released in May 2006. It includes the track of the song “Hump de Bump”, which was composed in January 2004. The critic Crian Hiatt defines the album as "the most ambitious work of its twenty-three-year career".
The phrase above can be simplified by transforming it into 5 sentences:
- s1: The “Red Hot Chili Peppers” are: Anthony Kiedis (vocals), Flea (bass, trumpet, keyboards, and vocals), John Frusciante (guitar), and Chad Smith (drums).
- s2: During 2005, the band recorded the album “Stadium Arcadium”.
- s3: The album contains 28 tracks, and has been released in May 2006.
- s4: It includes the track of the song “Hump de Bump”, which was composed in January 2004.
- s5: The critic Crian Hiatt defines the album as "the most ambitious work of his twenty-three-year career".
Solutions:
Contents |
Simple sentences of album production story
- s1: The “Red Hot Chili Peppers” are: Anthony Kiedis (vocals), Flea (bass, trumpet, keyboards, and vocals), John Frusciante (guitar), and Chad Smith (drums).
- s2: During 2005, the band recorded the album “Stadium Arcadium”.
- s3: The album contains 28 tracks, and has been released in May 2006.
- s4: It includes the track of the song “Hump de Bump”, which was composed in January 2004.
- s5: The critic Crian Hiatt defines the album as "the most ambitious work in his twenty-three-year career".
Instance-free sentences of album production story
- instance-free s1:
- Band members are persons
- A person has a role
- A person can play an instrument
- instance-free s2:
- Members of a band record an album at a certain time interval
- instance-free s3:
- A recorded album contains tracks and is released at a certain time interval.
- instance-free s4:
- Songs are composed at a certain time and recorded as tracks at a certain time.
- instance-free s5:
- A critique by a Person about an album has a text.
Selected CPs for album production story
- situation
- agent role
- object role
- classification
- collection
- information realization
- time interval
- album critique situation
- song track
CP annotation schema
Competency questions, unit tests
The unit tests are here substantiated as SPARQL queries. Syntax has to be adjusted in order to comply to namespaces prefixes and ontology element names used in the actual ontology.
- s1
- cq1: Who are the members of a band?
- cq2: Which band a certain person is a member of?
SELECT ?member ?band WHERE { ?member a :Person . ?band a :Band. ?band :hasBandMember ?member}
- cq3: What roles has a certain person?
- cq4: Who has a certain role?
SELECT ?person ?role WHERE { ?person a :Person . ?role a :Role. ?person :hasRole ?role}
- cq5: What instruments can play a certain person?
- cq6: Who can play a certain instrument?
SELECT ?person ?instrument WHERE { ?person a :Person . ?instrument a :InstrumentType. ?person :canPlayInstrument ?instrument}
- s2
- cq7: When has been recorded a certain album?
SELECT ?album ?date WHERE {?time a :TimeInterval. ?album a :RecordedAlbum. ?recording_sit a :RecordingSituation. ?recording_sit :hasRecordingTime ?time. ?time :hasRecordingDate ?date . ?recording_sit :forAlbum ?album}
- cq8: Who is involved in the recording of a certain album?
SELECT ?person ?album WHERE {?person a :Person. ?album a :RecordedAlbum. ?recording_sit a :RecordingSituation. ?recording_sit :forAlbum ?album. ?recording_sit :involvesMusician ?person}
- s3
- cq9: When was a certain album released?
- cq10: What albums have been released at a certain time interval?
SELECT ?album ?date WHERE {?album a :RecordedAlbum. ?time a :TimeInterval. ?album :hasReleaseTime ?time. ?time :hasReleaseDate ?date}
- cq11: What tracks are included in a certain album?
- cq12: What albums a certain track is contained in?
SELECT ?album ?track WHERE {?album a :RecordedAlbum. ?track a :Track. ?album :containsTrack ?track.}
- cq13: What tracks were produced for albums recorded at a certain time interval?
SELECT ?track ?album ?date WHERE {?track a :Track. ?album a :RecordedAlbum. ?time a :TimeInterval. ?time :hasRecordingDate ?date. ?recording_sit :hasRecordingTime ?time. ?recording_sit :forAlbum ?album. ?recording_sit :producesTrack ?track}
- s4
- cq14: What tracks are the recording of a certain song?
SELECT ?track ?song WHERE {?track a :Track. ?song a :Song. ?song :songInTrack ?track}
- cq15: When was a song composed?
SELECT ?song ?date WHERE {?song a :Song. ?time a :TimeInterval. ?time :hasCompositionDate ?date. ?song :hasCompositionTime ?time}
- cq16: When was a track recorded?
SELECT ?track ?date WHERE {?track a :Track. ?time a :TimeInterval. ?time :hasRecordingDate ?date. ?recording_sit :producesTrack ?track. ?recording_sit :hasRecordingTime ?time}
- cq17: When was a song recorded as a track?
SELECT ?song ?track ?date WHERE {?song a :Song. ?track a :Track. ?time a :TimeInterval. ?time :hasRecordingDate ?date. ?song :isRealizedBy ?track. ?recording_sit :producesTrack ?track. ?recording_sit :hasRecordingTime ?time}
- s5 ->
- cq17: Who did express a critique about a certain album?
- cq18: What albums did review a certain critic?
SELECT ?critic ?album WHERE {?critic a :Person. ?album a :RecordedAlbum. ?critique_sit :onAlbum ?album. ?critique_sit :byCritic ?critic}
- cq19: What does a certain critic say about a certain album?
SELECT ?critic ?album ?text WHERE {?critic a :Person. ?album a :RecordedAlbum. ?critique_sit :onAlbum ?album. ?critique_sit :byCritic ?critic. ?critique_sit :hasCritiqueText ?text}