Skip to content

Conversation

@schivmeister
Copy link
Contributor

Support fetching domain, range and cardinality information from vocabularies containing a SHACL graph. The queries are different depending on whether it is an object property or a datatype property. Where the information isn't available, there will be empty cells in the report.

There is also support for value node constraints for certain patterns of expressing ranges for IRIs with sh:hasValue, such as SKOS vocabularies, used for example in recent versions of the eProcurement ontology (ePO):

sh:nodeKind sh:IRI ;
sh:node [
  rdf:type sh:NodeShape ;
  sh:property [
    sh:path skos:inScheme ;
    sh:hasValue atold:language ;
  ] ;
] .

Currently, this feature is NOT for capturing changes in the domain, range and cardinality, and is only for the case of ADDED instances of such resources, not their modifications.

The information won't show up for individual property changes on the resources (added/updated/changed/moved labels and the whole shebang). The queries in those cases will differ between modification types, and there is the question of how to fit all of the information in an already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so performance may be affected, though hopefully not by too much. If that becomes a concern, we can turn these over onto a new template, where a SHACL graph would be made mandatory.

Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
  rdf:type sh:NodeShape ;
  sh:property [
    sh:path skos:inScheme ;
    sh:hasValue atold:language ;
  ] ;
] .

```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.
@schivmeister schivmeister self-assigned this Nov 7, 2025
schivmeister added a commit to meaningfy-ws/rdf-differ-ws that referenced this pull request Nov 11, 2025
Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
rdf:type sh:NodeShape ;
sh:property [
sh:path skos:inScheme ;
sh:hasValue atold:language ;
] ;
] .

```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.

Application of meaningfy-ws/diff-query-generator#34.
schivmeister added a commit to meaningfy-ws/rdf-differ-ws that referenced this pull request Nov 11, 2025
Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
rdf:type sh:NodeShape ;
sh:property [
sh:path skos:inScheme ;
sh:hasValue atold:language ;
] ;
] .

```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.

Application of meaningfy-ws/diff-query-generator#34.
schivmeister added a commit to meaningfy-ws/rdf-differ-ws that referenced this pull request Nov 11, 2025
Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
rdf:type sh:NodeShape ;
sh:property [
sh:path skos:inScheme ;
sh:hasValue atold:language ;
] ;
] .

```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.

Application of meaningfy-ws/diff-query-generator#34.
schivmeister added a commit to meaningfy-ws/rdf-differ-ws that referenced this pull request Nov 11, 2025
Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
rdf:type sh:NodeShape ;
sh:property [
sh:path skos:inScheme ;
sh:hasValue atold:language ;
] ;
] .

```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.

Application of meaningfy-ws/diff-query-generator#34.
schivmeister added a commit to meaningfy-ws/rdf-differ-ws that referenced this pull request Nov 11, 2025
Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
rdf:type sh:NodeShape ;
sh:property [
sh:path skos:inScheme ;
sh:hasValue atold:language ;
] ;
] .

```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.

Application of meaningfy-ws/diff-query-generator#34.
schivmeister added a commit to meaningfy-ws/rdf-differ-ws that referenced this pull request Nov 11, 2025
Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
  rdf:type sh:NodeShape ;
  sh:property [
    sh:path skos:inScheme ;
    sh:hasValue atold:language ;
  ] ;
] .
```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.

Application of meaningfy-ws/diff-query-generator#34.
Copy link
Contributor

@costezki costezki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

Base automatically changed from feature/DIF1-27_wide-tables to main November 12, 2025 09:24
@schivmeister schivmeister merged commit b2a52c4 into main Nov 12, 2025
2 checks passed
@schivmeister schivmeister deleted the feature/DIF1-17_shacl-info branch November 12, 2025 09:24
schivmeister added a commit to meaningfy-ws/rdf-differ-ws that referenced this pull request Nov 12, 2025
Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
  rdf:type sh:NodeShape ;
  sh:property [
    sh:path skos:inScheme ;
    sh:hasValue atold:language ;
  ] ;
] .
```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.

Application of meaningfy-ws/diff-query-generator#34.
schivmeister added a commit to meaningfy-ws/rdf-differ-ws that referenced this pull request Nov 12, 2025
Support fetching domain, range and cardinality information from
vocabularies containing a SHACL graph. The queries are different
depending on whether it is an object property or a datatype property.
Where the information isn't available, there will be empty cells in the
report.

There is also support for value node constraints for certain patterns of
expressing ranges for IRIs with `sh:hasValue`, such as SKOS
vocabularies, used for example in recent versions of the eProcurement
ontology (ePO):

```ttl
sh:nodeKind sh:IRI ;
sh:node [
  rdf:type sh:NodeShape ;
  sh:property [
    sh:path skos:inScheme ;
    sh:hasValue atold:language ;
  ] ;
] .
```

Currently, this feature is NOT for capturing changes in the domain,
range and cardinality, and is only for the case of ADDED instances of
such resources, not their modifications.

The information won't show up for individual property changes on the
resources (added/updated/changed/moved labels and the whole shebang).
The queries in those cases will differ between modification types, and
there is the question of how to fit all of the information in an
already-crowded table. Work will continue on how best to approach this.

P.S: There are nested OPTIONALs as the graph may not exist, so
performance may be affected, though hopefully not by too much. If that
becomes a concern, we can turn these over onto a new template, where a
SHACL graph would be made mandatory.

Application of meaningfy-ws/diff-query-generator#34.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants