AnyBURL

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.

Learn

Open the file config-learn.properties 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 config-learn.properties

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 config-apply.properties 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 config-apply.properties

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).

Eval

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

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