@prefix dc: .
@prefix mo: .
@prefix xsd: .
@prefix foaf: .
@prefix nirvana: .
@prefix ex: .
@prefix rdfs: .
@prefix time: .
@prefix event: .
@prefix 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 ;
.
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;
.