---
- schemaLabel: clinical observation
  schema: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    start = @<ObservationShape>

    <ObservationShape> {               # An Observation has:
      :status ["preliminary" "final"]; #   status in this value set
      :subject @<PatientShape>         #   a subject matching <PatientShape>.
    }

    <PatientShape> {                   # A Patient has:
     :name xsd:string*;                #   one or more names
     :birthdate xsd:date?              #   and an optional birthdate.
    }
  dataLabel: with birthdate
  data: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    <Obs1>
      :status    "final" ;
      :subject   <Patient2> .

    <Patient2>
      :name "Bob" ;
      :birthdate "1999-12-31"^^xsd:date .
  queryMap: |
    {FOCUS :status _}@START,
    <Patient2>@!<ObservationShape>
  status: conformant
- schemaLabel: clinical observation
  schema: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    start = @<ObservationShape>

    <ObservationShape> {               # An Observation has:
      :status ["preliminary" "final"]; #   status in this value set
      :subject @<PatientShape>         #   a subject matching <PatientShape>.
    }

    <PatientShape> {                   # A Patient has:
     :name xsd:string*;                #   one or more names
     :birthdate xsd:date?              #   and an optional birthdate.
    }
  dataLabel: without birthdate
  data: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    <Obs1>
      :status    "preliminary" ;
      :subject   <Patient2> .

    <Patient2>
      :name "Bob" .
  queryMap: "<Obs1>@START\n"
  status: conformant
- schemaLabel: clinical observation
  schema: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    start = @<ObservationShape>

    <ObservationShape> {               # An Observation has:
      :status ["preliminary" "final"]; #   status in this value set
      :subject @<PatientShape>         #   a subject matching <PatientShape>.
    }

    <PatientShape> {                   # A Patient has:
     :name xsd:string*;                #   one or more names
     :birthdate xsd:date?              #   and an optional birthdate.
    }
  dataLabel: no subject name
  data: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    <Obs1>
      :status    "final" ;
      :subject   <Patient2> .

    <Patient2>
      :birthdate "1999-12-31"^^xsd:date .
  queryMap: "<Obs1>@START\n"
  status: conformant
- schemaLabel: clinical observation
  schema: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    start = @<ObservationShape>

    <ObservationShape> {               # An Observation has:
      :status ["preliminary" "final"]; #   status in this value set
      :subject @<PatientShape>         #   a subject matching <PatientShape>.
    }

    <PatientShape> {                   # A Patient has:
     :name xsd:string*;                #   one or more names
     :birthdate xsd:date?              #   and an optional birthdate.
    }
  dataLabel: bad status
  data: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    <Obs1>
      :status    "finally" ;
      :subject   <Patient2> .

    <Patient2>
      :name "Bob" ;
      :birthdate "1999-12-31"^^xsd:date .
  queryMap: "<Obs1>@START\n"
  status: nonconformant
- schemaLabel: clinical observation
  schema: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    start = @<ObservationShape>

    <ObservationShape> {               # An Observation has:
      :status ["preliminary" "final"]; #   status in this value set
      :subject @<PatientShape>         #   a subject matching <PatientShape>.
    }

    <PatientShape> {                   # A Patient has:
     :name xsd:string*;                #   one or more names
     :birthdate xsd:date?              #   and an optional birthdate.
    }
  dataLabel: no subject
  data: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    <Obs1>
      :status    "final" .

    <Patient2>
      :name "Bob" ;
      :birthdate "1999-12-31"^^xsd:date .
  queryMap: "<Obs1>@START\n"
  status: nonconformant
- schemaLabel: clinical observation
  schema: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    start = @<ObservationShape>

    <ObservationShape> {               # An Observation has:
      :status ["preliminary" "final"]; #   status in this value set
      :subject @<PatientShape>         #   a subject matching <PatientShape>.
    }

    <PatientShape> {                   # A Patient has:
     :name xsd:string*;                #   one or more names
     :birthdate xsd:date?              #   and an optional birthdate.
    }
  dataLabel: wrong birthdate datatype
  data: |
    PREFIX : <http://hl7.org/fhir/>
    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

    <Obs1>
      :status    "final" ;
      :subject   <Patient2> .

    <Patient2>
      :name "Bob" ;
      :birthdate "1999-12-31T01:23:45"^^xsd:dateTime .
  queryMap: "<Obs1>@START"
  status: nonconformant
- schemaLabel: GO-CAM example
  schemaURL: GO-CAM-schema.shex
  dataLabel: 1 instance with parents
  dataURL: GO-CAM-instance.ttl
  queryMap: |
    <http://model.geneontology.org/5b528b1100001416/5b528b1100001522>@<#S1>
  status: conformant
