首页 > 解决方案 > 如何在 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 不完整。

标签: sparqlrdfrdfsrdflib

解决方案


推荐阅读