changeset 12:d929dc6aedbc

fuxi file share
author nothing@tehis.net
date Wed, 03 Apr 2013 19:13:52 +0100
parents 0200abb77dbc
children 394bd8733074
files fuxi/af-facts.n3 fuxi/af-rules.n3 fuxi/convertImplicationstoN3.py
diffstat 3 files changed, 248 insertions(+), 329 deletions(-) [+]
line wrap: on
line diff
--- a/fuxi/af-facts.n3	Wed Apr 03 16:17:00 2013 +0100
+++ b/fuxi/af-facts.n3	Wed Apr 03 19:13:52 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 af:AudioFeature .
 
-af:DenseOutput a owl:Class ;
-    rdfs:subClassOf af:Output .
+af:AttackSlope a af:AudioFeature .
+
+af:AutoCorrelation a af:AudioFeature ;
+    af:domain af:TimeDomain ;
+    af:output af:DenseOutput .
+
+af:AverageMagnitudeDifferenceFunction a af:AudioFeature ;
+    af:domain af:TimeDomain ;
+    af:output af:DenseOutput .
+
+af:BeatHistogram a af:AudioFeature ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:ModulationFrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:temporalscale af:InterframeTemporalscale .
+
+af:Chromagram a af:AudioFeature ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:Crest a af:AudioFeature .
+
+af:CrossCorrelation a af:AudioFeature .
+
+af:EffectiveDuration a af:AudioFeature .
 
 af:EigendomainDomain a owl:Class ;
     rdfs:subClassOf af:Domain .
 
-af:FrequencyDomain a owl:Class ;
-    rdfs:subClassOf af:Domain .
+af:Energy a af:AudioFeature .
+
+af:FundamentalFrequency a af:AudioFeature ;
+    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 af:AudioFeature .
 
-af:IntraframeTemporalscale a owl:Class ;
-    rdfs:subClassOf af:Temporalscale .
+af:HarmonicSpectralDeviation a af:AudioFeature .
 
-af:ModulationFrequencyDomain a owl:Class ;
-    rdfs:subClassOf af:Domain .
+af:HarmonicSpectrum a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
 
-af:MultidimensionalDimensionality a owl:Class ;
-    rdfs:subClassOf af:Dimensionality .
+af:Inharmonicity a af:AudioFeature ;
+    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 af:AudioFeature ;
+    af:domain af:TimeDomain ;
+    af:output af:SparseOutput .
 
-af:PerceptualLevel a owl:Class ;
-    rdfs:subClassOf af:Level .
+af:LinearPredictionCepstralCoefficients a af:AudioFeature ;
+    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 af:AudioFeature ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PhysicalLevel ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:LogAttackTime a af:AudioFeature .
+
+af:Loudness a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:MagnitudeSpectrum a af:AudioFeature .
+
+af:Mean a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:MelscaleFrequencyCepstralCoefficients a af:AudioFeature ;
+    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 af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:Nonzerocount a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:OnsetDetectionFunction a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:PeakSpectrum a af:AudioFeature ;
+    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 af:AudioFeature ;
+    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 af:AudioFeature .
 
-af:SparseOutput a owl:Class ;
-    rdfs:subClassOf af:Output .
+af:PowerSpectrum a af:AudioFeature .
+
+af:RootMeanSquare a af:AudioFeature .
+
+af:Sharpness a af:AudioFeature ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:model af:PsychoacousticModel ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralCentroid a af:AudioFeature ;
+    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 af:AudioFeature ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PerceptualLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralDecrease a af:AudioFeature .
+
+af:SpectralFlatness a af:AudioFeature ;
+    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 af:AudioFeature ;
+    af:dimensionality af:OnedimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PhysicalLevel ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralKurtosis a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:SpectralRolloff a af:AudioFeature ;
+    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 af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:SpectralSlope a af:AudioFeature ;
+    af:dimensionality af:MultidimensionalDimensionality ;
+    af:domain af:FrequencyDomain ;
+    af:level af:PhysicalLevel ;
+    af:output af:DenseOutput ;
+    af:temporalscale af:IntraframeTemporalscale .
+
+af:SpectralSpread a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:SpectralVariation a af:AudioFeature .
+
+af:Spectrum a af:AudioFeature ;
+    af:domain af:TimeDomain ;
+    af:output af:DenseOutput .
+
+af:Tempo a af:AudioFeature ;
+    af:domain af:FrequencyDomain,
+        af:TimeDomain ;
+    af:output af:DenseOutput,
+        af:SparseOutput .
+
+af:TemporalCentroid a af:AudioFeature .
+
+af:Tonality a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:Variance a af:AudioFeature ;
+    af:domain af:FrequencyDomain ;
+    af:output af:DenseOutput .
+
+af:ZeroCrossingRate a af:AudioFeature ;
+    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 .
@@ -81,7 +275,28 @@
 
 af:Temporalscale a owl:Class .
 
