-
Notifications
You must be signed in to change notification settings - Fork 2
Required files
Since DREAM uses the rdf3x-0.3.8 engine, any database you use must be loaded into, and query-able by rdf3x. A small database called RDFDB containing LUBM data has been provided as a sample.
You must copy your database to all your slave machines. Your database must be available at the same path on all machines. You can do this by issuing an scp
command as follows (if your current folder is your DREAM directory and your databases
folder is a subfolder of your DREAM directory):
scp ./databases/RDFDB host3:/path-to-DREAM-directory/DREAM/databases/RDFDB
The rdf3x engine as part of DREAM. The unpacked binaries id2name
and rdf3xquery
are provided to you, and must be copied to the master, and all slave machines, to the same directory as your dream executable.
A copy of the dream executable needs to be available at all machines
Your machinefile must contain a list of the names of the machines you will be using, one per line. If your setup consists of your client, the master and two slaves (slave1 and slave2), your machine file will have:
master.full.domain
client.full.domain
slave1.full.domain
slave2.full.domain
slave3.full.domain
Please make sure that you use enough machines to run the queries. As an example, you will need to use 5 machines for the sample files provided (including 1 master and 1 client). Your machinefile should be available on your master machine, in the same folder as the dream executable. You may call your machinefile anything as long as you include it in your input file. A sample machinefile has been provided.
Collected statistics are used by DREAM when deciding how to run a query. Statistics are dependent on the size of your database. Your stats files will need to be in a folder, the path to which you will provide in your input file. If stats files do not already exist, they will be calculated and stored in the folder that you provide.
Note that this means you must provide a folder that will contain your stats files even if you do not have existing stats files for your query.
Sample stats files have been provided.
Your input file must be available at the client machine. The input file needs to contain the following:
query-number
should-get-network-speed = 1 (get network speed) or 0 (use default)
path-to-machinefile
path-to-folder-containing-queries
path-to-folder-containing-stats-files
path-to-database
debug-level = 0, 1, 2 or 3
query-number
- should have the number of your query. For example, if your query file is called Query4, query-number would be 4.
should-get-network-speed
- 1 if you want to get your network speed or 0 if you want to use the default network speed
path-to-machinefile
- if your machinefile is in the same folder as the DREAM executable, just provide the name of your machinefile
path-to-folder-containing-queries
- provide the path to the folder containing Query4.
path-to-folder-containing-stats-files
- provide the path to the folder containing your stats files.
path-to-database
- if your database is in the same folder as the DREAM executable, you just need to provide the name of your database.
debug-level
- 0, 1, 2 or 3 depending on what information you want to print. 0
to not display any errors, 1
to view miscellaneous errors, 2
to view errors regarding MPI communication and 3
to view errors regarding the query planning stage.
A sample input file would look like this:
2
0
machinefile
./LUBMQueries
./LUBMStats-RDFDB
./databases/RDFDB
0
DREAM processes SPARQL queries. Here is a sample SPARQL query:
select ?A ?B ?C ?D where {
?A <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://swat.cse.lehigh.edu/onto/univ-bench.owl#FullProfessor> .
?A <http://swat.cse.lehigh.edu/onto/univ-bench.owl#worksFor> <http://www.Department0.University0.edu> .
?A <http://swat.cse.lehigh.edu/onto/univ-bench.owl#name> ?B .
?A <http://swat.cse.lehigh.edu/onto/univ-bench.owl#emailAddress> ?C .
?A <http://swat.cse.lehigh.edu/onto/univ-bench.owl#telephone> ?D}
You will need to save your query in a query file, named QueryX, where X is the query number. For example, the above query can be saved in a file called Query4.
Your query files need to be in a folder. You will provide the path to this folder in your input file. Your query folder (as well as your input file) must be available on your client machine.
You can look at the sample query or look at a list of LUBM queries.