gpt4 book ai didi

rdf - 使用 SPARQL 获取个人的类(class)

转载 作者:行者123 更新时间:2023-12-04 05:24:33 26 4
gpt4 key购买 nike

我想得到一个人所属的类(class)。更详细地说,我想将参数传递给使用 python(使用 rdflib)的个人方法,方法应该返回它所属的个人的类。

例如:我有一个 AlcoholicBeverage 类,它有 Beer 子类,Beer 类有一个 Brands 子类。在品牌类中有许多代表啤酒品牌的人。
我想将参数传递给方法,运行 SPARQL 查询以查找,xyz 是 Brands 类的一个个体。

理想情况下,我还想得到,xyz 是啤酒(因为 Brands 类是 Beer 的子类),而 Beer 是 AlcoholicBeverage。

谢谢你的帮助。

最佳答案

怎么样:

SELECT ?class WHERE { xyz a ?class . }

请注意, ardf:type 的简写 - 请参阅 SPARQL specification 部分 4.2.4

如果父类(super class) (AlcoholicBeverage, Beer) 已显式添加到您的 RDF 模型中,或者您有 inference enabled(以及加载到模型中的模式),那么您只会从该查询中获取父类(super class)(AlcoholicBeverage、Beer),以便隐式添加它们。

你的模式有点奇怪——啤酒显然是酒精饮料的一个子类,但什么是品牌?为什么不将每个品牌都设为 Beer 的子类(暗示个体是实际的实体饮料:“这种饮料是 Old Peculier ,它是一种啤酒”),或者将每个品牌都设为 Beer 的个体:“ Old Peculier 是啤酒“, 例如。品牌似乎是一种在正式模式中没有意义的非正式占位符?当您的其他类名是单数时,为什么 Brands 是复数?

关于rdf - 使用 SPARQL 获取个人的类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13350175/

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