Sparql 做所有导入的本体';猫头鹰&x27;或';rdf';,实施';域'';范围';以及其他相关的谓词?

Sparql 做所有导入的本体';猫头鹰&x27;或';rdf';,实施';域'';范围';以及其他相关的谓词?,sparql,rdf,rdf-xml,Sparql,Rdf,Rdf Xml,对不起,如果这是一个简单的问题,但它将帮助我解决我的概念混乱!我有一些猜测,但我想确定一下 我通过本体和下面的查询得到了大脑一部分的位置: PREFIX fma: <http://sig.uw.edu/fma#> select ?loc{ fma:Superior_temporal_gyrus fma:location ?loc} 问题2如果上述查询正确,RDFS和OWL只是一个建议吗?或者导入/遵循它们的本体必须使用它们的所有资源,或者至少扩展它们 谢谢 OWL中的导

对不起,如果这是一个简单的问题,但它将帮助我解决我的概念混乱!我有一些猜测,但我想确定一下

我通过本体和下面的查询得到了大脑一部分的位置:

PREFIX fma: <http://sig.uw.edu/fma#>
 
 select ?loc{
 fma:Superior_temporal_gyrus fma:location ?loc}  
问题2如果上述查询正确,RDFS和OWL只是一个建议吗?或者导入/遵循它们的本体必须使用它们的所有资源,或者至少扩展它们


谢谢

OWL中的导入声明在很大程度上只是提供信息。它通常用于表示该本体重新使用目标中定义的一些概念(例如,它可以定义目标数据中定义的类的一些附加子类)

导入是否会导致任何其他数据加载到数据集中取决于您用于处理本体的数据库/API/推理器。默认情况下,大多数工具不会自动加载导入声明的目标,因此导入声明的存在与否不会影响查询返回的内容

我认为,由于这个本体还导入了RDF和OWL,下面的查询也应该可以工作,但事实并非如此(希望如此) 这些代码是正确的)

它是
rdf:type
,而不是
rdfs:type
。除此之外,每一件看起来都很好。但是,从更广泛的查询来看,
?loc
通常不是属性,而是属性值。属性值没有域和范围。您可以查询如下内容,可能是:

 optional { fma:location rdfs:domain ?value}
这会询问“如果属性
fma:location
具有域声明,则返回该声明并将其绑定到
?值
变量”

更一般地说,这些查询是否返回任何结果与本体中存在的导入声明无关。如果本体包含属性的范围声明,则第一个模式将返回结果。如果它包含一个域声明,第二个将返回一个结果。 最后,如果您的本体包含某个类的实例,则第三个模式(已更正)将返回一个结果。就这么简单


这里没有什么神奇之处:查询只返回数据集中存在的内容。数据集中存在的内容取决于您如何将数据加载到数据库中,以及(可选)在数据库顶部启用了何种形式的推理器

OWL中的导入声明在很大程度上只是提供信息。它通常用于表示该本体重新使用目标中定义的一些概念(例如,它可以定义目标数据中定义的类的一些附加子类)

导入是否会导致任何其他数据加载到数据集中取决于您用于处理本体的数据库/API/推理器。默认情况下,大多数工具不会自动加载导入声明的目标,因此导入声明的存在与否不会影响查询返回的内容

我认为,由于这个本体还导入了RDF和OWL,下面的查询也应该可以工作,但事实并非如此(希望如此) 这些代码是正确的)

它是
rdf:type
,而不是
rdfs:type
。除此之外,每一件看起来都很好。但是,从更广泛的查询来看,
?loc
通常不是属性,而是属性值。属性值没有域和范围。您可以查询如下内容,可能是:

 optional { fma:location rdfs:domain ?value}
这会询问“如果属性
fma:location
具有域声明,则返回该声明并将其绑定到
?值
变量”

更一般地说,这些查询是否返回任何结果与本体中存在的导入声明无关。如果本体包含属性的范围声明,则第一个模式将返回结果。如果它包含一个域声明,第二个将返回一个结果。 最后,如果您的本体包含某个类的实例,则第三个模式(已更正)将返回一个结果。就这么简单


这里没有什么神奇之处:查询只返回数据集中存在的内容。数据集中存在的内容取决于您如何将数据加载到数据库中,以及(可选)在数据库顶部启用了何种形式的推理器

谢谢!我在
'rdf:type
上编辑了我的打字错误。你能不能也看看我的第一个问题?根据你提到的,特别是域和范围的代码,我认为对象的类型不应该有任何区别。我真的不理解你的第一个问题。“如果结果是文字上的,有区别吗?”?与什么不同?@RFNO请再次阅读答案中最重要的部分:“这里没有魔法:查询只返回数据集中存在的内容。”-如果没有人声明域或范围,那么您期望什么?是的,它是否是一个属性很重要,因为设计本体论的人都不会为其他东西定义域和范围(为了简单起见,我在这里省略了一个事实,即通过推断,任何具有域或范围的
:x
都属于类型
rdf:property
)。@RFNO我也不明白,
optional背后的想法是什么{?value rdfs:range?loc}
?这里的
是什么?value
请阅读文档中
rdfs:domain
rdfs:range
的用法。@JeenBroekstra@AKSW好的,我想我几乎理解了你说的话。让我把最后一句话(希望:)这样提问:在同一个本体中,定义了一个
fma:volume
。它有
rdf:type owl:ObjectProperty和owl:FunctionalProperty
,但它没有
 optional { fma:location rdfs:domain ?value}