@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix mo: <http://purl.org/ontology/mo/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix nirvana: <http://music.org/nirvana#>.
@prefix ex: <http://example.com/test#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix time: <http://www.w3.org/2006/time#>.
@prefix event: <http://purl.org/NET/c4dm/event.owl#>.
@prefix timeline: <http://www.w3.org/2006/timeline#>.
#
# Here we express the output of a structural segmentation
# This is really general! If the segmentation is accurate enough,
# we can interpret it as a sort-of reverse engineering of the performance
# (thus the created events are in fact sub-performances)
#
# Here we describe the signal we are analysing
nirvana:smellssig a mo:Signal; # link to the nirvana example
mo:publishedAs ex:mytrack;
event:time ex:time;
.
ex:mytrack a mo:Stream;
mo:stream_url <http://example.com/smells_like_teen_spirit.mp3>;
.
ex:time a time:TimeInterval;
timeline:onTimeLine ex:mytl;
timeline:beginsAtDuration "PT"^^xsd:duration;
timeline:durationXSD "PT3M30S"^^xsd:duration;
.
# The timeline on which our signal is defined
ex:mytl a timeline:RelativeTimeLine.
ex:Segment1 rdfs:subClassOf event:Event; # a new classifier
rdfs:label "verse";
.
ex:Segment2 rdfs:subClassOf event:Event;
rdfs:label "chorus";
.
ex:Segment3 rdfs:subClassOf event:Event;
rdfs:label "outro";
.
# Here we express the segmentation, here in 3 types of segments
ex:segment1_1 a ex:Segment1;
event:time ex:time1_1;
.
ex:segment1_2 a ex:Segment1;
event:time ex:time1_2;
.
ex:segment2_1 a ex:Segment2;
event:time ex:time2_1;
.
ex:segment2_2 a ex:Segment2;
event:time ex:time2_2;
.
ex:segment3 a ex:Segment3;
event:time ex:time3_1;
.
# And the time intervals...
ex:time1_1 a time:TimeInterval;
timeline:beginsAtDuration "PT"^^xsd:duration; # 0
timeline:durationXSD "PT30S"^^xsd:duration; # lasts 30 seconds
timeline:onTimeLine ex:mytl;
.
ex:time1_2 a time:TimeInterval;
timeline:beginsAtDuration "PT1M0.123S"^^xsd:duration;
timeline:durationXSD "PT25S"^^xsd:duration;
timeline:onTimeLine ex:mytl;
.
ex:time2_1 a time:TimeInterval;
timeline:beginsAtDuration "PT30S"^^xsd:duration;
timeline:durationXSD "PT30.123S"^^xsd:duration;
timeline:onTimeLine ex:mytl;
.
ex:time2_2 a time:TimeInterval;
timeline:beginsAtDuration "PT1M25.123S"^^xsd:duration;
timeline:durationXSD "PT1M"^^xsd:duration;
timeline:onTimeLine ex:mytl;
.
ex:time3_1 a time:TimeInterval;
timeline:beginsAtDuration "PT2M25.123S"^^xsd:duration;
timeline:durationXSD "PT34.987S"^^xsd:duration;
timeline:onTimeLine ex:mytl;
.
--
YvesRaimond - 20 Feb 2007
Topic revision: r3 - 2007-02-20 - 18:50:27 -
YvesRaimond