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.