Patent ID: 8301660

Claim:
A non-transitory computer-readable storage medium having computer-executable instructions stored thereon that when executed by a computer perform a method, the method comprising: receiving a statement specifying a data manipulation operation on a set of triples stored as graph data, where the graph data represents triples as sub-graphs, where the data manipulation operation, when executed, modifies or deletes one or more existing triples or inserts one or more triples in the graph data; identifying one or more resources that the one or more triples describe; accessing a security policy comprising access constraints to select access constraints associated with the identified resources; determining an operation type of the data manipulation language operation; based, at least in part, on the operation type, determining one or more sub-graphs of the graph data for evaluating the selected access constraints, where the determined sub-graphs include one or more of: i) a sub-graph that corresponds to the graph data prior to execution of the data manipulation language operation and ii) a sub-graph that corresponds to the graph data after execution of the data manipulation operation; evaluating the selected access constraints on the determined one or more sub-graphs; and executing the data manipulation operation if the access constraints evaluate to true for the determined one or more sub-graphs.