changeset 8:09aa2f0d33d0

fuxi file share
author nothing@tehis.net
date Wed, 03 Apr 2013 15:57:25 +0100
parents d7fe070157fb
children c76f261a021a
files fuxi/af-rules.n3 fuxi/convertImplicationstoN3.py
diffstat 2 files changed, 262 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/fuxi/af-rules.n3	Wed Apr 03 13:37:48 2013 +0100
+++ b/fuxi/af-rules.n3	Wed Apr 03 15:57:25 2013 +0100
@@ -2,50 +2,229 @@
 @prefix owl: <http://www.w3.org/2002/07/owl#> .
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 
-af:CepstralDomain a owl:Class ;
-    rdfs:subClassOf af:Domain .
+af:Attack a owl:Class .
 
-af:DenseOutput a owl:Class ;
-    rdfs:subClassOf af:Output .
+af:AttackSlope a owl:Class .
+
+af:AutoCorrelation a owl:Class ;
+    af:domain af:TimeDomain ;
+    af:output af:DenseOutput .
+
+af:AverageMagnitudeDifferenceFunction a owl:Class ;
+    af:domain af:TimeDomain ;
+    af:output af:DenseOutput .
+
+af:BeatHistogram a owl:Class ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:ModulationFrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:temporalscale af:InterframeTemporalscale .
+
+af:Chromagram a owl:Class ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:Crest a owl:Class .
+
+af:CrossCorrelation a owl:Class .
+
+af:EffectiveDuration a owl:Class .
 
 af:EigendomainDomain a owl:Class ;
     rdfs:subClassOf af:Domain .
 
-af:FrequencyDomain a owl:Class ;
-    rdfs:subClassOf af:Domain .
+af:Energy a owl:Class .
+
+af:FundamentalFrequency a owl:Class ;
+    af:domain af:TimeDomain ;
+    af:output af:DenseOutput .
 
 af:GlobalTemporalscale a owl:Class ;
     rdfs:subClassOf af:Temporalscale .
 
-af:InterframeTemporalscale a owl:Class ;
-    rdfs:subClassOf af:Temporalscale .
+af:HarmonicSpectralCentroid a owl:Class .
 
-af:IntraframeTemporalscale a owl:Class ;
-    rdfs:subClassOf af:Temporalscale .
+af:HarmonicSpectralDeviation a owl:Class .
 
-af:ModulationFrequencyDomain a owl:Class ;
-    rdfs:subClassOf af:Domain .
+af:HarmonicSpectrum a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
 
-af:MultidimensionalDimensionality a owl:Class ;
-    rdfs:subClassOf af:Dimensionality .
+af:Inharmonicity a owl:Class ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
 
-af:OnedimensionalDimensionality a owl:Class ;
-    rdfs:subClassOf af:Dimensionality .
+af:Key a owl:Class ;
+    af:domain af:TimeDomain ;
+    af:output af:SparseOutput .
 
-af:PerceptualLevel a owl:Class ;
-    rdfs:subClassOf af:Level .
+af:LinearPredictionCepstralCoefficients a owl:Class ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:CepstralDomain,
+        af:TimeDomain ;
+    af:level af:PhysicalLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:LinearPredictiveCoding a owl:Class ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PhysicalLevel ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:LogAttackTime a owl:Class .
+
+af:Loudness a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:MagnitudeSpectrum a owl:Class .
+
+af:Mean a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:MelscaleFrequencyCepstralCoefficients a owl:Class ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:CepstralDomain,
+        af:FrequencyDomain,
+        af:TimeDomain ;
+    af:level af:PhysicalLevel ;
+    af:model af:PsychoacousticModel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:Noisiness a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:Nonzerocount a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:OnsetDetectionFunction a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:PeakSpectrum a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
 
 af:PhaseSpaceDomain a owl:Class ;
     rdfs:subClassOf af:Domain .
 
-af:PhysicalLevel a owl:Class ;
-    rdfs:subClassOf af:Level .
+af:Pitch a owl:Class ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:temporalscale af:IntraframeTemporalscale .
 
-af:PsychoacousticModel a owl:Class ;
-    rdfs:subClassOf af:Model .
+af:Power a owl:Class .
 
-af:SparseOutput a owl:Class ;
-    rdfs:subClassOf af:Output .
+af:PowerSpectrum a owl:Class .
+
+af:RootMeanSquare a owl:Class .
+
+af:Sharpness a owl:Class ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:model af:PsychoacousticModel ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralCentroid a owl:Class ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:FrequencyDomain,
+        af:TimeDomain ;
+    af:level af:PerceptualLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralCrest a owl:Class ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralDecrease a owl:Class .
+
+af:SpectralFlatness a owl:Class ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain,
+        af:TimeDomain ;
+    af:level af:PerceptualLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralFlux a owl:Class ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PhysicalLevel ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralKurtosis a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:SpectralRolloff a owl:Class ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:FrequencyDomain,
+        af:TimeDomain ;
+    af:level af:PerceptualLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralSkewness a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:SpectralSlope a owl:Class ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PhysicalLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralSpread a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:SpectralVariation a owl:Class .
+
+af:Spectrum a owl:Class ;
+    af:domain af:TimeDomain ;
+    af:output af:DenseOutput .
+
+af:Tempo a owl:Class ;
+    af:domain af:FrequencyDomain,
+        af:TimeDomain ;
+    af:output af:DenseOutput,
+        af:SparseOutput .
+
+af:TemporalCentroid a owl:Class .
+
+af:Tonality a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:Variance a owl:Class ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:ZeroCrossingRate a owl:Class ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:TemporalDomain,
+        af:TimeDomain ;
+    af:level af:PhysicalLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
 
 af:dimensionality a owl:ObjectProperty ;
     rdfs:domain af:AudioFeature ;
