diff fca/featureToolMatrix.py @ 0:62d2c72e4223

initial commit
author nothing@tehis.net
date Mon, 25 Feb 2013 14:40:54 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fca/featureToolMatrix.py	Mon Feb 25 14:40:54 2013 +0000
@@ -0,0 +1,89 @@
+#formal concept analysis
+
+import rdflib
+from rdflib import plugin, OWL
+from rdflib.graph import Graph
+from rdflib.namespace import Namespace
+
+execfile('/Users/alo/MusicOntology/features/fca/writeHTML.py')
+
+plugin.register(
+    'sparql', rdflib.query.Processor,
+    'rdfextras.sparql.processor', 'Processor')
+plugin.register(
+    'sparql', rdflib.query.Result,
+    'rdfextras.sparql.query', 'SPARQLQueryResult')
+
+graph = Graph()
+graph.parse('/Users/alo/MusicOntology/features/featuresCatalogue.rdf')
+
+res = graph.query(
+    """SELECT DISTINCT ?tool
+       WHERE {
+	   	?x local:computedIn ?tool .
+		?x local:feature ?feature 
+       }
+	   ORDER BY ?tool""",
+    initNs=dict(
+        local=Namespace("http://sovarr.c4dm.eecs.qmul.ac.uk/features/"))
+)
+
+cols = []
+
+for it in res:
+    cols.append(it[0])
+
+res = graph.query(
+    """SELECT DISTINCT ?feature
+       WHERE {
+	   	?x local:computedIn ?tool .
+		?x local:feature ?feature 
+       }
+	   ORDER BY ?feature""",
+    initNs=dict(
+        local=Namespace("http://sovarr.c4dm.eecs.qmul.ac.uk/features/"))
+)
+
+rows = []
+
+for it in res:
+    rows.append(it[0])
+
+colmap = {}
+
+for i in range(len(cols)):
+    it = cols[i]
+    colmap[it] = i
+
+rowmap = {}
+
+for i in range(len(rows)):
+    it = rows[i]
+    rowmap[it] = i
+
+res = graph.query(
+    """SELECT DISTINCT ?feature ?tool
+       WHERE {
+	   	?x local:computedIn ?tool .
+		?x local:feature ?feature 
+       }
+	   ORDER BY ?feature""",
+    initNs=dict(
+        local=Namespace("http://sovarr.c4dm.eecs.qmul.ac.uk/features/")))
+
+afmatrix = []
+    
+for i in range(len(rows)):
+    row = []
+    for j in range(len(cols)):
+        row.append(0)
+    afmatrix.append(row)
+
+for it in res:
+    afmatrix[rowmap[it[0]]][colmap[it[1]]] = 1
+    
+
+#writeHTML('afmatrix.html', afmatrix, cols, rows )
+#writeWikiTable('featureToolWiki.txt', afmatrix, cols, rows )
+writeLatexTable('featureToolLatex.txt', afmatrix, cols, rows)
+