annotate echonest/echonest.xsl @ 19:1e79ce3ff5f5 tip

Simplify and cut some non-working resource paths
author Chris Cannam
date Wed, 08 Nov 2017 15:27:23 +0000
parents 1e44d666ced1
children
rev   line source
Chris@0 1 <xsl:transform
Chris@0 2 xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" version="1.0"
Chris@0 3 xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
Chris@0 4 xmlns:rdfs ="http://www.w3.org/2000/02/rdfschema#"
Chris@0 5 xmlns:mo ="http://purl.org/ontology/mo/"
Chris@0 6 xmlns:af ="http://purl.org/ontology/af/"
Chris@0 7 xmlns:dc ="http://purl.org/dc/elements/1.1/"
Chris@0 8 xmlns:tl ="http://purl.org/NET/c4dm/timeline.owl#"
Chris@0 9 xmlns:en = "http://purl.org/ontology/echonest/"
Chris@0 10 xmlns:event="http://purl.org/NET/c4dm/event.owl#"
Chris@0 11 xmlns ="http://dbtune.org/echonest/"
Chris@0 12 >
Chris@0 13
Chris@0 14 <xsl:output method="xml" indent="yes" encoding="utf-8"/>
Chris@0 15
Chris@0 16 <div xmlns="http://www.w3.org/1999/xhtml">
Chris@0 17 <p>testing GRDDL for the Echonest Analyze API
Chris@0 18 </p>
Chris@0 19 <p>Copyright (c) <a href="http://moustaki.org/">Yves Raimond</a>, 2008</p>
Chris@0 20
Chris@0 21 <a rel="license"
Chris@0 22 href="http://creativecommons.org/licenses/by-sa/2.0/"><img alt="Creative
Chris@0 23 Commons License" border="0"
Chris@0 24 src="http://creativecommons.org/images/public/somerights20.gif"
Chris@0 25 /></a><br />
Chris@0 26 This work is licensed under a <a rel="license"
Chris@0 27 href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons
Chris@0 28 License</a>.
Chris@0 29 </div>
Chris@0 30
Chris@0 31 <!-- /Creative Commons License -->
Chris@0 32
Chris@0 33 <!--
Chris@0 34
Chris@0 35 <rdf:RDF xmlns="http://web.resource.org/cc/"
Chris@0 36 xmlns:dc="http://purl.org/dc/elements/1.1/"
Chris@0 37 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
Chris@0 38 <Work rdf:about="">
Chris@0 39 <license
Chris@0 40 rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
Chris@0 41 </Work>
Chris@0 42
Chris@0 43 <License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
Chris@0 44 <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
Chris@0 45 <permits rdf:resource="http://web.resource.org/cc/Distribution" />
Chris@0 46 <requires rdf:resource="http://web.resource.org/cc/Notice" />
Chris@0 47 <requires rdf:resource="http://web.resource.org/cc/Attribution" />
Chris@0 48 <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
Chris@0 49 <requires rdf:resource="http://web.resource.org/cc/ShareAlike" />
Chris@0 50 </License>
Chris@0 51
Chris@0 52 </rdf:RDF>
Chris@0 53
Chris@0 54 -->
Chris@0 55
Chris@0 56 <xsl:template match='Analysis'>
Chris@0 57 <rdf:RDF>
Chris@0 58 <xsl:for-each select='Track'>
Chris@0 59
Chris@0 60 <!-- Describing the signal resource and track-wide features -->
Chris@0 61 <mo:Signal
Chris@0 62 rdf:about="#signal"
Chris@0 63 en:loudnessDynamicsVariance='{Tags/@loudnessDynamicsVariance}'
Chris@0 64 en:timbreMean='{Tags/@timbreMean}'
Chris@0 65 en:endOfFadeIn='{Tags/@endOfFadeIn}'
Chris@0 66 en:loudnessBeginVariance='{Tags/@loudnessBeginVariance}'
Chris@0 67 en:loudnessBeginMean='{Tags/@loudnessBeginMean}'
Chris@0 68 en:beatVariance='{Tags/@beatVariance}'
Chris@0 69 en:timeSignature_Stability='{Tags/@timeSignatureStability}'
Chris@0 70 en:loudnessDynamicsMean='{Tags/@loudnessDynamicsMean}'
Chris@0 71 en:timbreVariance='{Tags/@timbreVariance}'
Chris@0 72 en:loudnessMaxVariance='{Tags/@loudnessMaxVariance}'
Chris@0 73 en:loudnessMaxMean='{Tags/@loudnessMaxMean}'
Chris@0 74 en:segmentDurationVariance='{Tags/@segmentDurationVariance}'
Chris@0 75 en:sizeTimbre='{Tags/@sizeTimbre}'
Chris@0 76 en:pitchMean='{Tags/@pitchMean}'
Chris@0 77 en:startOfFadeOut='{Tags/@startOfFadeOut}'
Chris@0 78 en:tatum='{Tags/@tatum}'
Chris@0 79 en:timeLoudnessMaxMean='{Tags/@timeLoudnessMaxMean}'
Chris@0 80 en:numTatums='{Tags/@numTatums}'
Chris@0 81 en:tempoConfidence='{Tags/@tempoConfidence}'
Chris@0 82 en:loudness='{Tags/@loudness}'
Chris@0 83 en:tempo='{Tags/@tempo}'
Chris@0 84 en:segmentDurationMean='{Tags/@segmentDurationMean}'
Chris@0 85 en:numSections='{Tags/@numSections}'
Chris@0 86 en:tatumConfidence='{Tags/@tatumConfidence}'
Chris@0 87 en:timeSignature='{Tags/@timeSignature}'
Chris@0 88 en:numBeats='{Tags/@numBeats}'
Chris@0 89 en:sizePitches='{Tags/@sizePitches}'
Chris@0 90 en:pitchVariance='{Tags/@pitchVariance}'
Chris@0 91 en:numSegments='{Tags/@numSegments}'
Chris@0 92 en:numTatumsPerBeat='{Tags/@numTatumsPerBeat}'
Chris@0 93 en:tatums='{Tatums}'
Chris@0 94 >
Chris@0 95 <mo:time>
Chris@0 96 <tl:Interval>
Chris@0 97 <tl:duration><xsl:value-of select='@duration'/></tl:duration>
Chris@0 98 <tl:onTimeLine> <!-- Should be unique -->
Chris@0 99 <tl:TimeLine rdf:about="#timeline"/>
Chris@0 100 </tl:onTimeLine>
Chris@0 101 </tl:Interval>
Chris@0 102 </mo:time>
Chris@0 103 </mo:Signal>
Chris@0 104
Chris@0 105 <!-- Describing local features -->
Chris@0 106
Chris@0 107 <!--- Sadly XSLT 2.0 -->
Chris@0 108 <!--<xsl:variable name="tantumID" select="tokenize('@Tatums',' ')"/>
Chris@0 109 <xsl:for-each select="$tantumID">
Chris@0 110 <en:Tantum>
Chris@0 111 <event:time>
Chris@0 112 <tl:at><xsl:value-of select='.'/></tl:at>
Chris@0 113 <tl:onTimeLine rdf:resource="#timeline"/>
Chris@0 114 </event:time>
Chris@0 115 </en:Tantum>
Chris@0 116 </xsl:for-each>
Chris@0 117 -->
Chris@0 118
Chris@0 119 <xsl:for-each select='Section'>
Chris@0 120 <af:StructuralSegment>
Chris@0 121 <event:time>
Chris@0 122 <tl:Interval>
Chris@0 123 <tl:start><xsl:value-of select='@start'/></tl:start>
Chris@0 124 <tl:duration><xsl:value-of select='@duration'/></tl:duration>
Chris@0 125 <tl:onTimeLine rdf:resource="#timeline"/>
Chris@0 126 </tl:Interval>
Chris@0 127 </event:time>
Chris@0 128 </af:StructuralSegment>
Chris@0 129 </xsl:for-each>
Chris@0 130
Chris@0 131 <xsl:for-each select='Segment'>
Chris@0 132 <en:Segment
Chris@0 133 en:loundnessBegin='{Tags/@loudnessBegin}'
Chris@0 134 en:loudnessMax='{Tags/@loudnessMax}'
Chris@0 135 en:loudnessEnd='{Tags/@loudnessEnd}'
Chris@0 136 en:timeLoudnessMax='{Tags/@timeLoudnessMax}'
Chris@0 137 en:pitches='{Tags/@pitches}'
Chris@0 138 en:timbreCoeff='{Tags/@timbreCoeff}'
Chris@0 139 >
Chris@0 140 <event:time>
Chris@0 141 <tl:Interval>
Chris@0 142 <tl:start><xsl:value-of select='@start'/></tl:start>
Chris@0 143 <tl:duration><xsl:value-of select='@duration'/></tl:duration>
Chris@0 144 <tl:onTimeLine rdf:resource="#timeline"/>
Chris@0 145 </tl:Interval>
Chris@0 146 </event:time>
Chris@0 147 </en:Segment>
Chris@0 148 </xsl:for-each>
Chris@0 149
Chris@0 150 </xsl:for-each>
Chris@0 151 </rdf:RDF>
Chris@0 152 </xsl:template>
Chris@0 153
Chris@0 154 </xsl:transform>