Skip to content

Relax Node Expression definitions to avoid BNode requirement #371

Open
@gtfierro

Description

@gtfierro

Apologies if this is not the right place to raise this issue (and I'm happy to document this elsewhere if necessary!), but I was curious about the possibility of removing the BNode requirement for Node Expressions: https://www.w3.org/TR/shacl-af/#node-expressions

Specifically, requiring that the expression starts with a BNode makes it impossible to use skolemization on the shapes graph as part of processing. Skolemization replaces the blank nodes with named nodes, and therefore won't trigger evaluation of the Node Expression as intended. We ran into this issue at open223/docs.open223.info#49 (with @steveraysteveray). The TopQuadrant SHACL implementation doesn't seem to care about the node expressions being BNodes, but the PySHACL implementation does.

My ask is that the definition of Node Expressions be relaxed to use either named nodes or blank nodes. Let me know if I can provide more details, draft spec language, or anything else!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions