{
  "type": "project",
  "input": {
    "type": "filter",
    "input": {
      "type": "extend",
      "input": {
        "type": "extend",
        "input": {
          "type": "join",
          "input": [
            {
              "type": "values",
              "variables": [
                {
                  "termType": "Variable",
                  "value": "lit"
                }
              ],
              "bindings": [
                {
                  "lit": {
                    "termType": "Literal",
                    "value": "hello",
                    "language": "en",
                    "direction": "ltr",
                    "datatype": {
                      "termType": "NamedNode",
                      "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                    }
                  }
                },
                {
                  "lit": {
                    "termType": "Literal",
                    "value": "olleh",
                    "language": "ar",
                    "direction": "rtl",
                    "datatype": {
                      "termType": "NamedNode",
                      "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                    }
                  }
                }
              ]
            },
            {
              "type": "bgp",
              "patterns": [
                {
                  "type": "pattern",
                  "termType": "Quad",
                  "subject": {
                    "termType": "Variable",
                    "value": "s"
                  },
                  "predicate": {
                    "termType": "NamedNode",
                    "value": "http://example.com/ns#p"
                  },
                  "object": {
                    "type": "pattern",
                    "termType": "Quad",
                    "subject": {
                      "termType": "NamedNode",
                      "value": "http://example.com/ns#a"
                    },
                    "predicate": {
                      "termType": "NamedNode",
                      "value": "http://example.com/ns#b"
                    },
                    "object": {
                      "termType": "Literal",
                      "value": "nested",
                      "language": "en",
                      "direction": "ltr",
                      "datatype": {
                        "termType": "NamedNode",
                        "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                      }
                    },
                    "graph": {
                      "termType": "DefaultGraph",
                      "value": ""
                    }
                  },
                  "graph": {
                    "termType": "DefaultGraph",
                    "value": ""
                  }
                },
                {
                  "type": "pattern",
                  "termType": "Quad",
                  "subject": {
                    "termType": "Variable",
                    "value": "g_0"
                  },
                  "predicate": {
                    "termType": "NamedNode",
                    "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies"
                  },
                  "object": {
                    "type": "pattern",
                    "termType": "Quad",
                    "subject": {
                      "termType": "Variable",
                      "value": "s"
                    },
                    "predicate": {
                      "termType": "NamedNode",
                      "value": "http://example.com/ns#says"
                    },
                    "object": {
                      "termType": "Literal",
                      "value": "quoted",
                      "language": "en",
                      "direction": "rtl",
                      "datatype": {
                        "termType": "NamedNode",
                        "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                      }
                    },
                    "graph": {
                      "termType": "DefaultGraph",
                      "value": ""
                    }
                  },
                  "graph": {
                    "termType": "DefaultGraph",
                    "value": ""
                  }
                },
                {
                  "type": "pattern",
                  "termType": "Quad",
                  "subject": {
                    "termType": "Variable",
                    "value": "g_0"
                  },
                  "predicate": {
                    "termType": "NamedNode",
                    "value": "http://example.com/ns#certainty"
                  },
                  "object": {
                    "termType": "Literal",
                    "value": "sure",
                    "language": "en",
                    "direction": "ltr",
                    "datatype": {
                      "termType": "NamedNode",
                      "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                    }
                  },
                  "graph": {
                    "termType": "DefaultGraph",
                    "value": ""
                  }
                }
              ]
            }
          ]
        },
        "variable": {
          "termType": "Variable",
          "value": "c"
        },
        "expression": {
          "type": "expression",
          "subType": "operator",
          "operator": "concat",
          "args": [
            {
              "type": "expression",
              "subType": "term",
              "term": {
                "termType": "Literal",
                "value": "prefix",
                "language": "en",
                "direction": "ltr",
                "datatype": {
                  "termType": "NamedNode",
                  "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                }
              }
            },
            {
              "type": "expression",
              "subType": "operator",
              "operator": "str",
              "args": [
                {
                  "type": "expression",
                  "subType": "term",
                  "term": {
                    "termType": "Variable",
                    "value": "lit"
                  }
                }
              ]
            }
          ]
        }
      },
      "variable": {
        "termType": "Variable",
        "value": "d"
      },
      "expression": {
        "type": "expression",
        "subType": "operator",
        "operator": "sameterm",
        "args": [
          {
            "type": "expression",
            "subType": "term",
            "term": {
              "termType": "Variable",
              "value": "lit"
            }
          },
          {
            "type": "expression",
            "subType": "operator",
            "operator": "strlangdir",
            "args": [
              {
                "type": "expression",
                "subType": "term",
                "term": {
                  "termType": "Literal",
                  "value": "x",
                  "datatype": {
                    "termType": "NamedNode",
                    "value": "http://www.w3.org/2001/XMLSchema#string"
                  }
                }
              },
              {
                "type": "expression",
                "subType": "term",
                "term": {
                  "termType": "Literal",
                  "value": "en",
                  "datatype": {
                    "termType": "NamedNode",
                    "value": "http://www.w3.org/2001/XMLSchema#string"
                  }
                }
              },
              {
                "type": "expression",
                "subType": "term",
                "term": {
                  "termType": "Literal",
                  "value": "rtl",
                  "datatype": {
                    "termType": "NamedNode",
                    "value": "http://www.w3.org/2001/XMLSchema#string"
                  }
                }
              }
            ]
          }
        ]
      }
    },
    "expression": {
      "type": "expression",
      "subType": "operator",
      "operator": "&&",
      "args": [
        {
          "type": "expression",
          "subType": "operator",
          "operator": "!=",
          "args": [
            {
              "type": "expression",
              "subType": "term",
              "term": {
                "termType": "Variable",
                "value": "lit"
              }
            },
            {
              "type": "expression",
              "subType": "term",
              "term": {
                "termType": "Literal",
                "value": "bye",
                "language": "en",
                "direction": "ltr",
                "datatype": {
                  "termType": "NamedNode",
                  "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                }
              }
            }
          ]
        },
        {
          "type": "expression",
          "subType": "operator",
          "operator": "in",
          "args": [
            {
              "type": "expression",
              "subType": "term",
              "term": {
                "termType": "Variable",
                "value": "lit"
              }
            },
            {
              "type": "expression",
              "subType": "term",
              "term": {
                "termType": "Literal",
                "value": "hi",
                "language": "en",
                "direction": "ltr",
                "datatype": {
                  "termType": "NamedNode",
                  "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                }
              }
            },
            {
              "type": "expression",
              "subType": "term",
              "term": {
                "type": "pattern",
                "termType": "Quad",
                "subject": {
                  "termType": "NamedNode",
                  "value": "http://example.com/ns#a"
                },
                "predicate": {
                  "termType": "NamedNode",
                  "value": "http://example.com/ns#b"
                },
                "object": {
                  "termType": "Literal",
                  "value": "deep",
                  "language": "ar",
                  "direction": "rtl",
                  "datatype": {
                    "termType": "NamedNode",
                    "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString"
                  }
                },
                "graph": {
                  "termType": "DefaultGraph",
                  "value": ""
                }
              }
            }
          ]
        }
      ]
    }
  },
  "variables": [
    {
      "termType": "Variable",
      "value": "c"
    },
    {
      "termType": "Variable",
      "value": "d"
    },
    {
      "termType": "Variable",
      "value": "lit"
    },
    {
      "termType": "Variable",
      "value": "s"
    }
  ]
}
