diff --git a/ulo/isabelle-prepare.sh b/ulo/isabelle-prepare.sh
new file mode 100755
index 0000000000000000000000000000000000000000..eea1c207cd56f061b0eb16340365045b7a4d3756
--- /dev/null
+++ b/ulo/isabelle-prepare.sh
@@ -0,0 +1,30 @@
+#! /bin/sh
+
+set -eu
+
+# prepare DIRECTORY for import w/ the graphdb web
+# interface; this is for our prototype, I can't imagine
+# we'll use the web interface in production
+#
+# this script is a fork of xz-to-gz.sh, found in the
+# same directory
+
+if [ ! $# -eq 1 ]; then
+    echo "usage: $0 DIRECTORY" 1>&2
+    exit 1
+fi
+
+directory="$1"
+files=$(find "$directory" -name "*.xz")
+
+for file in $files; do
+    echo "$file" 1>&2
+
+    # the filename of the extracted (uncompressed) file
+    rdf_file=$(echo "$file" | sed 's/\.xz//')
+
+    # uncompress, fix iris, compress again
+    unxz "$file"
+    sed -i 's/|/%7C/g' "$file"
+    gzip "$rdf_file"
+done