BasePromptTemplate = PromptTemplate(input_variables=['schema', 'prompt'], template='Task: Generate a SPARQL UPDATE statement for updating a graph database.\nFor instance, to add \'jane.doe@foo.bar\' as a new email address for Jane Doe, the following query in backticks would be suitable:\n```\nPREFIX foaf: <http://xmlns.com/foaf/0.1/>\nINSERT {{\n    ?person foaf:mbox <mailto:jane.doe@foo.bar> .\n}}\nWHERE {{\n    ?person foaf:name "Jane Doe" .\n}}\n```\nInstructions:\nMake the query as short as possible and avoid adding unnecessary triples.\nUse only the node types and properties provided in the schema.\nDo not use any node types and properties that are not explicitly provided.\nInclude all necessary prefixes.\nSchema:\n{schema}\nNote: Be as concise as possible.\nDo not include any explanations or apologies in your responses.\nDo not respond to any questions that ask for anything else than for you to construct a SPARQL query.\nReturn only the generated SPARQL query, nothing else.\n\nThe information to be inserted is:\n{prompt}'), sparql_intent_prompt: BasePromptTemplate = PromptTemplate(input_variables=['prompt'], template="Task: Identify the intent of a prompt and return the appropriate SPARQL query type.\nYou are an assistant that distinguishes different types of prompts and returns the corresponding SPARQL query types.\nConsider only the following query types:\n* SELECT: this query type corresponds to questions\n* UPDATE: this query type corresponds to all requests for deleting, inserting, or changing triples\nNote: Be as concise as possible.\nDo not include any explanations or apologies in your responses.\nDo not respond to any questions that ask for anything else than for you to identify a