diff --git a/README.md b/README.md
index 81b552ade3fe1ae0d6772decff0f6db83874d3d2..f6d1a2f16082f5b4240b7bd6c104dd2eedc69cf1 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,13 @@
-# schaertl_andreas
+Directories
+===========
 
+* `/timeline`: Goals and results for each week.
+
+* `/ulo`: Playing around w/ the results of the ULO paper [1, 2]
+
+References
+==========
+
+[1] https://kwarc.info/people/mkohlhase/papers/cicm19-ulo.pdf
+
+[2] https://gl.mathhub.info/ulo/ulo/blob/master/ulo.owl
diff --git a/ulo/import-recursive-xz-rdf-to-virtuoso.sh b/ulo/import-recursive-xz-rdf-to-virtuoso.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c225bd9fc6f305584b84da26c77f6b8359bdfc27
--- /dev/null
+++ b/ulo/import-recursive-xz-rdf-to-virtuoso.sh
@@ -0,0 +1,27 @@
+#! /bin/sh
+
+# Recursivly search the current directory for *.rdf.xz files,
+# extract them and add them to the Virtuoso DB.
+
+set -eu
+
+# temp file that contains the current rdf file, extracted
+# from .xz
+EXTRACTED_FILE="/tmp/extracted.rdf"
+
+# the file that contains the query to execute; virtuso
+# doesn't want to read queries from shell args apperently
+QUERY_FILE="/tmp/query.sparql"
+
+# the graph to put all nodes into
+GRAPH="http://mymath.org"
+
+files=$(find . -name "*.rdf.xz")
+
+for file in $files; do
+    echo "$0: looking at $file" 1>&2
+    xzcat "$file" > $EXTRACTED_FILE
+    query="DB.DBA.RDF_LOAD_RDFXML_MT (file_to_string_output('$EXTRACTED_FILE'), '', '$GRAPH');"
+    echo "$query" > $QUERY_FILE
+    isql-v 1111 dba dba $QUERY_FILE
+done