Skip to content

shaclinfer.sh hangs when ttl contains some specific owl:imports #53

@vsimko

Description

@vsimko

In some cases, the shaclinfer.sh (and also shaclvalidate.sh) hangs when the input turtle file contains some specific owl:imports. I think it tries to automatically download and parse the sources referenced by the imports.

Minimal reproducible example:

<http://some/uri> <http://www.w3.org/2002/07/owl#imports> <http://spdx.org/licenses/LGPL-2.0-or-later> .

A dirty workaround that I'm currently using is:

sed 's/owl:imports.*;//g' file.ttl > file-without-imports.ttl
shaclinfer.sh -datafile file-without-imports.ttl

When I do this, I need to declare additional prefixes because my sh:rule would not work.
Here is the list of prefixes that I added:

  sh:declare [
      rdf:type sh:PrefixDeclaration ;
      sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ;
      sh:prefix "rdfs" ;
    ] ;
  sh:declare [
      rdf:type sh:PrefixDeclaration ;
      sh:namespace "http://www.w3.org/2001/XMLSchema#"^^xsd:anyURI ;
      sh:prefix "xsd" ;
    ] ;
  sh:declare [
      rdf:type sh:PrefixDeclaration ;
      sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI ;
      sh:prefix "owl" ;
    ] ;
  sh:declare [
      rdf:type sh:PrefixDeclaration ;
      sh:namespace "http://www.w3.org/ns/shacl#"^^xsd:anyURI ;
      sh:prefix "sh" ;
    ] ;

It would be nice if the scripts could at least provide a flag (e.g. -noimports) to turn off owl:imports.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions