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)
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)
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)