两个包都是错误的原因。我使用的是Canopy中的python(rdflibv3.0.1-1和rdfextras0.1-1)。我在MacOSX上的内置python中更新了这两个包,并测试了相同的代码。现在,它成功了。谢谢Joshua,我还在学习sparql,
两个包都是错误的原因。我使用的是Canopy中的python(rdflibv3.0.1-1和rdfextras0.1-1)。我在MacOSX上的内置python中更新了这两个包,并测试了相同的代码。现在,它成功了。谢谢Joshua,我还在学习sparql,,python,sparql,rdflib,Python,Sparql,Rdflib,两个包都是错误的原因。我使用的是Canopy中的python(rdflibv3.0.1-1和rdfextras0.1-1)。我在MacOSX上的内置python中更新了这两个包,并测试了相同的代码。现在,它成功了。谢谢Joshua,我还在学习sparql,我犯了很多错误。正如我提到的,如果我在protege的sparql中运行相同的查询,它会给出我期望的结果。你们有什么线索,为什么我在Python中使用RDFlib运行时会出现错误?文件a.owl是本地文件,我不知道如何在这里共享。您在问题中说“
两个包都是错误的原因。我使用的是Canopy中的python(rdflibv3.0.1-1和rdfextras0.1-1)。我在MacOSX上的内置python中更新了这两个包,并测试了相同的代码。现在,它成功了。谢谢Joshua,我还在学习sparql,我犯了很多错误。正如我提到的,如果我在protege的sparql中运行相同的查询,它会给出我期望的结果。你们有什么线索,为什么我在Python中使用RDFlib运行时会出现错误?文件a.owl是本地文件,我不知道如何在这里共享。您在问题中说“没有错误”。您的查询在Protégé中返回结果并被sparql.org识别为有效的事实表明,这不是查询的问题,而是查询所针对的数据的问题。正如我在对主要问题的评论中要求澄清的那样,您运行此操作所依据的数据是什么。例如,
/localPath/a.owl
的内容是什么?这是与a.owl文件()的链接。也许我的代码很混乱,但我希望从这个文件中看到所有类和属性及其各自的标签和注释。这就是我试图编写的代码。谢谢Joshua,我还在学习sparql,我犯了很多错误。正如我提到的,如果我在protege的sparql中运行相同的查询,它会给出我期望的结果。你们有什么线索,为什么我在Python中使用RDFlib运行时会出现错误?文件a.owl是本地文件,我不知道如何在这里共享。您在问题中说“没有错误”。您的查询在Protégé中返回结果并被sparql.org识别为有效的事实表明,这不是查询的问题,而是查询所针对的数据的问题。正如我在对主要问题的评论中要求澄清的那样,您运行此操作所依据的数据是什么。例如,/localPath/a.owl
的内容是什么?这是与a.owl文件()的链接。也许我的代码很混乱,但我希望从这个文件中看到所有类和属性及其各自的标签和注释。这就是我试图编写的代码。
import rdflib
from rdflib import plugin
from rdflib.graph import Graph
g = Graph()
g.parse("/localPath/a.owl")
from rdflib.namespace import Namespace
ns = Namespace("http://oaei.ontologymatching.org/2011/benchmarks/101/onto.rdf#")
plugin.register(
'sparql', rdflib.query.Processor,
'rdfextras.sparql.processor', 'Processor')
plugin.register(
'sparql', rdflib.query.Result,
'rdfextras.sparql.query', 'SPARQLQueryResult')
#
qres = g.query(
"""
SELECT DISTINCT ?varClass ?varSubClass ?varSubClassComment ?varProperty ?varPropComment
WHERE {
{
?varClass rdf:type owl:Class .
?varProperty rdf:type owl:ObjectProperty ; rdfs:domain ?varClass . OPTIONAL{?varProperty rdfs:comment ?varPropComment} .
OPTIONAL{?varSubClass rdfs:subClassOf ?varClass ; rdfs:comment ?varSubClassComment} .
}
UNION
{
?varClass rdf:type owl:Class .
?varProperty rdf:type owl:DatatypeProperty ; rdfs:domain ?varClass . OPTIONAL{?varProperty rdfs:comment ?varPropComment}.
}
}
"""
, initNs=dict(
ns=Namespace("http://oaei.ontologymatching.org/2011/benchmarks/101/onto.rdf#")
)
)
for row in qres.result:
#print ("%s %s %s %s %s" % row) # %s represent the fields selected in the query
print row
print (len(qres.result))