{
  "context": [
    {
      "type": "contextDef",
      "subType": "prefix",
      "key": "",
      "value": {
        "type": "term",
        "subType": "namedNode",
        "value": "http://example.com/ns#",
        "loc": {
          "sourceLocationType": "source",
          "start": 9,
          "end": 33
        }
      },
      "loc": {
        "sourceLocationType": "source",
        "start": 0,
        "end": 33
      }
    }
  ],
  "subType": "select",
  "where": {
    "type": "pattern",
    "subType": "group",
    "patterns": [
      {
        "type": "pattern",
        "subType": "bgp",
        "triples": [
          {
            "type": "triple",
            "subject": {
              "type": "tripleCollection",
              "subType": "list",
              "identifier": {
                "type": "term",
                "subType": "blankNode",
                "loc": {
                  "sourceLocationType": "noMaterialize"
                },
                "label": "g_0"
              },
              "triples": [
                {
                  "type": "triple",
                  "subject": {
                    "type": "term",
                    "subType": "blankNode",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    },
                    "label": "g_0"
                  },
                  "predicate": {
                    "type": "term",
                    "subType": "namedNode",
                    "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#first",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    }
                  },
                  "object": {
                    "type": "tripleCollection",
                    "subType": "reifiedTriple",
                    "triples": [
                      {
                        "type": "triple",
                        "subject": {
                          "type": "term",
                          "subType": "variable",
                          "value": "S1",
                          "loc": {
                            "sourceLocationType": "source",
                            "start": 52,
                            "end": 55
                          }
                        },
                        "predicate": {
                          "type": "term",
                          "subType": "namedNode",
                          "value": "p",
                          "loc": {
                            "sourceLocationType": "source",
                            "start": 56,
                            "end": 58
                          },
                          "prefix": ""
                        },
                        "object": {
                          "type": "term",
                          "subType": "namedNode",
                          "value": "o1",
                          "loc": {
                            "sourceLocationType": "source",
                            "start": 59,
                            "end": 62
                          },
                          "prefix": ""
                        },
                        "annotations": [],
                        "loc": {
                          "sourceLocationType": "source",
                          "start": 52,
                          "end": 62
                        }
                      }
                    ],
                    "identifier": {
                      "type": "term",
                      "subType": "namedNode",
                      "value": "iri",
                      "loc": {
                        "sourceLocationType": "source",
                        "start": 65,
                        "end": 69
                      },
                      "prefix": ""
                    },
                    "loc": {
                      "sourceLocationType": "source",
                      "start": 50,
                      "end": 72
                    }
                  },
                  "annotations": [],
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 50,
                    "end": 72
                  }
                },
                {
                  "type": "triple",
                  "subject": {
                    "type": "term",
                    "subType": "blankNode",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    },
                    "label": "g_0"
                  },
                  "predicate": {
                    "type": "term",
                    "subType": "namedNode",
                    "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    }
                  },
                  "object": {
                    "type": "term",
                    "subType": "blankNode",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    },
                    "label": "g_1"
                  },
                  "annotations": [],
                  "loc": {
                    "sourceLocationType": "autoGenerate"
                  }
                },
                {
                  "type": "triple",
                  "subject": {
                    "type": "term",
                    "subType": "blankNode",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    },
                    "label": "g_1"
                  },
                  "predicate": {
                    "type": "term",
                    "subType": "namedNode",
                    "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#first",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    }
                  },
                  "object": {
                    "type": "tripleCollection",
                    "subType": "reifiedTriple",
                    "triples": [
                      {
                        "type": "triple",
                        "subject": {
                          "type": "term",
                          "subType": "variable",
                          "value": "S2",
                          "loc": {
                            "sourceLocationType": "source",
                            "start": 75,
                            "end": 78
                          }
                        },
                        "predicate": {
                          "type": "term",
                          "subType": "namedNode",
                          "value": "p",
                          "loc": {
                            "sourceLocationType": "source",
                            "start": 79,
                            "end": 81
                          },
                          "prefix": ""
                        },
                        "object": {
                          "type": "term",
                          "subType": "namedNode",
                          "value": "o2",
                          "loc": {
                            "sourceLocationType": "source",
                            "start": 82,
                            "end": 85
                          },
                          "prefix": ""
                        },
                        "annotations": [],
                        "loc": {
                          "sourceLocationType": "source",
                          "start": 75,
                          "end": 85
                        }
                      }
                    ],
                    "identifier": {
                      "type": "term",
                      "subType": "blankNode",
                      "loc": {
                        "sourceLocationType": "source",
                        "start": 88,
                        "end": 95
                      },
                      "label": "e_bnode"
                    },
                    "loc": {
                      "sourceLocationType": "source",
                      "start": 73,
                      "end": 97
                    }
                  },
                  "annotations": [],
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 73,
                    "end": 97
                  }
                },
                {
                  "type": "triple",
                  "subject": {
                    "type": "term",
                    "subType": "blankNode",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    },
                    "label": "g_1"
                  },
                  "predicate": {
                    "type": "term",
                    "subType": "namedNode",
                    "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    }
                  },
                  "object": {
                    "type": "term",
                    "subType": "namedNode",
                    "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    }
                  },
                  "annotations": [],
                  "loc": {
                    "sourceLocationType": "autoGenerate"
                  }
                }
              ],
              "loc": {
                "sourceLocationType": "source",
                "start": 48,
                "end": 99
              }
            },
            "predicate": {
              "type": "term",
              "subType": "namedNode",
              "value": "q",
              "loc": {
                "sourceLocationType": "source",
                "start": 101,
                "end": 103
              },
              "prefix": ""
            },
            "object": {
              "type": "term",
              "subType": "literal",
              "value": "123",
              "langOrIri": {
                "type": "term",
                "subType": "namedNode",
                "value": "http://www.w3.org/2001/XMLSchema#integer",
                "loc": {
                  "sourceLocationType": "noMaterialize"
                }
              },
              "loc": {
                "sourceLocationType": "source",
                "start": 104,
                "end": 107
              }
            },
            "annotations": [],
            "loc": {
              "sourceLocationType": "source",
              "start": 48,
              "end": 107
            }
          }
        ],
        "loc": {
          "sourceLocationType": "source",
          "start": 48,
          "end": 109
        }
      }
    ],
    "loc": {
      "sourceLocationType": "source",
      "start": 44,
      "end": 111
    }
  },
  "solutionModifiers": {},
  "datasets": {
    "type": "datasetClauses",
    "clauses": [],
    "loc": {
      "sourceLocationType": "noMaterialize"
    }
  },
  "variables": [
    {
      "type": "wildcard",
      "loc": {
        "sourceLocationType": "source",
        "start": 42,
        "end": 43
      }
    }
  ],
  "loc": {
    "sourceLocationType": "inlinedSource",
    "newSource": "PREFIX : <http://example.com/ns#>\n\nSELECT * {\n  ( <<?S1 :p :o1 ~ :iri >> <<?S2 :p :o2 ~ _:bnode>> )  :q 123 .\n}\n",
    "start": 0,
    "end": 9007199254740991,
    "loc": {
      "sourceLocationType": "source",
      "start": 0,
      "end": 111
    },
    "startOnNew": 0,
    "endOnNew": 111
  },
  "type": "query"
}
