gpt4 book ai didi

python - 在 SPARQL 过滤语句中引用 OWL 类

转载 作者:行者123 更新时间:2023-11-28 17:49:14 25 4
gpt4 key购买 nike

我已经开发了一个本体,您可以通过下面代码中的链接访问它。除 FILTER 部分外,代码工作正常。如果我在 FILTER 中使用等于运算符,它不会返回任何内容。如果我使用不等于运算符 (!=),它不会过滤任何内容。我想我在本体论中使用“owl:Brands”对 Brands 类的引用不起作用。我缩短了 url,因为我不希望它被网络爬虫索引。我在代码中使用原始 URL。您可以使用缩短的网址访问原始网址。您可以通过编辑器浏览本体。我很确定“owl:Brands”不起作用,我尝试了许多其他可能性,但无法弄清楚如何让它起作用。

如果没有 FILTER 语句,它的作用等同于“FILTER(?sub!=owl:Brands)”,因为没有与 owl:Brands 匹配的内容。仅供引用,我正在使用 python 和 rdflib。

    plugin.register(
'sparql', rdflib.query.Processor,
'rdfextras.sparql.processor', 'Processor')
plugin.register(
'sparql', rdflib.query.Result,
'rdfextras.sparql.query', 'SPARQLQueryResult')

qres = g.query(
"""
PREFIX owl: <http://goo.gl/ZwwgT>
SELECT ?class WHERE { ?sub rdfs:subClassOf ?class .
FILTER(?sub=owl:Brands)}

""")

for row in qres.result:
print(row)

最佳答案

我只能假设您错误地转录了您的示例,或者 rdflib 存在错误。我加载了您的本体,执行了您的查询(使用本体的扩展 URL)并得到了一个结果,Beer。然而,我并没有使用 RDFlib。您可以尝试将其提炼成单个测试用例,并将其提供给 RDFlib 作者,以便他们解决问题,和/或考虑使用不同的数据库。

关于python - 在 SPARQL 过滤语句中引用 OWL 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com