{
  "type": "ShapeTest",
  "node": "x",
  "shape": "http://a.example/S1",
  "solution": {
    "type": "EachOfSolutions",
    "solutions": [
      {
        "type": "EachOfSolution",
        "expressions": [
          {
            "type": "TripleConstraintSolutions","predicate": "http://a.example/p1",
            "solutions": [
              {"type":"TestedTriple","subject":"x","predicate":"http://a.example/p1","object":{ "value": "p1-0" }}
            ]
          },
          {
            "type": "TripleConstraintSolutions", "predicate": "http://a.example/p2",
            "solutions": [
              {"type":"TestedTriple","subject":"x","predicate":"http://a.example/p2","object":{ "value": "p2-0" }}
            ]
          },
          {
            "type": "TripleConstraintSolutions", "predicate": "http://a.example/p3",
            "solutions": [
              {"type":"TestedTriple","subject":"x","predicate":"http://a.example/p3","object":{ "value": "p3-0" }}
            ]
          }
        ]
      },
      {
        "type": "EachOfSolution",
        "expressions":[
          {
            "type": "TripleConstraintSolutions","predicate": "http://a.example/p1",
            "solutions": [
              {"type": "TestedTriple", "subject": "x", "predicate": "http://a.example/p1", "object":{ "value": "p1-1" }}
            ]
          },
          {
            "type": "TripleConstraintSolutions", "predicate": "http://a.example/p2",
            "solutions": [
              {"type":"TestedTriple","subject":"x","predicate":"http://a.example/p2","object":{ "value": "p2-1" }}
            ]
          },
          {
            "type": "TripleConstraintSolutions",
            "predicate": "http://a.example/p3",
            "solutions": [
              {"type":"TestedTriple","subject":"x","predicate":"http://a.example/p3","object":{ "value": "p3-1" }}
            ]
          }
        ]
      },
      {
        "type": "EachOfSolution",
        "expressions":[
          {
            "type": "TripleConstraintSolutions","predicate": "http://a.example/p1",
            "solutions": [
              {"type": "TestedTriple", "subject": "x", "predicate": "http://a.example/p1", "object":{ "value": "p1-2" }}
            ]
          },
          {
            "type": "TripleConstraintSolutions", "predicate": "http://a.example/p2",
            "solutions": [
              {"type":"TestedTriple","subject":"x","predicate":"http://a.example/p2","object":{ "value": "p2-2" }}
            ]
          },
          {
            "type": "TripleConstraintSolutions",
            "predicate": "http://a.example/p3",
            "solutions": [
              {"type":"TestedTriple","subject":"x","predicate":"http://a.example/p3","object":{ "value": "p3-2" }}
            ]
          }
        ]
      }
    ],
    "min": 2,"max": 3
  }
}
