sparql - 如何在 SPARQL python (sparql-client) 中加入两个查询
问题描述
我正在编写一个SPARQL查询以从 2 个 rdf 文件中获取名称和专业知识。使用 rdflib graph() 我可以一次解析和查询一个 rdf 文件,但我无法在这里获得连接的想法。我怎样才能做到这一点?如何解析两个 rdf 文件并在 python 客户端中进行连接SPARQL查询,例如 UNION?请分享你的想法。谢谢你。
名称.rdf
<rdf:RDF
xmlns:researche="http://example.com/researche#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://example.app.web/researche#researcher1">
<researche:name>John Snow</researche:name>
<researche:hasExpertise rdf:resource="http://example.com/researche#expertise1"/>
<researche:hasExpertise rdf:resource="http://example.com/researche#expertise3"/>
</rdf:Description>
</rdf:RDF>
专业知识.rdf
<rdf:RDF
xmlns:researche="http://example.com/researche#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://example.com/researche#expertise1">
<researche:name>Web engineering</researche:name>
</rdf:Description>
<rdf:Description rdf:about="http://example.com/researche#expertise2">
<researche:name>DevOps</researchee:name>
</rdf:Description>
</rdf:RDF>
这是我的 query.py 文件..
g.parse("name.rdf")
g2.parse("expertise.rdf")
qres = g.query(
"""SELECT DISTINCT ?name ?expertise
WHERE {
?a researche:name ?name .
?a researche:hasExpertise ?expertise .
}""")
N:B:query.py 不完整。
解决方案
推荐阅读
- php - 格式化为特定 HTML 的递归树
- javascript - 如何切换自身/目标元素
- javascript - Javascript 生成器函数似乎没有被调用
- javascript - 如果在内容仍在滚动时点击它,移动设备上的滚动到顶部按钮不起作用
- scala - 使用带有列名列表的 Spark DataFrame 过滤器
- python - Python CPLEX 记录可行解
- azure - 使用客户端、服务器部署解决方案并共享到 azure(Blazor wasm、.net core api)
- laravel - Laravel 5.7 验证无济于事
- python - 比较两个数据帧并在 Python 中查找每个数据帧中缺少的内容
- java - 如何使用 Selenium WebDriver 与 Angular ColorPicker 组件交互?