@@ -71,8 +250,23 @@
     rdfs:domain af:AudioFeature ;
     rdfs:range af:Temporalscale .
 
+af:InterframeTemporalscale a owl:Class ;
+    rdfs:subClassOf af:Temporalscale .
+
+af:ModulationFrequencyDomain a owl:Class ;
+    rdfs:subClassOf af:Domain .
+
+af:CepstralDomain a owl:Class ;
+    rdfs:subClassOf af:Domain .
+
 af:Model a owl:Class .
 
+af:PsychoacousticModel a owl:Class ;
+    rdfs:subClassOf af:Model .
+
+af:SparseOutput a owl:Class ;
+    rdfs:subClassOf af:Output .
+
 af:Dimensionality a owl:Class .
 
 af:Level a owl:Class .
@@ -85,8 +279,28 @@
 
 af:Domain a owl:Class .
 
-?x a af:AudioFeature . 
+af:PhysicalLevel a owl:Class ;
+    rdfs:subClassOf af:Level .
 
+af:OnedimensionalDimensionality a owl:Class ;
+    rdfs:subClassOf af:Dimensionality .
+
+af:MultidimensionalDimensionality a owl:Class ;
+    rdfs:subClassOf af:Dimensionality .
+
+af:PerceptualLevel a owl:Class ;
+    rdfs:subClassOf af:Level .
+
+af:IntraframeTemporalscale a owl:Class ;
+    rdfs:subClassOf af:Temporalscale .
+
+af:FrequencyDomain a owl:Class ;
+    rdfs:subClassOf af:Domain .
+
+af:DenseOutput a owl:Class ;
+    rdfs:subClassOf af:Output .
+
+?x a af:AudioFeature ; 
 {  ?x af:domain af:Cepstral .  } => {  ?x af:output af:Dense .  ?x af:temporalscale af:Intraframe .  ?x af:dimensionality af:MultiDimensional .  ?x af:level af:Physical .  } . 
 {  ?x af:temporalscale af:Interframe .  } => {  ?x af:domain af:ModulationFrequency .  ?x af:dimensionality af:MultiDimensional .  ?x af:level af:Perceptual .  } . 
 {  ?x af:domain af:ModulationFrequency .  } => {  ?x af:temporalscale af:Interframe .  ?x af:dimensionality af:MultiDimensional .  ?x af:level af:Perceptual .  } . 
--- a/fuxi/convertImplicationstoN3.py	Wed Apr 03 13:37:48 2013 +0100
+++ b/fuxi/convertImplicationstoN3.py	Wed Apr 03 15:57:25 2013 +0100
@@ -33,7 +33,7 @@
     return text
     
 def convertRules(rows):
-    n3 = "?x a af:AudioFeature . \n\n"
+    n3 = "?x a af:AudioFeature ; \n"
     for i in range(len(rows)-1):
         row = rows[i]
         if row != '':
@@ -61,7 +61,7 @@
     
     return n3
 
-def writeFacts():
+def writeProperties():
     graph = Graph()
 
     af = Namespace('http://sovarr.c4dm.eecs.qmul.ac.uk/features/')
@@ -115,8 +115,27 @@
             RDFS.range,
             URIRef(objID)
         ))
+        
+    writeFeatures(graph)
     
     return graph.serialize(format="n3")
-    
 
-writeN3(writeFacts() + convertRules(readFile(readpath)),writepath)
+def writeFeatures(graph):
+    cataloguePath = '/Users/alo/MusicOntology/features/af-catalogue.rdf'
+    source = Graph()
+    source.parse(cataloguePath)
+    af = Namespace('http://sovarr.c4dm.eecs.qmul.ac.uk/features/')
+    #features = []
+    ns = af['computedIn']
+    for su in source.subjects(RDF.type, OWL.Class):
+        count = sum(1 for _ in source.objects(su,ns))
+        if count > 1:
+            graph.add(( su, RDF.type, OWL.Class ))
+            for pr, ob in source.predicate_objects(su):
+                if cat.count(pr.split('/')[-1]) == 1:
+                    graph.add((su, pr, 
+                        af[ob.replace("-", "").title().replace(" ", "") + pr.split('/')[-1].title()]
+                    ))
+
+
+writeN3(writeProperties() + convertRules(readFile(readpath)),writepath)