+af:Domain a owl:Class .
+
+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 .
+
 af:AudioFeature a owl:Class .
 
-af:Domain a owl:Class .
-
--- a/fuxi/af-rules.n3	Wed Apr 03 16:17:00 2013 +0100
+++ b/fuxi/af-rules.n3	Wed Apr 03 19:13:52 2013 +0100
@@ -1,304 +1,5 @@
 @prefix af: <http://sovarr.c4dm.eecs.qmul.ac.uk/features/> .
 @prefix owl: <http://www.w3.org/2002/07/owl#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-af:Attack a af:AudioFeature .
-
-af:AttackSlope a af:AudioFeature .
-
-af:AutoCorrelation a af:AudioFeature ;
-    af:domain af:TimeDomain ;
-    af:output af:DenseOutput .
-
-af:AverageMagnitudeDifferenceFunction a af:AudioFeature ;
-    af:domain af:TimeDomain ;
-    af:output af:DenseOutput .
-
-af:BeatHistogram a af:AudioFeature ;
-    af:dimensionality af:MultidimensionalDimensionality ;
-    af:domain af:ModulationFrequencyDomain ;
-    af:level af:PerceptualLevel ;
-    af:temporalscale af:InterframeTemporalscale .
-
-af:Chromagram a af:AudioFeature ;
-    af:dimensionality af:MultidimensionalDimensionality ;
-    af:domain af:FrequencyDomain ;
-    af:level af:PerceptualLevel ;
-    af:output af:DenseOutput ;
-    af:temporalscale af:IntraframeTemporalscale .
-
-af:Crest a af:AudioFeature .
-
-af:CrossCorrelation a af:AudioFeature .
-
-af:EffectiveDuration a af:AudioFeature .
-
-af:EigendomainDomain a owl:Class ;
-    rdfs:subClassOf af:Domain .
-
-af:Energy a af:AudioFeature .
-
-af:FundamentalFrequency a af:AudioFeature ;
-    af:domain af:TimeDomain ;
-    af:output af:DenseOutput .
-
-af:GlobalTemporalscale a owl:Class ;
-    rdfs:subClassOf af:Temporalscale .
-
-af:HarmonicSpectralCentroid a af:AudioFeature .
-
-af:HarmonicSpectralDeviation a af:AudioFeature .
-
-af:HarmonicSpectrum a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:Inharmonicity a af:AudioFeature ;
-    af:dimensionality af:OnedimensionalDimensionality ;
-    af:domain af:FrequencyDomain ;
-    af:level af:PerceptualLevel ;
-    af:output af:DenseOutput ;
-    af:temporalscale af:IntraframeTemporalscale .
-
-af:Key a af:AudioFeature ;
-    af:domain af:TimeDomain ;
-    af:output af:SparseOutput .
-
-af:LinearPredictionCepstralCoefficients a af:AudioFeature ;
-    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 af:AudioFeature ;
-    af:dimensionality af:MultidimensionalDimensionality ;
-    af:domain af:FrequencyDomain ;
-    af:level af:PhysicalLevel ;
-    af:temporalscale af:IntraframeTemporalscale .
-
-af:LogAttackTime a af:AudioFeature .
-
-af:Loudness a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:MagnitudeSpectrum a af:AudioFeature .
-
-af:Mean a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:MelscaleFrequencyCepstralCoefficients a af:AudioFeature ;
-    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 af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:Nonzerocount a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:OnsetDetectionFunction a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:PeakSpectrum a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:PhaseSpaceDomain a owl:Class ;
-    rdfs:subClassOf af:Domain .
-
-af:Pitch a af:AudioFeature ;
-    af:dimensionality af:OnedimensionalDimensionality ;
-    af:domain af:FrequencyDomain ;
-    af:level af:PerceptualLevel ;
-    af:temporalscale af:IntraframeTemporalscale .
-
-af:Power a af:AudioFeature .
-
-af:PowerSpectrum a af:AudioFeature .
-
-af:RootMeanSquare a af:AudioFeature .
-
-af:Sharpness a af:AudioFeature ;
-    af:dimensionality af:OnedimensionalDimensionality ;
-    af:domain af:FrequencyDomain ;
-    af:level af:PerceptualLevel ;
-    af:model af:PsychoacousticModel ;
-    af:temporalscale af:IntraframeTemporalscale .
-
-af:SpectralCentroid a af:AudioFeature ;
-    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 af:AudioFeature ;
-    af:dimensionality af:MultidimensionalDimensionality ;
-    af:domain af:FrequencyDomain ;
-    af:level af:PerceptualLevel ;
-    af:output af:DenseOutput ;
-    af:temporalscale af:IntraframeTemporalscale .
-
-af:SpectralDecrease a af:AudioFeature .
-
-af:SpectralFlatness a af:AudioFeature ;
-    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 af:AudioFeature ;
-    af:dimensionality af:OnedimensionalDimensionality ;
-    af:domain af:FrequencyDomain ;
-    af:level af:PhysicalLevel ;
-    af:temporalscale af:IntraframeTemporalscale .
-
-af:SpectralKurtosis a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:SpectralRolloff a af:AudioFeature ;
-    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 af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:SpectralSlope a af:AudioFeature ;
-    af:dimensionality af:MultidimensionalDimensionality ;
-    af:domain af:FrequencyDomain ;
-    af:level af:PhysicalLevel ;
-    af:output af:DenseOutput ;
-    af:temporalscale af:IntraframeTemporalscale .
-
-af:SpectralSpread a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:SpectralVariation a af:AudioFeature .
-
-af:Spectrum a af:AudioFeature ;
-    af:domain af:TimeDomain ;
-    af:output af:DenseOutput .
-
-af:Tempo a af:AudioFeature ;
-    af:domain af:FrequencyDomain,
-        af:TimeDomain ;
-    af:output af:DenseOutput,
-        af:SparseOutput .
-
-af:TemporalCentroid a af:AudioFeature .
-
-af:Tonality a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:Variance a af:AudioFeature ;
-    af:domain af:FrequencyDomain ;
-    af:output af:DenseOutput .
-
-af:ZeroCrossingRate a af:AudioFeature ;
-    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 ;
-    rdfs:range af:Dimensionality .
-
-af:domain a owl:ObjectProperty ;
-    rdfs:domain af:AudioFeature ;
-    rdfs:range af:Domain .
-
-af:level a owl:ObjectProperty ;
-    rdfs:domain af:AudioFeature ;
-    rdfs:range af:Level .
-
-af:model a owl:ObjectProperty ;
-    rdfs:domain af:AudioFeature ;
-    rdfs:range af:Model .
-
-af:output a owl:ObjectProperty ;
-    rdfs:domain af:AudioFeature ;
-    rdfs:range af:Output .
-
-af:temporalscale a owl:ObjectProperty ;
-    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 .
-
-af:Output a owl:Class .
-
-af:Temporalscale a owl:Class .
-
-af:Domain a owl:Class .
-
-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 .
-
-af:AudioFeature a owl:Class .
 
 ?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  } . 
