In [2]:
from SPARQLWrapper import SPARQLWrapper, JSON
import networkx as x, nltk as k
import string, time, __builtin__
import cPickle as pickle

In [19]:
URL_ENDPOINT="http://localhost:82"
DATASET1="participabr"
DATASET2="aa"
DATASET3="cidadedemocratica"
URL_QUERY1="%s/%s/query"%(URL_ENDPOINT,DATASET1)
URL_QUERY2="%s/%s/query"%(URL_ENDPOINT,DATASET2)
URL_QUERY3="%s/%s/query"%(URL_ENDPOINT,DATASET3)
EXCLUDE=set(string.punctuation+u'\u201c'+u'\u2018'+u'\u201d'+u'\u2022'+u'\u2013')
STOPWORDS=set(k.corpus.stopwords.words('portuguese'))
PREFIX="""PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ops: <http://purl.org/socialparticipation/ops#>
PREFIX opa: <http://purl.org/socialparticipation/opa#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dcty: <http://purl.org/dc/dcmitype/>
PREFIX tsioc: <http://rdfs.org/sioc/types#>
PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX schema: <http://schema.org/>
PREFIX aa: <http://purl.org/socialparticipation/aa/>
PREFIX ocd: <http://purl.org/socialparticipation/ocd/>"""
stemmer = k.stem.RSLPStemmer()

In [59]:
NOW=time.time()
q="""SELECT DISTINCT ?s ?name
       WHERE {
          ?s a ocd:User .
          ?s ocd:name ?name
       }"""
sparql2 = SPARQLWrapper(URL_QUERY3)
sparql2.setQuery(PREFIX+q)
sparql2.setReturnFormat(JSON)
results = sparql2.query().convert()
print("%.2f segundos para puxar todos os sujeitos"%
      (time.time()-NOW,))


0.70 segundos para puxar todos os sujeitos

In [30]:
nomes=[i["name"]["value"] for i in results["results"]["bindings"]]
for nome in nomes[:10]: print nome


Andrea Mieko
Larissa Drozdowski Priosta
Luiz Bouabci
Maria Aparecida Jesus Souza
Cecilia Herzog
Elisa Crisma Carano
Leda Maria da Rocha Seixas
Michele Pereira de Araújo
Beto
Isabella Saldanha

In [60]:
NOW=time.time()
q2="""SELECT DISTINCT ?s ?name ?em ?ph
       WHERE {
          ?s a ocd:User .
          ?s ocd:name ?name .
  OPTIONAL { ?s ocd:mbox ?em } 
  OPTIONAL { ?s ocd:phone ?ph } 
       }"""
sparql2 = SPARQLWrapper(URL_QUERY3)
sparql2.setQuery(PREFIX+q2)
sparql2.setReturnFormat(JSON)
results = sparql2.query().convert()
print("%.2f segundos para puxar todos os sujeitos com telefone e email"%
      (time.time()-NOW,))


1.12 segundos para puxar todos os sujeitos com telefone e email

In [51]:
#nomes=[(i["name"]["value"],i["em"]["value"],i["ph"]["value"]) for i in results["results"]["bindings"]]
#for nome in nomes[:10]: print nome
for result in results["results"]["bindings"][:15]:
    em,ph="",""
    if "em" in result.keys():        
        em= result["em"]["value"].split(":")[1]
    if "ph" in result.keys():
        ph= result["ph"]["value"]
    print result["name"]["value"],em,ph


Andrea Mieko meumundosustentavel@hotmail.com (21)93470045
Larissa Drozdowski Priosta larissadrozdowski@hotmail.com 
Luiz Bouabci luizbcn@hotmail.com (11)81233480
Maria Aparecida Jesus Souza ikam_2010@hotmail.com (11) 45874784
Cecilia Herzog ceciliapherzog@gmail.com 
Elisa Crisma Carano elisacrismacarano@gmail.com (11) 9713-9692
Leda Maria da Rocha Seixas leseixas@hotmail.com 1981817974
Michele Pereira de Araújo dearaujo.michele@yahoo.com.br 
Beto betoint@gmail.com 12-8822-0990
Isabella Saldanha isabella.saldanha@hotmail.com 
João Bazolli jbazolli@gmail.com (63)32328024
Carlos R Conceição carrocon@yahoo.com.br (11)83826634
LUCIANA MILAN lumilan.milan@gmail.com 11 45227380
rafael sandrini rafa.sandrini@hotmail.com 
Marcos Santos da Silva mss_diogenes@hotmail.com (22) 0000-0000

In [141]:
NOW=time.time()
q2="""SELECT ?ob ?name ?data ?data2 ?tag
       WHERE {
          ?ob a ocd:Observatory .
          ?ob ocd:created ?data .
      OPTIONAL { ?ob ocd:updated ?data2 . }
          ?ob ocd:user ?user .
          ?user ocd:name ?name .
          ?tagg ocd:tagged ?ob .
          ?tagg ocd:text ?tag .
       }"""
