AnyBURL Version from IJCAI-2019

AnyBURL uses property files to set parameters including the paths to the input and output files. Download the respective property files (i) here, (ii) here, and (iii) here.

To run AnyBURL, you need to download the relevant datasets first. We have zipped the FB15, FB15-237, and WN18 in one file. Please download and unzip. Please download YAGO03-10 and WNRR from the ConvE page (link)

AnyBURL is packaged as jar file and requires no external resources. You can download the jar file here.

If you have problems in running the jar due to, e.g., some java version conflict, you can build an AnyBURL.jar on you own. For that reason you need to download the source code and unzip the source code. Then you have to compile and the code and create the jar as follows. First create a folder build, then compile with the following command. Before that you should delete AnyBURL.jar file that we pre-compiled.

javac x/y/z/anyburl/*.java -d build

Package in a jar:

jar cfv AnyBURL.jar -C build .

There is a dot . at the end of the line, its required. Afterwards you can delete the build folder.


Open the file and modify the line that directs to the training file choosing the datasets that you want to apply AnyBURL to. Create the output folder rules, then run AnyBURL with this command.

java -Xmx6G -cp AnyBURL.jar x.y.z.anyburl.Learn

It will create three files alpha-10, alpha-100, and alpha-1000 in the rules folder. These files contain the rules learned after 10, 100, and 1000 seconds. During executing AnyBURL you can see how many rules have been found so far and how the saturation rate for cyclic and acyclic rules changes over time. Note that everything should also work fine when setting the maximal heapsize to only 3G.

Apply (Predict)

Open the file and modify it according to your needs (if required). Create the output folder predictions, then run AnyBURL with this command.

java -Xmx6G -cp AnyBURL.jar x.y.z.anyburl.Apply

This will create three files alpha-10, alpha-100, and alpha-1000 in the predictions folder. Each contains the top-k rankings for the completion tasks, which are already filtered rankings (this is the only reason why the validation and test set must be specified in the apply config files).


To eval these results, use this command after modifying (if required). The evaluation result is printed to standard out.

java -Xmx6G -cp AnyBURL.jar x.y.z.anyburl.Eval