{
  "type": "ShapeTest",
  "node": "http://a.example/n1",
  "shape": "http://a.example/S1",
  "solution": {
    "type": "TripleConstraintSolutions",
    "predicate": "http://a.example/p1",
    "valueExpr": {
      "type": "ShapeRef",
      "reference": "_:S2"
    },
    "solutions": [
      {
        "type": "TestedTriple",
        "subject": "http://a.example/n1",
        "predicate": "http://a.example/p1",
        "object": "http://a.example/n2",
        "referenced": {
          "type": "ShapeTest",
          "node": "http://a.example/n2",
          "shape": "_:S2",
          "solution": {
            "type": "TripleConstraintSolutions",
            "predicate": "http://a.example/p2",
            "solutions": [
              { "type": "TestedTriple", "subject": "http://a.example/n2", "predicate": "http://a.example/p2", "object": { "value": "X" } }
            ]
          }
        }
      }
    ]
  }
}
