{
  "context": [
    {
      "type": "contextDef",
      "subType": "prefix",
      "key": "example",
      "value": {
        "type": "term",
        "subType": "namedNode",
        "value": "http://example/id/",
        "loc": {
          "sourceLocationType": "source",
          "start": 16,
          "end": 36
        }
      },
      "loc": {
        "sourceLocationType": "source",
        "start": 0,
        "end": 36
      }
    },
    {
      "type": "contextDef",
      "subType": "prefix",
      "key": "rdfs",
      "value": {
        "type": "term",
        "subType": "namedNode",
        "value": "http://www.w3.org/2000/01/rdf-schema#",
        "loc": {
          "sourceLocationType": "source",
          "start": 49,
          "end": 88
        }
      },
      "loc": {
        "sourceLocationType": "source",
        "start": 37,
        "end": 88
      }
    },
    {
      "type": "contextDef",
      "subType": "prefix",
      "key": "rdf",
      "value": {
        "type": "term",
        "subType": "namedNode",
        "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
        "loc": {
          "sourceLocationType": "source",
          "start": 100,
          "end": 145
        }
      },
      "loc": {
        "sourceLocationType": "source",
        "start": 89,
        "end": 145
      }
    }
  ],
  "subType": "select",
  "where": {
    "type": "pattern",
    "subType": "group",
    "patterns": [
      {
        "type": "pattern",
        "subType": "bgp",
        "triples": [
          {
            "type": "triple",
            "subject": {
              "type": "term",
              "subType": "variable",
              "value": "s",
              "loc": {
                "sourceLocationType": "source",
                "start": 168,
                "end": 170
              }
            },
            "predicate": {
              "type": "term",
              "subType": "namedNode",
              "value": "type",
              "loc": {
                "sourceLocationType": "source",
                "start": 172,
                "end": 180
              },
              "prefix": "rdf"
            },
            "object": {
              "type": "tripleCollection",
              "subType": "blankNodeProperties",
              "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": "path",
                    "loc": {
                      "sourceLocationType": "source",
                      "start": 183,
                      "end": 196
                    },
                    "items": [
                      {
                        "type": "term",
                        "subType": "namedNode",
                        "value": "prop",
                        "loc": {
                          "sourceLocationType": "source",
                          "start": 183,
                          "end": 195
                        },
                        "prefix": "example"
                      }
                    ],
                    "subType": "*"
                  },
                  "object": {
                    "type": "term",
                    "subType": "variable",
                    "value": "o",
                    "loc": {
                      "sourceLocationType": "source",
                      "start": 197,
                      "end": 199
                    }
                  },
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 183,
                    "end": 199
                  }
                }
              ],
              "loc": {
                "sourceLocationType": "source",
                "start": 181,
                "end": 201
              }
            },
            "loc": {
              "sourceLocationType": "source",
              "start": 168,
              "end": 201
            }
          },
          {
            "type": "triple",
            "subject": {
              "type": "term",
              "subType": "variable",
              "value": "s",
              "loc": {
                "sourceLocationType": "source",
                "start": 208,
                "end": 210
              }
            },
            "predicate": {
              "type": "term",
              "subType": "namedNode",
              "value": "type",
              "loc": {
                "sourceLocationType": "source",
                "start": 212,
                "end": 220
              },
              "prefix": "rdf"
            },
            "object": {
              "type": "tripleCollection",
              "subType": "blankNodeProperties",
              "identifier": {
                "type": "term",
                "subType": "blankNode",
                "loc": {
                  "sourceLocationType": "noMaterialize"
                },
                "label": "g_1"
              },
              "triples": [
                {
                  "type": "triple",
                  "subject": {
                    "type": "term",
                    "subType": "blankNode",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    },
                    "label": "g_1"
                  },
                  "predicate": {
                    "type": "path",
                    "loc": {
                      "sourceLocationType": "source",
                      "start": 223,
                      "end": 236
                    },
                    "items": [
                      {
                        "type": "term",
                        "subType": "namedNode",
                        "value": "prop",
                        "loc": {
                          "sourceLocationType": "source",
                          "start": 223,
                          "end": 235
                        },
                        "prefix": "example"
                      }
                    ],
                    "subType": "*"
                  },
                  "object": {
                    "type": "term",
                    "subType": "variable",
                    "value": "o",
                    "loc": {
                      "sourceLocationType": "source",
                      "start": 237,
                      "end": 239
                    }
                  },
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 223,
                    "end": 239
                  }
                }
              ],
              "loc": {
                "sourceLocationType": "source",
                "start": 221,
                "end": 241
              }
            },
            "loc": {
              "sourceLocationType": "source",
              "start": 208,
              "end": 241
            }
          },
          {
            "type": "triple",
            "subject": {
              "type": "term",
              "subType": "variable",
              "value": "s",
              "loc": {
                "sourceLocationType": "noMaterialize"
              }
            },
            "predicate": {
              "type": "term",
              "subType": "namedNode",
              "value": "p2",
              "loc": {
                "sourceLocationType": "source",
                "start": 252,
                "end": 262
              },
              "prefix": "example"
            },
            "object": {
              "type": "term",
              "subType": "variable",
              "value": "_",
              "loc": {
                "sourceLocationType": "source",
                "start": 263,
                "end": 265
              }
            },
            "loc": {
              "sourceLocationType": "source",
              "start": 252,
              "end": 265
            }
          },
          {
            "type": "triple",
            "subject": {
              "type": "term",
              "subType": "variable",
              "value": "s",
              "loc": {
                "sourceLocationType": "source",
                "start": 272,
                "end": 274
              }
            },
            "predicate": {
              "type": "term",
              "subType": "namedNode",
              "value": "p1",
              "loc": {
                "sourceLocationType": "source",
                "start": 276,
                "end": 286
              },
              "prefix": "example"
            },
            "object": {
              "type": "term",
              "subType": "variable",
              "value": "_",
              "loc": {
                "sourceLocationType": "source",
                "start": 287,
                "end": 289
              }
            },
            "loc": {
              "sourceLocationType": "source",
              "start": 272,
              "end": 289
            }
          },
          {
            "type": "triple",
            "subject": {
              "type": "term",
              "subType": "variable",
              "value": "s",
              "loc": {
                "sourceLocationType": "noMaterialize"
              }
            },
            "predicate": {
              "type": "term",
              "subType": "namedNode",
              "value": "type",
              "loc": {
                "sourceLocationType": "source",
                "start": 301,
                "end": 309
              },
              "prefix": "rdf"
            },
            "object": {
              "type": "tripleCollection",
              "subType": "blankNodeProperties",
              "identifier": {
                "type": "term",
                "subType": "blankNode",
                "loc": {
                  "sourceLocationType": "noMaterialize"
                },
                "label": "g_2"
              },
              "triples": [
                {
                  "type": "triple",
                  "subject": {
                    "type": "term",
                    "subType": "blankNode",
                    "loc": {
                      "sourceLocationType": "noMaterialize"
                    },
                    "label": "g_2"
                  },
                  "predicate": {
                    "type": "path",
                    "loc": {
                      "sourceLocationType": "source",
                      "start": 312,
                      "end": 325
                    },
                    "items": [
                      {
                        "type": "term",
                        "subType": "namedNode",
                        "value": "prop",
                        "loc": {
                          "sourceLocationType": "source",
                          "start": 312,
                          "end": 324
                        },
                        "prefix": "example"
                      }
                    ],
                    "subType": "*"
                  },
                  "object": {
                    "type": "term",
                    "subType": "variable",
                    "value": "o",
                    "loc": {
                      "sourceLocationType": "source",
                      "start": 326,
                      "end": 328
                    }
                  },
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 312,
                    "end": 328
                  }
                }
              ],
              "loc": {
                "sourceLocationType": "source",
                "start": 310,
                "end": 330
              }
            },
            "loc": {
              "sourceLocationType": "source",
              "start": 301,
              "end": 330
            }
          },
          {
            "type": "triple",
            "subject": {
              "type": "term",
              "subType": "variable",
              "value": "s",
              "loc": {
                "sourceLocationType": "noMaterialize"
              }
            },
            "predicate": {
              "type": "term",
              "subType": "namedNode",
              "value": "p2",
              "loc": {
                "sourceLocationType": "source",
                "start": 341,
                "end": 351
              },
              "prefix": "example"
            },
            "object": {
              "type": "term",
              "subType": "variable",
              "value": "o",
              "loc": {
                "sourceLocationType": "source",
                "start": 352,
                "end": 354
              }
            },
            "loc": {
              "sourceLocationType": "source",
              "start": 341,
              "end": 354
            }
          }
        ],
        "loc": {
          "sourceLocationType": "source",
          "start": 168,
          "end": 356
        }
      }
    ],
    "loc": {
      "sourceLocationType": "source",
      "start": 162,
      "end": 358
    }
  },
  "solutionModifiers": {},
  "datasets": {
    "type": "datasetClauses",
    "clauses": [],
    "loc": {
      "sourceLocationType": "noMaterialize"
    }
  },
  "variables": [
    {
      "type": "term",
      "subType": "variable",
      "value": "s",
      "loc": {
        "sourceLocationType": "source",
        "start": 153,
        "end": 155
      }
    },
    {
      "type": "term",
      "subType": "variable",
      "value": "p",
      "loc": {
        "sourceLocationType": "source",
        "start": 156,
        "end": 158
      }
    },
    {
      "type": "term",
      "subType": "variable",
      "value": "o",
      "loc": {
        "sourceLocationType": "source",
        "start": 159,
        "end": 161
      }
    }
  ],
  "loc": {
    "sourceLocationType": "inlinedSource",
    "newSource": "prefix example: <http://example/id/>\nPREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>\nPREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nselect ?s ?p ?o {\n    ?s  rdf:type [ example:prop* ?o ] .\n    ?s  rdf:type [ example:prop* ?o ] ;\n        example:p2 ?_ .\n    ?s  example:p1 ?_ ; \n        rdf:type [ example:prop* ?o ] ;\n        example:p2 ?o .\n}\n",
    "start": 0,
    "end": 9007199254740991,
    "loc": {
      "sourceLocationType": "source",
      "start": 0,
      "end": 358
    },
    "startOnNew": 0,
    "endOnNew": 358
  },
  "type": "query"
}
