首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ShEx验证--结果形状映射中的原因和appInfo为空

ShEx验证--结果形状映射中的原因和appInfo为空
EN

Stack Overflow用户
提问于 2020-04-20 18:45:43
回答 1查看 59关注 0票数 0

我正在学习ShEx,并在我的项目中使用由http://shexjava.lille.inria.fr/完成的'shexjava‘。我有模式,数据图和固定的形状图。当我使用精炼和递归验证验证时,我得到的是ResultShapeMap,但是对于NONCONFORMANT状态,原因appInfo为null。我不明白为什么这两个字段为空。

我有模式,dataGraph,shapeMap。这是用于验证的代码。

代码语言:javascript
复制
ValidationAlgorithm vl = new RefineValidation(schema, dataGraph); 
ResultShapeMap result = vl.validate(shapeMap);

形状是,

代码语言:javascript
复制
{
  "@context": "http://www.w3.org/ns/shex.jsonld",
  "type": "Schema",
  "shapes": [
        {
          "id": "http://example.com/ns#HouseShape",
          "type": "Shape",      
           "expression": {
                "type": "EachOf",
                "expressions": [
                  { "type":      "TripleConstraint",
                    "predicate": "http://example.com/ns#number",
                    "valueExpr": { "type": "NodeConstraint", 
                                   "datatype": "http://www.w3.org/2001/XMLSchema#String"
                    }
                  },
                  { "type":      "TripleConstraint",
                    "predicate": "http://example.com/ns#size",                
                    "valueExpr": { "type": "NodeConstraint", 
                                   "datatype": "http://www.w3.org/2001/XMLSchema#decimal"
                    }
                  }
                ]
              }      
        }
  ]
}

数据是,

代码语言:javascript
复制
ex:House1 a ex:House ; 
          ex:number "11A" ; 
          ex:size 23 .

我的结果是

代码语言:javascript
复制
ResultShapeMap [ 
   associations= [
      ShapeAssociation [
        nodeSelector=<example.com/ns#House>, 
        shapeSelector=<example.com/ns#HouseShape>, 
        status=NONCONFORMANT, 
        reason=null, 
        appInfo=null 
      ] 
   ] 
] 

我想说出不符合的原因。但这让我觉得这是无效的。

有人能帮帮我吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-24 09:38:45

shexjava实现目前不支持指示失败的原因。这是因为当节点不满足形状时,可能有几个原因。

如果你想学习ShEx,我建议你使用ShapeDesigner

https://gitlab.inria.fr/jdusart/shexjapp/

它提供了一个图形界面,您可以在其中探索验证结果。

在这种情况下,它表明验证失败,因为23不是十进制(实际上是整数) ShapeDesigner中验证探索结果的截图

我不知道这是否是一个bug,也就是说,在RDF中,积分器是否也应该被认为是小数。

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

https://stackoverflow.com/questions/61329775

复制
相关文章

相似问题

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