Python 指向外部文件的属性的shacl验证错误

Python 指向外部文件的属性的shacl验证错误,python,validation,rdf,json-ld,shacl,Python,Validation,Rdf,Json Ld,Shacl,数据文件位于以下url: 我已经为上面的数据文件编写了一个shacl形状。但是,当我尝试验证时,会出现一个错误。在上面的数据文件中,键responseOptions指向一个外部jsonld文件——这就是错误发生的时间。如果将外部文件嵌入到数据文件本身中,则不会出现错误。 我已将此形状用于响应选项: sh:property [ sh:path reproterms:valueconstraints ; sh:or ( [ sh:nodeKind sh:IRI ]

数据文件位于以下url:

我已经为上面的数据文件编写了一个shacl形状。但是,当我尝试验证时,会出现一个错误。在上面的数据文件中,键
responseOptions
指向一个外部jsonld文件——这就是错误发生的时间。如果将外部文件嵌入到数据文件本身中,则不会出现错误。 我已将此形状用于
响应选项

 sh:property [
        sh:path reproterms:valueconstraints ;
        sh:or ( [ sh:nodeKind sh:IRI ] [ sh:node reproterms:ResponseOptionsShape ] ) ;
   ] .
引发的错误是:

Traceback (most recent call last):
  File "validation/test.py", line 146, in <module>
    serialize_report_graph=True)
  File "/Users/sanuann/envs/trial/lib/python3.7/site-packages/pyshacl/validate.py", line 259, in validate
    do_owl_imports=False)  # no imports on data_graph
  File "~/envs/trial/lib/python3.7/site-packages/pyshacl/rdfutil/load.py", line 110, in load_from_source
    first_char = source[0]
IndexError: string index out of range
回溯(最近一次呼叫最后一次):
文件“validation/test.py”,第146行,在
序列化报告(图=真)
文件“/Users/sanuann/envs/trial/lib/python3.7/site packages/pyshacl/validate.py”,第259行,在validate中
do_owl_imports=False)#数据图上没有导入
文件“~/envs/trial/lib/python3.7/site packages/pyshacl/rdfutil/load.py”,第110行,从源加载
第一个字符=源[0]
索引器错误:字符串索引超出范围

上面的形状正确吗?我做错了什么?

您的数据类型约束
sh:datatype sh:IRI
已关闭。
sh:datatype
三元组的对象必须是rdf数据类型,例如
xsd:string
。我想您想检查
sh:nodeKind sh:IRI

哎呀,那是个错误!它也不适用于
sh:nodeKind sh:IRI
。我看到您引用了形状
reproterms:responseOptions形状
。但是,当我转到该前缀的URI(
https://schema.repronim.org/rl/activities/PHQ-9/items/phq9_8
->
https://schema.repronim.org/rl/contexts/generic
->
https://schema.repronim.org/rl/terms/
),在那里找不到RDF数据。你确定你的shacl处理器能找到那个形状吗?如果不使用,数据图是否有效?