A method for conflict resolution performed by a computing device, the method comprising: responsive to a query involving an arbitrary key, accessing a data structure stored in a data store that is accessible by the computing device, the data structure representing an endpoint that has a component; retrieving from the data structure a first property tuple that represents an arbitrary property of the component, the first property tuple consisting of the arbitrary key, a first value, a first source identifier, and a first timestamp, wherein the first source identifier identifies a first source of the arbitrary key and the first value; retrieving from the data structure a second property tuple that represents the arbitrary property of the component, the second property tuple consisting of the arbitrary key, a second value that differs from the first value, a second source identifier, and a second timestamp, wherein the second source identifier identifies a second source of the arbitrary key and the second value; applying a conflict resolution policy to identify one of the first property tuple and the second property tuple as a selected property tuple and to identify the other of the first property tuple and the second property tuple as an unselected property tuple; and determining a result for the query by using the selected property tuple and by refraining from using the unselected property tuple, wherein the conflict resolution policy is based on at least one of a comparison of the first value and the second value, a comparison of the first source identifier and the second source identifier, and a comparison of the first timestamp and the second timestamp. responsive to a query involving an arbitrary key, accessing a data structure stored in a data store that is accessible by the computing device, the data structure representing an endpoint that has a component; retrieving from the data structure a first property tuple that represents an arbitrary property of the component, the first property tuple consisting of the arbitrary key, a first value, a first source identifier, and a first timestamp, wherein the first source identifier identifies a first source of the arbitrary key and the first value; retrieving from the data structure a second property tuple that represents the arbitrary property of the component, the second property tuple consisting of the arbitrary key, a second value that differs from the first value, a second source identifier, and a second timestamp, wherein the second source identifier identifies a second source of the arbitrary key and the second value; applying a conflict resolution policy to identify one of the first property tuple and the second property tuple as a selected property tuple and to identify the other of the first property tuple and the second property tuple as an unselected property tuple; and determining a result for the query by using the selected property tuple and by refraining from using the unselected property tuple, wherein the conflict resolution policy is based on at least one of a comparison of the first value and the second value, a comparison of the first source identifier and the second source identifier, and a comparison of the first timestamp and the second timestamp.