×

Graph database query handling method and apparatus

  • US 9,454,567 B2
  • Filed: 03/28/2014
  • Issued: 09/27/2016
  • Est. Priority Date: 03/28/2013
  • Status: Expired due to Fees
First Claim
Patent Images

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:

  • at a centralized database controller, a dividing step comprising dividing a query into a plurality of result criteria, the result criteria being 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;

    ora 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;

    at the centralized database controller, 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;

    at the centralized database controller, a sub-query issuing step comprising issuing each formed sub-query to each of the plurality of storage servers;

    at each storage server;

    receiving the formed sub-queries,scanning the triples stored on the storage server for triples satisfying the result criteria of each of the received sub-queries, and,for each received sub-query, transferring a copy of any triple satisfying the result criteria of the sub-query to the other storage servers and/or the centralized database controller as a sub-query result of the sub-query, wherein the scanning comprises;

    identifying each different triple pattern from among the received formed sub queries;

    prioritizing the identified different triple patterns with triple patterns having more variable value triple pattern elements being prioritized below triple patterns having fewer variable value triple pattern elements;

    in order of priority, for each of the triple patterns, scanning the triples stored on the storage server for triples matching the triple pattern to obtain an intermediate result set of triples; and

    obtaining sub-query results by combining the intermediate result set of triples foreach of the triple patterns in sub-queries having more than one triple pattern, and by applying filtering conditions to the intermediate result set of triples for each of the triple patterns in sub-queries having filtering conditions;

    the method further comprising;

    at the centralized database controller, a query result preparing step comprisingreceiving the 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 all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×