{
  "context": [
    {
      "type": "contextDef",
      "subType": "prefix",
      "key": "data",
      "value": {
        "type": "term",
        "subType": "namedNode",
        "value": "http://example.org/foaf/",
        "loc": {
          "sourceLocationType": "source",
          "start": 15,
          "end": 41
        }
      },
      "loc": {
        "sourceLocationType": "source",
        "start": 0,
        "end": 41
      }
    },
    {
      "type": "contextDef",
      "subType": "prefix",
      "key": "foaf",
      "value": {
        "type": "term",
        "subType": "namedNode",
        "value": "http://xmlns.com/foaf/0.1/",
        "loc": {
          "sourceLocationType": "source",
          "start": 57,
          "end": 85
        }
      },
      "loc": {
        "sourceLocationType": "source",
        "start": 42,
        "end": 85
      }
    },
    {
      "type": "contextDef",
      "subType": "prefix",
      "key": "rdfs",
      "value": {
        "type": "term",
        "subType": "namedNode",
        "value": "http://www.w3.org/2000/01/rdf-schema#",
        "loc": {
          "sourceLocationType": "source",
          "start": 101,
          "end": 140
        }
      },
      "loc": {
        "sourceLocationType": "source",
        "start": 86,
        "end": 140
      }
    }
  ],
  "subType": "select",
  "where": {
    "type": "pattern",
    "subType": "group",
    "patterns": [
      {
        "type": "pattern",
        "subType": "graph",
        "name": {
          "type": "term",
          "subType": "namedNode",
          "value": "aliceFoaf",
          "loc": {
            "sourceLocationType": "source",
            "start": 274,
            "end": 288
          },
          "prefix": "data"
        },
        "patterns": [
          {
            "type": "pattern",
            "subType": "bgp",
            "triples": [
              {
                "type": "triple",
                "subject": {
                  "type": "term",
                  "subType": "variable",
                  "value": "alice",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 297,
                    "end": 303
                  }
                },
                "predicate": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "mbox",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 304,
                    "end": 313
                  },
                  "prefix": "foaf"
                },
                "object": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "mailto:alice@work.example",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 314,
                    "end": 341
                  }
                },
                "loc": {
                  "sourceLocationType": "source",
                  "start": 297,
                  "end": 341
                }
              },
              {
                "type": "triple",
                "subject": {
                  "type": "term",
                  "subType": "variable",
                  "value": "alice",
                  "loc": {
                    "sourceLocationType": "noMaterialize"
                  }
                },
                "predicate": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "knows",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 355,
                    "end": 365
                  },
                  "prefix": "foaf"
                },
                "object": {
                  "type": "term",
                  "subType": "variable",
                  "value": "whom",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 366,
                    "end": 371
                  }
                },
                "loc": {
                  "sourceLocationType": "source",
                  "start": 355,
                  "end": 371
                }
              },
              {
                "type": "triple",
                "subject": {
                  "type": "term",
                  "subType": "variable",
                  "value": "whom",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 378,
                    "end": 383
                  }
                },
                "predicate": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "mbox",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 385,
                    "end": 394
                  },
                  "prefix": "foaf"
                },
                "object": {
                  "type": "term",
                  "subType": "variable",
                  "value": "mbox",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 395,
                    "end": 400
                  }
                },
                "loc": {
                  "sourceLocationType": "source",
                  "start": 378,
                  "end": 400
                }
              },
              {
                "type": "triple",
                "subject": {
                  "type": "term",
                  "subType": "variable",
                  "value": "whom",
                  "loc": {
                    "sourceLocationType": "noMaterialize"
                  }
                },
                "predicate": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "seeAlso",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 414,
                    "end": 426
                  },
                  "prefix": "rdfs"
                },
                "object": {
                  "type": "term",
                  "subType": "variable",
                  "value": "ppd",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 427,
                    "end": 431
                  }
                },
                "loc": {
                  "sourceLocationType": "source",
                  "start": 414,
                  "end": 431
                }
              },
              {
                "type": "triple",
                "subject": {
                  "type": "term",
                  "subType": "variable",
                  "value": "ppd",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 438,
                    "end": 442
                  }
                },
                "predicate": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 444,
                    "end": 445
                  }
                },
                "object": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "PersonalProfileDocument",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 446,
                    "end": 474
                  },
                  "prefix": "foaf"
                },
                "loc": {
                  "sourceLocationType": "source",
                  "start": 438,
                  "end": 474
                }
              }
            ],
            "loc": {
              "sourceLocationType": "source",
              "start": 297,
              "end": 476
            }
          }
        ],
        "loc": {
          "sourceLocationType": "source",
          "start": 268,
          "end": 480
        }
      },
      {
        "type": "pattern",
        "subType": "graph",
        "name": {
          "type": "term",
          "subType": "variable",
          "value": "ppd",
          "loc": {
            "sourceLocationType": "source",
            "start": 491,
            "end": 495
          }
        },
        "patterns": [
          {
            "type": "pattern",
            "subType": "bgp",
            "triples": [
              {
                "type": "triple",
                "subject": {
                  "type": "term",
                  "subType": "variable",
                  "value": "w",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 506,
                    "end": 508
                  }
                },
                "predicate": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "mbox",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 509,
                    "end": 518
                  },
                  "prefix": "foaf"
                },
                "object": {
                  "type": "term",
                  "subType": "variable",
                  "value": "mbox",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 519,
                    "end": 524
                  }
                },
                "loc": {
                  "sourceLocationType": "source",
                  "start": 506,
                  "end": 524
                }
              },
              {
                "type": "triple",
                "subject": {
                  "type": "term",
                  "subType": "variable",
                  "value": "w",
                  "loc": {
                    "sourceLocationType": "noMaterialize"
                  }
                },
                "predicate": {
                  "type": "term",
                  "subType": "namedNode",
                  "value": "nick",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 536,
                    "end": 545
                  },
                  "prefix": "foaf"
                },
                "object": {
                  "type": "term",
                  "subType": "variable",
                  "value": "nick",
                  "loc": {
                    "sourceLocationType": "source",
                    "start": 546,
                    "end": 551
                  }
                },
                "loc": {
                  "sourceLocationType": "source",
                  "start": 536,
                  "end": 551
                }
              }
            ],
            "loc": {
              "sourceLocationType": "source",
              "start": 506,
              "end": 551
            }
          }
        ],
        "loc": {
          "sourceLocationType": "source",
          "start": 485,
          "end": 555
        }
      }
    ],
    "loc": {
      "sourceLocationType": "source",
      "start": 264,
      "end": 557
    }
  },
  "solutionModifiers": {},
  "datasets": {
    "type": "datasetClauses",
    "clauses": [
      {
        "clauseType": "named",
        "value": {
          "type": "term",
          "subType": "namedNode",
          "value": "http://example.org/foaf/aliceFoaf",
          "loc": {
            "sourceLocationType": "source",
            "start": 177,
            "end": 212
          }
        }
      },
      {
        "clauseType": "named",
        "value": {
          "type": "term",
          "subType": "namedNode",
          "value": "http://example.org/foaf/bobFoaf",
          "loc": {
            "sourceLocationType": "source",
            "start": 224,
            "end": 257
          }
        }
      }
    ],
    "loc": {
      "sourceLocationType": "source",
      "start": 166,
      "end": 257
    }
  },
  "variables": [
    {
      "type": "term",
      "subType": "variable",
      "value": "mbox",
      "loc": {
        "sourceLocationType": "source",
        "start": 149,
        "end": 154
      }
    },
    {
      "type": "term",
      "subType": "variable",
      "value": "nick",
      "loc": {
        "sourceLocationType": "source",
        "start": 155,
        "end": 160
      }
    },
    {
      "type": "term",
      "subType": "variable",
      "value": "ppd",
      "loc": {
        "sourceLocationType": "source",
        "start": 161,
        "end": 165
      }
    }
  ],
  "loc": {
    "sourceLocationType": "inlinedSource",
    "newSource": "PREFIX  data:  <http://example.org/foaf/>\nPREFIX  foaf:  <http://xmlns.com/foaf/0.1/>\nPREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-schema#>\n\nSELECT ?mbox ?nick ?ppd\nFROM NAMED <http://example.org/foaf/aliceFoaf>\nFROM NAMED <http://example.org/foaf/bobFoaf>\nWHERE\n{\n  GRAPH data:aliceFoaf\n  {\n    ?alice foaf:mbox <mailto:alice@work.example> ;\n           foaf:knows ?whom .\n    ?whom  foaf:mbox ?mbox ;\n           rdfs:seeAlso ?ppd .\n    ?ppd  a foaf:PersonalProfileDocument .\n  } .\n  GRAPH ?ppd\n  {\n      ?w foaf:mbox ?mbox ;\n         foaf:nick ?nick\n  }\n}\n",
    "start": 0,
    "end": 9007199254740991,
    "loc": {
      "sourceLocationType": "source",
      "start": 0,
      "end": 557
    },
    "startOnNew": 0,
    "endOnNew": 557
  },
  "type": "query"
}
