首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SHACL/ShEX约束使属性生成层次结构(即树)

SHACL/ShEX约束使属性生成层次结构(即树)
EN

Stack Overflow用户
提问于 2020-08-09 13:54:45
回答 1查看 132关注 0票数 1

我对SHACL和ShEx了解甚少。

我一直在阅读关于它们的文章,并了解是否可以在属性上创建约束,使其定义层次结构(即类似树的结构)。

我想我要找的是一种方法来指定,对于给定的属性p

( a)此可以发生(o1 != o2):

代码语言:javascript
复制
   s p o1 .
   s p o2 .
   ...
   s p oN

( b)但是这个不能 (s1 != s2):

代码语言:javascript
复制
   s1 p o .
   s2 p o

我想我应该对p的基数使用某种约束,对吗?

不知道如何指定b),甚至可能使用SHACL或ShEX。我应该用猫头鹰吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-11 20:33:55

OWL中的

假设DifferentIndividuals: :s1, :s2等:

代码语言:javascript
复制
ObjectProperty: :p
  Characteristics: InverseFunctional

In ShEx

使用形状图(如{_ :p FOCUS} @ :Shape )

代码语言:javascript
复制
:Shape { 
  ^:p IRI ?
}

示例

中的SHACL

代码语言:javascript
复制
:Shape a sh:NodeShape ;
  sh:targetObjectsOf :p ;
  sh:property [
    sh:path [ sh:inversePath :p ] ;
    sh:maxCount 1 
  ] .

示例

纯SPARQL中的

代码语言:javascript
复制
ASK { ?o ^:p ?s1, ?s2 . FILTER (?s1 != ?s2) }

(一般)

“验证RDF数据”

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63327147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档