Rdf 使用Proté构建子查询;gé;DL查询编辑器
我有Rdf 使用Proté构建子查询;gé;DL查询编辑器,rdf,sparql,owl,ontology,Rdf,Sparql,Owl,Ontology,我有 包含个人DocA、DocB和DocC的类“文档” 对象属性“关于” 一个包含WatchA、WatchB和WatchC的类“Watch” 我断言DocA是关于WatchA的,DocB是关于WatchB的,DocC是关于watchC的 我需要一个查询,返回所有现有手表的所有文档。我可以编写一个DL查询:Document and(关于value Watch a或关于value Watch B或关于value Watch C) 但是我想写一个子查询,例如watchhascoolor Black
- 包含个人DocA、DocB和DocC的类“文档”
- 对象属性“关于”
- 一个包含WatchA、WatchB和WatchC的类“Watch”
有什么建议吗?谢谢您可以将OWL表达式表述为:
文档和关于一些(手表和颜色值黑色)
,并检索个体。在这种情况下,查询将返回documentA
,因为它是这个表达式所包含的唯一一个
我假设您的本体/知识库如下所示(伪OWL-Manchester语法):
前缀:示例:
#对象属性
对象属性:
对象属性:
#班级
类别:
类别:
类别:
#个人及其类型
个人:
类型:
个人:
类型:
事实:
个人:
类型:
事实:
Prefix: example: <http://www.example.org/>
# Object properties
ObjectProperty: <example:about>
ObjectProperty: <example:color>
# Classes
Class: <example:Color>
Class: <example:Watch>
Class: <example:Document>
# Individuals and their types
Individual: <example:black>
Types:
<example:Color>
Individual: <example:watchA>
Types:
<example:Watch>
Facts:
<example:color> <example:black>
Individual: <example:documentA>
Types:
<example:Document>
Facts:
<:example:about> <example:watchA>