小编Dia*_*tal的帖子

使用Python rdflib:如何在sparql查询中包括文字?

我可以在查询中包含URI和变量,但不能在查询中包含文字。

在这里,我有一些代码可以成功读取RDF文件,使用skos:prefLabels查找所有RDF三元组,对它们进行计数,然后从一组关键字中识别出几个特定的​​三元组:

import rdflib.plugins.sparql as sparql
import rdflib
import rdflib.graph as g

graph = g.Graph()
# Read the RDF file
graph.parse(
   'h:\......SKOSTaxonomy.rdf',
   format='xml')

# Build and execute the query
q = sparql.prepareQuery('SELECT ?s ?p ?o WHERE { ?s ?p ?o .}')
p = rdflib.URIRef("http://www.w3.org/2004/02/skos/core#prefLabel")
qres = graph.query(q, initBindings = {'p' : p})

print len(qres)

# Look for keywords among the results
keywords = set([u'Jackknifing', 'Technology-mapping', 'Something random'])

for (subj, pred, obj) in qres:
    if obj.value in keywords:
        print obj.value
Run Code Online (Sandbox Code Playgroud)

如预期的那样,此代码将输出: …

python sparql rdflib

5
推荐指数
1
解决办法
1411
查看次数

标签 统计

python ×1

rdflib ×1

sparql ×1