import os.path

from rdflib import URIRef, Graph

from module import Module

class VoidGenerator(Module):

    def __init__(self, mInstanceIRI, moduleDir):
        Module.__init__(self,  "http://topbraid.org/sparqlmotionlib#void", mInstanceIRI, moduleDir)

    def run(self):
        g = Graph()

        if self.getParameter('inputFile'):
            inputFile = self.moduleDir + "/" + self.getParameter('inputFile')
            g.parse(inputFile,format="n3")

        if self.inputGraph:
            g = g + self.inputGraph;

        q = g.query(open(os.path.abspath(os.path.dirname(__file__)+"/void.rq")))


        self.outputGraph = Graph()
        self.outputGraph.bind("void",URIRef("http://rdfs.org/ns/void/"))
        for i in q:
            self.outputGraph.add(i)

        # self.outputGraph.parse(data=process.stdout.read(), format='n3')
        # self.outputGraph.add((g.subjects(RDF.type,OWL.Ontology).next(), RDF.type, OWL.Ontology))



