@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
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding OMRAS2? Send feedback