Exemplo n.º 1
0
def exportResourceDictionary(path):
    #nepomukType = Soprano.Vocabulary.RDFS.Resource()
    prop = Nepomuk.Types.Property(Soprano.Vocabulary.NAO.prefLabel())
    labelTerm = Nepomuk.Query.ComparisonTerm(prop, Nepomuk.Query.Term())
    labelTerm.setVariableName("label")
    labelTerm.setSortWeight(1)
    query = Nepomuk.Query.Query(labelTerm)
    sparql = query.toSparqlQuery()
    print sparql
    model = Nepomuk.ResourceManager.instance().mainModel()
    iter = model.executeQuery(sparql, Soprano.Query.QueryLanguageSparql)
    
    os.remove(path)
    fileutil.appendStringToFile("{\"nepomuk-entities\":[", path)

    counter = 0
    
#    nepomukTypes = [PIMO.Person, NCO.PersonContact, PIMO.Project, PIMO.Task, PIMO.Organization, 
#                    PIMO.Topic, PIMO.Location, NFO.Website, PIMO.Note, QUrl("http://purl.org/dc/dcmitype/Software"),
#                    PIMO.Country]

    
    exclude = ["nepomuk:/res/219f9374-7bf4-475f-b3be-fcd7c9812cd7", "nepomuk:/res/e664f809-a32b-49d2-90ef-37cb9133d1bf",
               "nepomuk:/res/cc2fb6b7-282f-4a79-921e-a360fed4697e", "nepomuk:/res/1fc141d0-6027-4324-8b0b-003f22a62a07",
               "nepomuk:/res/86740cf9-4268-477c-83df-4f34a2c35046"]
    
    previousLabel = ""
    
    while iter.next():
     
        bindingSet = iter.current()
        label = bindingSet.value("label").toString()
        
        v = bindingSet.value("r")
        uri = v.uri()
        flag = False
        
        if len(label) == 0:
            continue
    
        if uri.toString() not in exclude:
            resource = Nepomuk.Resource(uri)
            for type in resource.types():
                if type == NFO.FileDataObject:
                    flag = True
            if flag:
                continue
            
            
            glabel = u"%s" % label
            glabel = json.dumps(glabel, encoding="utf-8")
            
            if label == previousLabel:
                
                fileutil.appendStringToFile(",", path)
                jsonResource = resourceToJson(resource)
                fileutil.appendStringToFile(jsonResource, path)
            
            else:
#                if flagSeveralEntries:
#                    fileutil.appendStringToFile("]", path)
#                    flagSeveralEntries = False

                if counter > 0:
                    fileutil.appendStringToFile("]},", path)
                
                fileutil.appendStringToFile("{\"label\":%s, \"entries\":[" % glabel, path)
                
                jsonResource = resourceToJson(resource)
                fileutil.appendStringToFile(jsonResource, path)
                
                #fileutil.appendStringToFile("]}", path)
                counter = counter + 1
                previousLabel = label
    
    fileutil.appendStringToFile("]}", path)
    fileutil.appendStringToFile("]}\n", path)
Exemplo n.º 2
0
def exportResourceDictionary(path):
    #nepomukType = Soprano.Vocabulary.RDFS.Resource()
    prop = Nepomuk.Types.Property(Soprano.Vocabulary.NAO.prefLabel())
    labelTerm = Nepomuk.Query.ComparisonTerm(prop, Nepomuk.Query.Term())
    labelTerm.setVariableName("label")
    labelTerm.setSortWeight(1)
    query = Nepomuk.Query.Query(labelTerm)
    sparql = query.toSparqlQuery()
    print sparql
    model = Nepomuk.ResourceManager.instance().mainModel()
    iter = model.executeQuery(sparql, Soprano.Query.QueryLanguageSparql)

    os.remove(path)
    fileutil.appendStringToFile("{\"nepomuk-entities\":[", path)

    counter = 0

    #    nepomukTypes = [PIMO.Person, NCO.PersonContact, PIMO.Project, PIMO.Task, PIMO.Organization,
    #                    PIMO.Topic, PIMO.Location, NFO.Website, PIMO.Note, QUrl("http://purl.org/dc/dcmitype/Software"),
    #                    PIMO.Country]

    exclude = [
        "nepomuk:/res/219f9374-7bf4-475f-b3be-fcd7c9812cd7",
        "nepomuk:/res/e664f809-a32b-49d2-90ef-37cb9133d1bf",
        "nepomuk:/res/cc2fb6b7-282f-4a79-921e-a360fed4697e",
        "nepomuk:/res/1fc141d0-6027-4324-8b0b-003f22a62a07",
        "nepomuk:/res/86740cf9-4268-477c-83df-4f34a2c35046"
    ]

    previousLabel = ""

    while iter.next():

        bindingSet = iter.current()
        label = bindingSet.value("label").toString()

        v = bindingSet.value("r")
        uri = v.uri()
        flag = False

        if len(label) == 0:
            continue

        if uri.toString() not in exclude:
            resource = Nepomuk.Resource(uri)
            for type in resource.types():
                if type == NFO.FileDataObject:
                    flag = True
            if flag:
                continue

            glabel = u"%s" % label
            glabel = json.dumps(glabel, encoding="utf-8")

            if label == previousLabel:

                fileutil.appendStringToFile(",", path)
                jsonResource = resourceToJson(resource)
                fileutil.appendStringToFile(jsonResource, path)

            else:
                #                if flagSeveralEntries:
                #                    fileutil.appendStringToFile("]", path)
                #                    flagSeveralEntries = False

                if counter > 0:
                    fileutil.appendStringToFile("]},", path)

                fileutil.appendStringToFile(
                    "{\"label\":%s, \"entries\":[" % glabel, path)

                jsonResource = resourceToJson(resource)
                fileutil.appendStringToFile(jsonResource, path)

                #fileutil.appendStringToFile("]}", path)
                counter = counter + 1
                previousLabel = label

    fileutil.appendStringToFile("]}", path)
    fileutil.appendStringToFile("]}\n", path)
Exemplo n.º 3
0
 def serialize(self, resource):
     buf = StringIO()
     gresource = NepomukResource(resource)
     ctx = Context(buf, resource=gresource, mapper=self.mapper)
     self.tmpl.render_context(ctx)
     fileutil.appendStringToFile(buf.getvalue(), self.outputPath)
Exemplo n.º 4
0
 def serialize(self, resource):
     buf = StringIO()
     gresource = NepomukResource(resource)
     ctx = Context(buf, resource=gresource, mapper=self.mapper)
     self.tmpl.render_context(ctx)
     fileutil.appendStringToFile(buf.getvalue(), self.outputPath)