{ "type": "ShapeTest",
  "node": "x",
  "shape": "http://a.example.org/S",
  "solution": {
    "type": "EachOfSolutions",
    "solutions": [
      {
        "type": "EachOfSolution",
        "expressions": [
          {
            "type": "EachOfSolutions",
            "solutions": [
              {
                "type": "EachOfSolution",
                "expressions": [
                  {
                    "type": "TripleConstraintSolutions", "predicate": "http://a.example/a",
                    "solutions": [
                      { "type": "TestedTriple", "subject": "x", "predicate": "http://a.example/a", "object": { "value": "1" } }
                    ]
                  },
                  {
                    "type": "TripleConstraintSolutions", "predicate": "http://a.example/b",
                    "solutions": [
                      { "type": "TestedTriple", "subject": "x", "predicate": "http://a.example/b", "object": { "value": "1" } }
                    ]
                  }
                ]
              },
              {
                "type": "EachOfSolution",
                "expressions": [
                  {
                    "type": "TripleConstraintSolutions", "predicate": "http://a.example/a",
                    "solutions": [
                      { "type": "TestedTriple", "subject": "x", "predicate": "http://a.example/a", "object": { "value": "2" } }
                    ]
                  },
                  {
                    "type": "TripleConstraintSolutions", "predicate": "http://a.example/b",
                    "solutions": [
                      { "type": "TestedTriple", "subject": "x", "predicate": "http://a.example/b", "object": { "value": "2" } }
                    ]
                  }
                ]
              },
              {
                "type": "EachOfSolution",
                "expressions": [
                  {
                    "type": "TripleConstraintSolutions", "predicate": "http://a.example/a",
                    "solutions": [
                      { "type": "TestedTriple", "subject": "x", "predicate": "http://a.example/a", "object": { "value": "3" } }
                    ]
                  },
                  {
                    "type": "TripleConstraintSolutions", "predicate": "http://a.example/b",
                    "solutions": [
                      { "type": "TestedTriple", "subject": "x", "predicate": "http://a.example/b", "object": { "value": "3" } }
                    ]
                  }
                ]
              }
            ],
            "min": 2,
            "max": 5
          },
          {
            "type": "TripleConstraintSolutions",
            "predicate": "http://a.example/c",
            "solutions": [
              { "type": "TestedTriple", "subject": "x", "predicate": "http://a.example/c", "object": { "value": "1" } }
            ]
          }
        ]
      }
    ]
  }
}
