A graph processing system for concurrent property graph queries of a property graph where the property graph is implemented in a distributed network of nodes, comprising: at least one processor; and a machine-readable medium comprising instructions thereon that, when executed by the at least one processor, causes the at least one processor to perform operations including: determining on a node of a plurality of nodes within the distributed network of nodes a subgraph shard of a plurality of subgraph shards of the property graph, the node storing data for the subgraph shard that contains a range of local vertices that are a subset of all vertices of the property graph, the subgraph shard having boundary vertices that have edges that connect the subgraph shard to boundary vertices of another subgraph shard; receiving concurrent queries of the property graph from at least one user; scheduling a query of the subgraph shard of the plurality of subgraph shards in accordance with an initial vertex for each concurrent user query; and traversing the property graph during execution of the concurrent queries, wherein the node sends values of boundary vertices of the subgraph shard to at least one other node having another subgraph shard sharing the boundary vertices using messaging during traversal of the property graph; characterized in that the instructions further cause the at least one processor to convert the subgraph shard into a set of edge-sets containing vertices within a certain range by vertex identifier, wherein the edge-sets are generated by: obtaining vertex degrees, dividing the vertices of the subgraph shard into a set of ranges by evenly distributing the vertex degrees, scanning an edge list, and allocating each edge of the subgraph shard to an edge-set according to the ranges into which source and destination vertices fall; and the property graph is traversed during execution of the concurrent queries by traversing edge-sets within the subgraph shard. at least one processor; and a machine-readable medium comprising instructions thereon that, when executed by the at least one processor, causes the at least one processor to perform operations including: determining on a node of a plurality of nodes within the distributed network of nodes a subgraph shard of a plurality of subgraph shards of the property graph, the node storing data for the subgraph shard that contains a range of local vertices that are a subset of all vertices of the property graph, the subgraph shard having boundary vertices that have edges that connect the subgraph shard to boundary vertices of another subgraph shard; receiving concurrent queries of the property graph from at least one user; scheduling a query of the subgraph shard of the plurality of subgraph shards in accordance with an initial vertex for each concurrent user query; and traversing the property graph during execution of the concurrent queries, wherein the node sends values of boundary vertices of the subgraph shard to at least one other node having another subgraph shard sharing the boundary vertices using messaging during traversal of the property graph; determining on a node of a plurality of nodes within the distributed network of nodes a subgraph shard of a plurality of subgraph shards of the property graph, the node storing data for the subgraph shard that contains a range of local vertices that are a subset of all vertices of the property graph, the subgraph shard having boundary vertices that have edges that connect the subgraph shard to boundary vertices of another subgraph shard; receiving concurrent queries of the property graph from at least one user; scheduling a query of the subgraph shard of the plurality of subgraph shards in accordance with an initial vertex for each concurrent user query; and traversing the property graph during execution of the concurrent queries, wherein the node sends values of boundary vertices of the subgraph shard to at least one other node having another subgraph shard sharing the boundary vertices using messaging during traversal of the property graph; characterized in that the instructions further cause the at least one processor to convert the subgraph shard into a set of edge-sets containing vertices within a certain range by vertex identifier, wherein the edge-sets are generated by: obtaining vertex degrees, dividing the vertices of the subgraph shard into a set of ranges by evenly distributing the vertex degrees, scanning an edge list, and allocating each edge of the subgraph shard to an edge-set according to the ranges into which source and destination vertices fall; and obtaining vertex degrees, dividing the vertices of the subgraph shard into a set of ranges by evenly distributing the vertex degrees, scanning an edge list, and allocating each edge of the subgraph shard to an edge-set according to the ranges into which source and destination vertices fall; and the property graph is traversed during execution of the concurrent queries by traversing edge-sets within the subgraph shard.