Skip to content

Latest commit

 

History

History
93 lines (56 loc) · 3.33 KB

README.md

File metadata and controls

93 lines (56 loc) · 3.33 KB

Triple Tree

A technique to compress RDF triples and query on compressed RDF triples data

# Dependencies

Packages: (Install boost and rapidjson library and keep it in the path of /usr/include/)
	libboost-all-dev version 1.71.0
	rapidjson-dev=1.1.0
Compiler: g++ 
Note: User **build.sh** to compile and build

#Create dictionary from triple datatsets

./TT -d path_to_source_NT_dataset_file path_to_triple_tree_directory

#Compress TripleTable to TripleTree

./TT -c path_to_triple_tree_directory page_size

Note: 
	- page_size can be 1 or 2 or 3 or 4 .........16..........32...
	- Here, 1 means 1kb

#Search for triple pattern (with uri-component ids)

./TT -q path_to_destination_triple_tree_directory subject_or_object_path triple_pattern



Note: 
	- subject_or_object_path: 
		- value can be either s or o. 
		- If s is used, then the search query will use the p->s->o paths
		- If o is used, then the search query will use the p->o->s paths
		
	- triple_pattern: s p o
		- unbounded subject/predicate/object will be represented wit x;   x x x
		- bounded subject/predicate/object is represented by their ID; such as 1 1 2, where 1, 1, and 2 represent the subject, predicate, and object ID, respectively.
		- Some patters: 
			x x x: Extracts all triples
			x 1 x: Extracts all triples with predicate id 1
			1 x x: Extracts all triples with subject id 1
			x x 2: Extracts all triples with object id 2
			1 1 x: Extracts all triples with predicate id 1 and subject id 1
			x 1 2: Extracts all triples with predicate id 1 and object id 2
			1 x 2: Extracts all triples with subject id 1 and object id 2
			1 1 2: Find the triple in triple tree

#Example query: Find all triples having object_id "2" and predicate_id "1". Use the p->o->s path of the triple tree for searching the triples.

./TT -q ../dbpedia/triple_tree o x 1 2	

#Search for triple pattern (with uri)

./TT -s path_to_triple_tree_directory subject_or_object_path triple_pattern

Note: - subject_or_object_path: - value can be either s or o. - If s is used, then the search query will use the p->s->o paths - If o is used, then the search query will use the p->o->s paths

- triple_pattern: s p o
  - unbounded subject/predicate/object will be represented wit x;   x x x
  - Some patters: 

  - Extracts all triples 
    x x x

  - Extracts all triples with predicate "http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#telephone" 
      x http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#telephone x
      
  - Extracts all triples with subject "http://www.Department6.University81.edu/GraduateStudent33"
    http://www.Department6.University81.edu/GraduateStudent33 x x
    
  - Extracts all triples with predicate "http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#telephone" and subject "http://www.Department6.University81.edu/GraduateStudent33"
    http://www.Department6.University81.edu/GraduateStudent33 http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#telephone x

#Example query: Find all triples having subject "http://www.Department6.University81.edu/GraduateStudent33". Use the p->s->o path of the triple tree for searching the triples.

./TT -s ../lubm/triple_tree s http://www.Department6.University81.edu/GraduateStudent33 x x