Re: [shex] RDF representation of ShapeMap's (#67)

After entertaining ourselves with how to validate the RDF graph at sm:Focus, we settled on adding an sm:focus predicate:

``` turtle
[ a sm:ShapeMap ;
  sm:associations (
    [
      sm:node [
        sm:focus rdf:subject ;
        rdf:predicate rdf:type ;
        sm:object schema:Person 
      ] ;
      sm:shape :PersonShape
    ]
  )
] .
``` 
This also uses rdf:{subject,predicate,object}.

More examples:
# {FOCUS :status _}@START
```
[]
  a sm:ShapeMap ;
  sm:associations (
    [
      sm:node [
        a sm:TriplePattern ;
        sm:focus rdf:subject ;
        rdf:predicate <http://hl7.org/fhir/status> ;
      ] ;
      sm:shape sx:Start
    ]
  ) .
```
This means that sx:Start ought not be a URL for a schema that labels some ShapeDecl as sx:Start a la
``` turtle
<http://bad.example/ns/Start>
  sx:start sx:Schema ;
  sx:shapes (
    sx:Schema sx:Start
  ) .

sx:Schema a sx:ShapeDecl ; sx:shapeExpr [ ... ] .
sx:Start a sx:ShapeDecl ; sx:shapeExpr [ ... ] .
```
That's OK, we control that schema and are not so masochistic that we'll add such confusion right away.

-- 
GitHub Notification of comment by ericprud
Please view or discuss this issue at https://github.com/shexSpec/shex/issues/67#issuecomment-1612492932 using your GitHub account


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

Received on Thursday, 29 June 2023 06:25:06 UTC