sparql2 = SPARQLWrapper(URL_QUERY3)
sparql2.setQuery(PREFIX+q2)
sparql2.setReturnFormat(JSON)
results = sparql2.query().convert()
print("%.2f segundos para puxar todos os sujeitos"%
      (time.time()-NOW,))

print("observatorio do usuario x atualizado em y, tags: z")


5.16 segundos para puxar todos os sujeitos
observatorio do usuario x atualizado em y, tags: z

In [131]:
for res in results["results"]["bindings"][:5]:
    print("observatorio %s de %s, atualizado em %s possui a tag: %s"%
          (res["ob"]["value"].split("#")[1],res["name"]["value"],
           res["data"]["value"],res["tag"]["value"]))


observatorio 1567 de Liliane Daineze Lelis dos Santos ( Ane), atualizado em 2011-10-06T03:24:39 possui a tag: preservação ambiental
observatorio 1598 de Olga Maroso Hajj, atualizado em 2011-10-20T17:35:38 possui a tag: #AgendaCidadã
observatorio 1598 de Olga Maroso Hajj, atualizado em 2011-10-20T17:35:38 possui a tag: #Sociedade
observatorio 1598 de Olga Maroso Hajj, atualizado em 2011-10-20T17:35:38 possui a tag: #POBREZA
observatorio 1598 de Olga Maroso Hajj, atualizado em 2011-10-20T17:35:38 possui a tag: #educação #sãopaulo #professores

Tags por observatorio, junto ao participante e data de criacao


In [146]:
mem=""
for res in results["results"]["bindings"][360:380]:
    if res["ob"]["value"] == mem:
        exp=("possui a tag: %s"%(res["tag"]["value"],))
    else:
        if "data2" in res.keys():
            data=res["data2"]["value"]
        else:
            data=res["data"]["value"]
        exp=("\nobservatorio %s de %s, atualizado em %s possui a tag: %s"%
          (res["ob"]["value"].split("#")[1],res["name"]["value"],
           data,res["tag"]["value"]))
    print(exp)
    mem=res["ob"]["value"]


observatorio 1999 de Fernanda Elisabeth Guimarães Martins, atualizado em 2012-10-13T03:17:08 possui a tag: abuso de poder
possui a tag: amor
possui a tag: antropologia
possui a tag: ambiente polícia

observatorio 1044 de Edilson Joaquim Bastos, atualizado em 2010-12-28T00:13:05 possui a tag: corresposabilidade

observatorio 734 de Diogo Batista Soares, atualizado em 2010-07-22T03:51:10 possui a tag: transparência
possui a tag: #educação #treinamento #professor #escola
possui a tag: transparência transparencia público publico municipal mongaguá litoral cidadão brasil política democracia
possui a tag: transporte
possui a tag: política
possui a tag: geração de renda
possui a tag: governo
possui a tag: corrupção
possui a tag: transito

observatorio 1406 de Ana Paula Lisboa Rodrigues, atualizado em 2011-07-22T21:34:27 possui a tag: saúde e bem-estar
possui a tag: @votojundiai
possui a tag: #educação #jundiaí #prefeitura #universidade
possui a tag: saúde e segurança. o caos da grande são paulo
possui a tag: saude do trabalhador
possui a tag: sáude

In [186]:
NOW=time.time()
q2="""SELECT ?ob ?name (GROUP_CONCAT(?tag; SEPARATOR = ", ") as ?tags)
       WHERE {
          ?ob a ocd:Observatory .
          ?ob ocd:user ?user .
          ?user ocd:name ?name .
          ?tagg ocd:tagged ?ob .
          ?tagg ocd:text ?tag .
       } GROUP BY ?ob ?name"""
sparql2 = SPARQLWrapper(URL_QUERY3)
sparql2.setQuery(PREFIX+q2)
sparql2.setReturnFormat(JSON)
results = sparql2.query().convert()
print("%.2f segundos para puxar todos os sujeitos"%
      (time.time()-NOW,))

print("observatorio do usuario x atualizado em y, tags: z")


1.70 segundos para puxar todos os sujeitos
observatorio do usuario x atualizado em y, tags: z

In [188]:
for res in results["results"]["bindings"][:5]:
    #print res["ob"]["value"].split("#")[1], res["tags"]["value"],"\n"
    print "%s, TAGS: %s\n"%(res["name"]["value"], res["tags"]["value"])


Carlos Roberto Alves, TAGS: asfalto

Ricardo Machado, TAGS: desmatamento, reserva florestal, educação, mata atlântica, meio ambiente, desenvolvimento sustentável, ambiental, reciclagem de lixo que não é lixo, aldo rebelo, crescimento, aquecimento, reciclagem de lixo residencial, desenvolvimento sustentavel, reciclagem, impactos ambientais

Gustavo Ferros, TAGS: educação. universidade pública, educação, jovens, varjão, jundiai, estudantes, religião, faculdade, valorizacao da vida

maria Fabian Santos Rocha, TAGS: #trânsito

Jose Luiz de Araújo, TAGS: trânsito, educação, despoluição, urbanismo, cidadania, praça, transporte, urbanização, coleta