In [12]:
from SPARQLWrapper import SPARQLWrapper, JSON
import cPickle as pickle

In [3]:
URL_ENDPOINT="http://localhost:82/"
URL_ENDPOINT_=URL_ENDPOINT+"participabr/query"
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/terms/>
PREFIX tsioc: <http://rdfs.org/sioc/types#>
PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX schema: <http://schema.org/>"""

In [19]:
q="""SELECT ?participant
       WHERE {
          <http://participa.br/> dc:contributor ?participant.
       }"""
sparql=SPARQLWrapper(URL_ENDPOINT_)
sparql.setQuery(PREFIX+q)
sparql.setReturnFormat(JSON)
results = sparql.query().convert()

In [20]:
results_=results["results"]["bindings"]
participantes=[i["participant"]["value"] for i in results_]

In [21]:
len(participantes)


Out[21]:
3825

In [22]:
g=pickle.load( open( "pickledir/g.p", "rb" ) )
d=pickle.load( open( "pickledir/d.p", "rb" ) )
bows=pickle.load( open( "pickledir/bows.p", "rb" ) )

In [23]:
len(bows)


Out[23]:
3825

In [24]:
com_rastro=[part for part in participantes if
            (part in g.nodes()) or (part in d.nodes()) or (sum(bows[part][1])>0)]

In [25]:
len(com_rastro)


Out[25]:
872

In [32]:
print("%.2f por cento dos participantes são passíveis de serem recomendados e de receberem recomendacoes personalizadas"%
           ((len(com_rastro)/float(len(participantes)))*100,))


22.80 por cento dos participantes são passíveis de serem recomendados e de receberem recomendacoes personalizadas

In [ ]: