1. A network of independently operated nodes sharing RFID data comprising: a first node comprising: a processor; and a non-transitory computer storage medium storing: computer readable program code executed by said processor to implement a RFID repository local to said first node, said RFID repository local to said first node stores at least a first entity type and a first event type data, said first event type comprising a plurality of the following: a first observed event type identifying a ternary relationship between an object, a first location and a first timestamp, a first assembled event type identifying a start of a parent-child relationship between two objects, or a first disassembled event type identifying when a parent-child relationship ends between two objects; and computer readable program code executed by said processor to implement a first query engine implemented as a first middleware, said first query engine receiving a query related to said first entity type and said first event type data, retrieving said first entity type and said first event type data related to said query from said RFID repository local to said first node, analyzing and rewriting said query based on said retrieved data and, based on one or more predicates of said query, identifying at least a second node in said network of independently operated nodes to forward said query for data related to a second entity type and a second event type, forwarding said rewritten query to said second node, and a second node comprising: a processor; and a non-transitory computer storage medium storing: computer readable program code executed by said processor to implement a RFID repository local to said second node, said RFID repository local to said second node stores at least said second entity type and said second event type data, said second event type comprising a plurality of the following: a second observed event type identifying a ternary relationship between an object, location and a timestamp, a second assembled event type identifying a start of a parent-child relationship between two objects, or a second disassembled event type identifying when a parent-child relationship ends between two objects; and computer readable program code executed by said processor to implement a second query engine implemented as a second middleware, said second query engine receives said rewritten query, retrieves data related to said second entity type and said second event type from said RFID repository local to said second node, and processes said rewritten query based on said retrieved data, and wherein computer readable program code efficiently processes said query by combining results of query executions across at least said first and second node in said network of independently operated nodes related to said first entity type, said first event type, said second entity type, and said second event type.