{
  "type": "ShapeTest",
  "node": "http://a.example/s1",
  "shape": "http://a.example/S1",
  "solution": {
    "type": "TripleConstraintSolutions",
    "predicate": "http://a.example/p1",
    "valueExpr": {
      "type": "ShapeAnd",
      "shapeExprs": [
        {
          "type": "NodeConstraint",
          "nodeKind": "literal",
          "minlength": 4
        },
        {
          "type": "NodeConstraint",
          "nodeKind": "literal",
          "maxlength": 5
        },
        {
          "type": "NodeConstraint",
          "nodeKind": "literal",
          "pattern": "^(ab)+$"
        }
      ]
    },
    "solutions": [
      {
        "type": "TestedTriple",
        "subject": "http://a.example/s1",
        "predicate": "http://a.example/p1",
        "object": { "value": "abab" }
      }
    ]
  }
}
