用rdflib解析SPARQL更新查询

2024-09-23 22:26:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用rdflib以编程方式分析sparql1.1更新查询。在

使用以下(Python 3.5)代码:

from rdflib.plugins.sparql.parser import parseUpdate
from pprint import pprint

qs = '''DELETE {
  <> a <urn:type:A> , <urn:type:b> ;
    <urn:p:a> ?x .
} INSERT {
  <> <urn:p:a> "hello" .
} WHERE {
  <> <urn:p.a> ?x .
}'''

q = parseUpdate(qs)
pprint(q)

我得到以下结果:

^{pr2}$

这有点道理,但很笨拙。最让人费解的是,每个语句的所有术语都被弄脏成一个列表,而不是被三元组分开。在

我查看了RDFlib的文档(非常缺乏),甚至查看了负责解析的源代码,寻找一些方便的方法来提取每个语句的三元组,但是没有用。在

为了寻找其他更好的方法来实现这一点,我阅读了Parsing SPARQL queries并查看了其他库,但它们似乎都是alpha或dead。在

有没有人有什么建议来理解上面的数据结构?在

非常感谢。在


Tags: 方法代码fromimporttype编程方式plugins