GRAPH DATABASE QUERY HANDLING METHOD AND APPARATUS
First Claim
1. A querying method for a database of graph data encoded as triples, the triples each comprising values of three triple elements and being stored on a plurality of storage servers, the method comprising:
- a dividing step comprising dividing a query into a plurality of result criteria, the result criteria being either a triple pattern which some or all query results must match, each triple pattern is composed of three triple pattern elements each corresponding to a different one of the three triple elements;
each triple pattern element being either one of;
a single value triple pattern element specifying a single value of the corresponding triple element which triples must have to match the triple pattern; and
a variable value triple pattern element specifying an ID of a variable, the ID being attributed to values of the corresponding triple elements of triples matching the triple pattern;
a sub-query forming step comprising, forming one or more sub-queries each comprising two or more triple patterns having the same single value triple pattern element or specifying the same ID of a variable as a variable value triple pattern element;
a sub-query issuing step comprising issuing each formed sub-query to each of the plurality of storage servers; and
a query result preparing step comprising receiving triples satisfying at least one formed sub-query as sub-query results from the plurality of storage servers and using the sub-query results to prepare query results as a response to the query.
1 Assignment
0 Petitions
Accused Products
Abstract
A querying method for a database of graph data encoded as triples being stored on storage servers. The method including dividing a query into a plurality of result criteria triple patterns which query results match, each triple pattern element being either: a single value triple pattern element; or a variable value triple pattern element specifying an ID of a variable. The method includes forming one or more sub-queries each having triple patterns having the same single value triple pattern element or specifying the same ID of a variable as a variable value triple pattern element, issuing each formed sub-query to each of the servers, and receiving triples satisfying a sub-query as results from the servers and using the sub-query results in as a response to the query.
15 Citations
15 Claims
-
1. A querying method for a database of graph data encoded as triples, the triples each comprising values of three triple elements and being stored on a plurality of storage servers, the method comprising:
-
a dividing step comprising dividing a query into a plurality of result criteria, the result criteria being either a triple pattern which some or all query results must match, each triple pattern is composed of three triple pattern elements each corresponding to a different one of the three triple elements; each triple pattern element being either one of; a single value triple pattern element specifying a single value of the corresponding triple element which triples must have to match the triple pattern; and a variable value triple pattern element specifying an ID of a variable, the ID being attributed to values of the corresponding triple elements of triples matching the triple pattern; a sub-query forming step comprising, forming one or more sub-queries each comprising two or more triple patterns having the same single value triple pattern element or specifying the same ID of a variable as a variable value triple pattern element; a sub-query issuing step comprising issuing each formed sub-query to each of the plurality of storage servers; and a query result preparing step comprising receiving triples satisfying at least one formed sub-query as sub-query results from the plurality of storage servers and using the sub-query results to prepare query results as a response to the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14)
-
-
12. A database controller for a database of graph data encoded as triples, the triples each comprising values of three triple elements and being stored on a plurality of storage servers, the database controller comprising:
-
a query dividing module configured to divide a query into a plurality of result criteria, the result criteria comprising a plurality of triple patterns which query results must match, each triple pattern being composed of three triple pattern elements each corresponding to a different one of the three triple elements; each triple pattern element being either one of; a single value triple pattern element specifying a single value of the corresponding triple element which triples must have to match the triple pattern; and a variable value triple pattern element specifying an ID of a variable, the ID being attributed to values of the corresponding triple elements of triples matching the triple pattern a sub-query forming module configured to form one or more sub-queries each comprising two or more triple patterns having the same single value triple pattern element or specifying the same ID of a variable as a variable value triple pattern element; a sub-query issuing module configured to issue each formed sub-query to each of the plurality of storage servers; and a query result preparing module configured to receive triples satisfying at least one formed sub-query as sub-query results from the plurality of storage servers and use the sub-query results to prepare query results as a response to the query. - View Dependent Claims (13, 15)
-
Specification