SPARQL 中的推理
Reasoning in SPARQL
对于我的大学,我正在学习 RDF/OWL/SPARQL。我正在尝试构建一个使用自动 classification 的网络应用程序,我使用 Protege 开发 ontology。现在我有一个 class 智能手机和一个 subclass Fast_Smartphone,相当于 属性 设置为:
Smartphone
and (hasCores some integer[>=4])
现在,当我转到 DL 查询选项卡和 Fast_smartphone class 的 select 个实例时,它会成功显示所有具有 4 个或更多内核的智能手机实例.但是,当我转到 SPARQL 查询选项卡并键入以下查询时:
SELECT *
WHERE { ?x ?y uni:Fast_smartphone}
没有结果。使用以下查询:
SELECT *
WHERE {uni:Fast_smartphone ?x ?y }
成功 returns:
x
等效类
y
智能手机和(有一些整数[>=4])
推理机已开启并同步(隐士)。
我不知道为什么它不会 return 与 DL 选项卡相同的结果。我做错了什么吗?
Protege 中的 SPARQL Query
不允许推理。 Hermit 是一个非常好的分类推理器,但我不认为它用于 RL 推理。
我通常在 Protege 上构建我的 ontology 并使用 Hermit 测试一致性和分类。但是,当我需要使用 SPARQL 查询数据集时,我会导出数据并将其放入三元组中(在我看来,Stardog 是一个不错的选择)。
对于我的大学,我正在学习 RDF/OWL/SPARQL。我正在尝试构建一个使用自动 classification 的网络应用程序,我使用 Protege 开发 ontology。现在我有一个 class 智能手机和一个 subclass Fast_Smartphone,相当于 属性 设置为:
Smartphone
and (hasCores some integer[>=4])
现在,当我转到 DL 查询选项卡和 Fast_smartphone class 的 select 个实例时,它会成功显示所有具有 4 个或更多内核的智能手机实例.但是,当我转到 SPARQL 查询选项卡并键入以下查询时:
SELECT *
WHERE { ?x ?y uni:Fast_smartphone}
没有结果。使用以下查询:
SELECT *
WHERE {uni:Fast_smartphone ?x ?y }
成功 returns:
x
等效类
y
智能手机和(有一些整数[>=4])
推理机已开启并同步(隐士)。 我不知道为什么它不会 return 与 DL 选项卡相同的结果。我做错了什么吗?
SPARQL Query
不允许推理。 Hermit 是一个非常好的分类推理器,但我不认为它用于 RL 推理。
我通常在 Protege 上构建我的 ontology 并使用 Hermit 测试一致性和分类。但是,当我需要使用 SPARQL 查询数据集时,我会导出数据并将其放入三元组中(在我看来,Stardog 是一个不错的选择)。