[data-shapes] Use case for SHACL profiling of data: multi-model interoperability (#764)

ajnelson-nist has just created a new issue for https://github.com/w3c/data-shapes:

== Use case for SHACL profiling of data: multi-model interoperability ==
This builds on the "Profiling Data" notes of [PR 754](https://github.com/w3c/data-shapes/pull/754), which is in draft status at the moment, but was discussed on today's profiling working group call.

The draft text at this time describes the conformance of a data graph against a single model/ontology/schema.

Suppose[^1] that I am designing a graph-backed application that will house measurements.  For the measurements "portion" of the graph design, I need to interoperate with two other graph-backed applications that cover different aspect of measurements.

1. One covers instrumentation and experiment design, and is grounded ultimately in BFO.  This particular application reviews that [qualities](http://purl.obolibrary.org/obo/BFO_0000019) link with [inheres in](http://purl.obolibrary.org/obo/BFO_0000197)[^2] in a manner conformant with BFO.
2. One covers measurement of properties and is grounded in SSN/SOSA.  This particular application reviews that [properties](https://www.w3.org/TR/2017/REC-vocab-ssn-20171019/#SSNProperty)[^3] (which I'll just call qualities) attach with [is property of](https://www.w3.org/TR/2017/REC-vocab-ssn-20171019/#SSNisPropertyOf) in a manner conformant with SSN.

To maintain interoperability with these two applications, the measurement application defines alignment classes and properties for storing its records.

```turtle
PREFIX ex: <http://example.org/ontology/>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX ssn: <http://www.w3.org/ns/ssn/>

ex:Quality
  a owl:Class ;
  rdfs:subClassOf ssn:Property ;
  rdfs:subClassOf obo:BFO_0000019 ;
  .

ex:isQualityOf
  a owl:ObjectProperty ;
  rdfs:subPropertyOf ssn:isPropertyOf ;
  rdfs:subPropertyOf obo:BFO_0000197 ;
  rdfs:domain ex:Quality ;
  .

# Omitted from illustration:
# Other classes and design pertaining to the range of ex:isQualityOf .
```

A shapes graph for this application could trivially import all or some of two other shapes graphs and provide no further shapes:

* A general shapes graph for SSN/SOSA concept review
* A general shapes graph for BFO concept review

This application is an exercise of data profiling to achieve an interoperability goal.

Something that I'm not sure we've illustrated yet: Suppose this application is so focused on measurements that it does most of its SHACL review focusing on just the imported classes.  How would a profile graph package that only some shapes are drawn from the general shapes graphs?  Suppose the general shapes graphs look like the following:

```turtle
<http://example.org/shapes/sh-bfo>
  a owl:Ontology ;
  .
sh-bfo:BFO_0000019-shape
  a sh:NodeShape ;
  # ...
  sh:targetClass obo:BFO_0000019 ;
  .
sh-bfo:BFO_0000197-subjects-shape
  a sh:NodeShape ;
  # ...
  sh:targetSubjectsOf obo:BFO_0000197 ;
  .
sh-bfo:BFO_0000197-objects-shape
  a sh:NodeShape ;
  # ...
  sh:targetObjectsOf obo:BFO_0000197 ;
  .
```

```turtle
<http://example.org/shapes/sh-ssn>
  a owl:Ontology ;
  .
sh-ssn:Observation-shape
  a sh:NodeShape ;
  # ...
  sh:targetClass sosa:Observation ;  # [sic.]
  .
sh-ssn:Property-shape
  a sh:NodeShape ;
  # ...
  sh:targetClass ssn:Property ;
  .
```

Also, as an exercise of profiling: would these references be encoded?  In what files/graphs?

1. That the data graph is conformant to SSN (and SOSA), the ontology(ies)?
1. That the shapes graph for SSN is a profile of SSN (and sim. for SOSA and BFO)?  To my knowledge, SSN/SOSA and BFO don't provide shapes graphs, so these would be effectively 3rd-party resources.
   1. That the shapes graph for SSN is a profile of a specific version (`owl:versionIRI`) of SSN (and sim. for SOSA, BFO)?
1. That the shapes graph for the measurement application is a profile of multiple shapes graphs?
1. That the data graph for the measurement application is conformant with the application's ontology and shapes graphs?

[^1]: Disclaimer: Participation by NIST in the creation of the documentation of mentioned software is not intended to imply a recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that any specific software is necessarily the best available for the purpose.
[^2]: IRI noted for reference.  [BFO-2020's `bfo-core.ttl`](https://github.com/BFO-ontology/BFO-2020/blob/master/21838-2/owl/bfo-core.ttl) can be seen for details.
[^3]: Note that this permalink is to the 2017 state of SSN/SOSA, as a group is currently working on the next iteration.

Please view or discuss this issue at https://github.com/w3c/data-shapes/issues/764 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 5 February 2026 16:04:50 UTC