0

sh:qualifiedValueShape 状态的定义:

指定数量的值节点需要符合的形状。形状中 sh:qualifiedValueShape 的值必须是格式正确的形状。节点形状不能有 sh:qualifiedValueShape 的任何值。这是 sh:QualifiedMinCountConstraintComponent 和 sh:QualifiedMaxCountConstraintComponent 的强制参数。

然后我们有以下例子

ex:QualifiedValueShapeExampleShape
    a sh:NodeShape ;
    sh:targetNode ex:QualifiedValueShapeExampleValidResource ;
    sh:property [
        sh:path ex:parent ;
        sh:minCount 2 ;
        sh:maxCount 2 ;
        sh:qualifiedValueShape [
            sh:path ex:gender ;
            sh:hasValue ex:female ;
        ] ;
        sh:qualifiedMinCount 1 ;
    ] .
ex:HandShape
    a sh:NodeShape ;
    sh:targetClass ex:Hand ;
    sh:property [
        sh:path ex:digit ;
        sh:maxCount 5 ;
    ] ;
    sh:property [
        sh:path ex:digit ;
        sh:qualifiedValueShape [ sh:class ex:Thumb ] ;
        sh:qualifiedValueShapesDisjoint true ;
        sh:qualifiedMinCount 1 ;
        sh:qualifiedMaxCount 1 ;
    ] ;
    sh:property [
        sh:path ex:digit ;
        sh:qualifiedValueShape [ sh:class ex:Finger ] ;
        sh:qualifiedValueShapesDisjoint true ;
        sh:qualifiedMinCount 4 ;
        sh:qualifiedMaxCount 4 ;
    ] .

尽管我对这两个示例都非常了解,但我不明白的是第二个示例在技术上如何匹配规范。我更具体地指向

sh:qualifiedValueShape [ sh:class ex:Finger ] 

那是。而在

sh:qualifiedValueShape [
            sh:path ex:gender ;
            sh:hasValue ex:female ;
        ] ;

我们可以看到空白节点是一个属性形状,我不知道空白节点是什么样的形状

sh:qualifiedValueShape [ sh:class ex:Finger ] 

确实代表。

有什么我在这里看不到的隐含的东西吗?sh:class用于属性形状,那么这里的实际路径是什么?

4

1 回答 1

1

[ sh:class ex:Finger ] 约束是一个隐式节点形状(因为它没有 sh:path 三元组)。这里表示ex:digit 的四个值必须符合指定的形状,即它们必须是ex:Finger 的实例。节点形状直接针对节点进行评估,并且在那个阶段,路径已经由周围的属性形状评估。

于 2021-06-22T21:57:14.617 回答