build_graph: Transforme les uri en page
This commit is contained in:
parent
824b97dc2e
commit
5bebba3e60
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
from fetch import wikidata
|
||||
from fetch import wikidata, wikimedica
|
||||
from neo4j import GraphDatabase
|
||||
import json
|
||||
|
||||
|
@ -100,15 +100,20 @@ def align_with_wikimedica():
|
|||
|
||||
for entity in align:
|
||||
if 'wikidata_id' in entity:
|
||||
|
||||
with driver.session() as session:
|
||||
wikidata_id = entity['wikidata_id']
|
||||
wikidata_page = wikimedica.get_web_page(entity['wikimedica_uri'])
|
||||
|
||||
session.run(
|
||||
"MATCH (d {id:$wikidata_id})"
|
||||
"SET d.wikimedia_id = $wikimedica_uri",
|
||||
wikidata_id=entity['wikidata_id'],
|
||||
wikimedica_uri=entity['wikimedica_uri'],
|
||||
wikidata_id=wikidata_id,
|
||||
wikimedica_uri=wikidata_page,
|
||||
)
|
||||
|
||||
|
||||
|
||||
# Conection with Neo4j
|
||||
driver = GraphDatabase.driver(NEO4J_URI, auth=(NEO4J_USR, NEO4J_PSW))
|
||||
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
from .http import session
|
||||
import rdflib
|
||||
|
||||
def request(page, request):
|
||||
def request(uri, request):
|
||||
"""
|
||||
Effectue une requête SPARQL sur une page de WikiMedica
|
||||
Effectue une requête SPARQL depuis une uri de WikiMedica
|
||||
|
||||
:param page: Page de WikiMedica ciblé
|
||||
:param uri: uri de WikiMedica ciblé
|
||||
:param request: Requête SPARQL appliqué
|
||||
:return: Réponse du point d'accés sous forme d'un tableau de dictionaire
|
||||
"""
|
||||
data = session.get(page, stream=True)
|
||||
data = session.get(uri, stream=True)
|
||||
|
||||
g = rdflib.Graph()
|
||||
g.parse(data.raw)
|
||||
qres = g.query(request)
|
||||
|
||||
return [row.asdict() for row in qres]
|
||||
|
||||
def get_web_page(uri):
|
||||
return uri.replace("/Special:ExportRDF", "")
|
||||
|
|
Loading…
Reference in New Issue