如何使用python中的RDFlib将RDF数据存储到Fuseki SPARQL端点中的triplestore

如何使用python中的RDFlib将RDF数据存储到Fuseki SPARQL端点中的triplestore,sparql,rdf,fuseki,rdflib,triplestore,Sparql,Rdf,Fuseki,Rdflib,Triplestore,新问题: 我首先启动Fuseki服务器,创建一个名为“address_act”的新数据集: fuseki-server --update --mem /address_act 下面是获取每个地址的数据,然后将其添加到Fuseki服务器中的Triplestore(数据库)的代码: import requests import pandas as pd import numpy as np import re from rdflib import Graph, Literal, URIRef fr

新问题:

我首先启动Fuseki服务器,创建一个名为“address_act”的新数据集:

fuseki-server --update --mem /address_act
下面是获取每个地址的数据,然后将其添加到Fuseki服务器中的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)

代码似乎可以工作,但当我浏览时,它总是显示图形中有0个三元组。我想知道它是否成功地将三元组插入到数据集中。如果是,那么我在哪里可以找到这些三元组?如果没有,如何将三元组添加到默认图形中?非常感谢您的帮助。

如果您这样开始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)

SPARQL 1.1使用
SPARQLUpdateStore更新查询
很抱歉,我是stackoverflow新手,对操作不太熟悉。我已经编辑了这个问题,但不知道为什么它说了太多的价值观来解包。谢谢你的关注和时间。我刚刚运行了代码,但得到了上面的错误。我已经编辑了问题描述。你能帮我一下吗?你能正常运行吗?是的,我试过了。然后错误是“SPARQLUpdateStore”对象没有属性“add\u Graph”。然后我改为store.add(g),当我重新编辑上面的内容时,它说“太多的值无法解包(预期为3)”。
add_graph
-小写的“g”更新:忘记了rdflib“graph”有点奇怪,包含一个“标识符”。不知道如何使用默认图形,但是更新的代码可以工作。看起来代码可以工作。但是在Fuseki服务器中,它总是显示默认图形中的0是三倍。那么插入的三元组应该在哪个图形中?