diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 000000000..6b76b4fab
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,15 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Python Debugger: Current File",
+ "type": "debugpy",
+ "request": "launch",
+ "program": "${file}",
+ "console": "integratedTerminal"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/examples/AOPWiki/AOPWikiSNORQL b/examples/AOPWiki/AOPWikiSNORQL
new file mode 160000
index 000000000..a00445faf
--- /dev/null
+++ b/examples/AOPWiki/AOPWikiSNORQL
@@ -0,0 +1 @@
+Subproject commit a00445faf821d1a424a388b484c5f9ff1df3bc4d
diff --git a/examples/AOPWiki/query1.ttl b/examples/AOPWiki/query1.ttl
new file mode 100644
index 000000000..1b092548f
--- /dev/null
+++ b/examples/AOPWiki/query1.ttl
@@ -0,0 +1,26 @@
+
+@prefix ex: .
+@prefix rdf: .
+@prefix rdfs: .
+@prefix schema: .
+@prefix sh: .
+
+# SPARQL executable metadata
+ex:1 a sh:SPARQLExecutable,
+ sh:SPARQLSelectExecutable ;
+ rdfs:comment "[fill out comment here]"@en ;
+ sh:prefixes _:sparql_examples_prefixes ;
+ sh:select """SELECT ?AO ?AOname ?AOP (CONCAT('"',GROUP_CONCAT(?ChemicalName;SEPARATOR='","'),'"') AS ?ChemicalNames) WHERE {
+ ?AO a aopo:KeyEvent ;
+ dc:identifier ?AOLookup ;
+ dc:title ?AOname .
+ ?AOP a aopo:AdverseOutcomePathway ;
+ aopo:has_adverse_outcome ?AOLookup ;
+ nci:C54571 ?Stressor .
+ ?Stressor dc:title ?StressorName.
+ OPTIONAL {?Stressor aopo:has_chemical_entity ?Chemical.
+ ?Chemical dc:title ?ChemicalName.}
+ FILTER regex (?AOname, "fibrosis", "i")}
+ ORDER BY DESC (?AO)""" ;
+ schema:target ;
+ dc:contributor "Marvin Martens" .