首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ShEx常量与数据中的相同项不匹配?

为什么ShEx常量与数据中的相同项不匹配?
EN

Stack Overflow用户
提问于 2017-10-22 20:15:29
回答 2查看 58关注 0票数 4

我有一个期望特定类型的ShEx模式:

代码语言:javascript
复制
epri:VariableShape {
  a st:studyVariable ;
  st:subject [tax:~] ;
  st:signal xsd:decimal
}

它拒绝使用该类型的数据。

代码语言:javascript
复制
st:envFactorEMF a st:studyVariable ; # << this isn't recognized
  st:subject tax:1758 ;
  st:signal -.00043 .

(演示)为什么会这样?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-22 21:44:47

您链接到的演示程序中的错误消息实际上描述了确切的问题。

错误验证http://www.epri.com/studies/3002011786studyVariable为{“类型”:“NodeConstraint”,“数据类型”:“http://www.epri.com/studies/3002011786studyVariable”}:不匹配的数据类型:http://www.epri.com/studies/3002011786studyVariable不是带有数据类型http://www.epri.com/studies/3002011786studyVariable的文字

您使用的是数据类型约束,这不是您想要的。

您需要使用a [ st:studyVariable ],因为您希望指定一个值集

代码语言:javascript
复制
epri:VariableShape {
  a [ st:studyVariable ];
  st:subject [tax:~] ;
  st:signal xsd:decimal
}
票数 5
EN

Stack Overflow用户

发布于 2017-10-22 22:19:15

约书亚·泰勒的回答是很重要的,但是,由于这是ShEx中最常见的错误,我想我应该用一些ascii艺术来阐述。

ShEx数据类型表示为裸虹膜,而值集则用[]s表示。你有一个rdf:type of st:studyVariable

代码语言:javascript
复制
epri:VariableShape {
  a st:studyVariable ;   # <-- datatype
  st:subject [tax:~] ;   # <-- value set
  st:signal xsd:decimal  # <-- datatype
}

当您想要一个(小的) st:studyVariable值集时

代码语言:javascript
复制
epri:VariableShape {
  a [st:studyVariable] ; # <-- value set
  st:subject [tax:~] ;   # <-- value set
  st:signal xsd:decimal  # <-- datatype
}

(演示)

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

https://stackoverflow.com/questions/46878729

复制
相关文章

相似问题

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