新问题:
我首先启动Fuseki Server来创建一个名为' address_act'的新数据集:
fuseki-server --update --mem /address_act
以下是获取每个地址数据然后将其添加到Fuseki Server中的Triplestore(数据库)的代码:
import requests
import pandas as pd
import numpy as np
import re
from rdflib import Graph, Literal, URIRef
from rdflib.plugins.stores import sparqlstore
query_endpoint = 'http://localhost:3030/address_act/query'
update_endpoint = 'http://localhost:3030/address_act/update'
store = sparqlstore.SPARQLUpdateStore()
store.open((query_endpoint, update_endpoint))
g = Graph(identifier = URIRef('http://www.example.com'))
for i in range(1,3):
results = []
url = 'http://gnafld.net/address/?per_page=10&page=' + str(i)
page = requests.get(url)
response = requests.get(url)
response.raise_for_status()
results = re.findall('\"Address ID: (GAACT[0-9]+)\"', response.text)
for ad in results:
ad_url = 'http://gnafld.net/address/' + ad
ad_info = requests.get(ad_url).content
g.parse(data=ad_info, format='turtle')
store.add_graph(g)
似乎代码有效,但是当我浏览http://localhost:3030/dataset.html?tab=info&ds=/address_act时,它总是显示图中有0个三元组。no triples in the graph我想知道它是否成功地将三元组插入到数据集中。如果是,那么我在哪里可以找到这些三元组?如果没有,我如何将三元组添加到默认图表中?任何帮助都非常感谢。
答案 0 :(得分:1)
如果你像这样开始fuseki:
$ fuseki-server --update --mem /ds
然后您可以使用以下方式在本地访问它:
from rdflib import Graph, Literal, URIRef
from rdflib.plugins.stores import sparqlstore
query_endpoint = 'http://localhost:3030/ds/query'
update_endpoint = 'http://localhost:3030/ds/update'
store = sparqlstore.SPARQLUpdateStore()
store.open((query_endpoint, update_endpoint))
...use store...
store.add_graph(graph)
store.remove_graph(graph)
store.query(...)
(ds
是fuseki数据集的名称)
看起来你有一个海龟格式文件,所以:
g = Graph(identifier = URIRef('http://www.example.com/'))
g.parse(data=r, format='turtle')
store.add_graph(g)