ошибка проверки shacl для свойства, указывающего на внешний файл - PullRequest
0 голосов
/ 30 мая 2020

data_file находится по этому URL: https://schema.repronim.org/rl/activities/PHQ-9/items/phq9_8

Я написал форму shacl для указанного выше файла данных. однако при попытке проверки я получаю сообщение об ошибке. В приведенном выше файле данных ключ responseOptions указывает на внешний файл jsonld, когда возникает ошибка. если я вставлю внешний файл в сам файл данных, ошибки не будет. Я использовал эту форму для responseOptions:

 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

Правильна ли форма выше? Что я делаю не так?

1 Ответ

1 голос
/ 30 мая 2020

Ваше ограничение типа данных sh:datatype sh:IRI отключено. Объект тройки sh:datatype должен иметь тип данных rdf, например xsd:string. Думаю, вы хотели проверить sh:nodeKind sh:IRI.

...