--- a/fuxi/convertImplicationstoN3.py	Wed Apr 03 16:17:00 2013 +0100
+++ b/fuxi/convertImplicationstoN3.py	Wed Apr 03 19:13:52 2013 +0100
@@ -33,7 +33,8 @@
     return text
     
 def convertRules(rows):
-    n3 = "?x a af:AudioFeature . \n"
+    n3 = addHeader()
+    n3 += "?x a af:AudioFeature . \n"
     for i in range(len(rows)-1):
         row = rows[i]
         if row != '':
@@ -61,7 +62,7 @@
     
     return n3
 
-def writeProperties():
+def writeProperties(path):
     graph = Graph()
 
     af = Namespace('http://sovarr.c4dm.eecs.qmul.ac.uk/features/')
@@ -118,7 +119,7 @@
         
     writeFeatures(graph)
     
-    return graph.serialize(format="n3")
+    graph.serialize(path, format="n3")
 
 def writeFeatures(graph):
     cataloguePath = '/Users/alo/MusicOntology/features/af-catalogue.rdf'
@@ -139,4 +140,6 @@
                     ))
 
 
-writeN3(writeProperties() + convertRules(readFile(readpath)),writepath)
+
+writeProperties(factpath)
+writeN3(convertRules(readFile(readpath)),writepath)