[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [obix] Queries: Mutability and Transferability of Contracts (UNCLASSIFIED)
Classification: UNCLASSIFIED Caveats: FOUO Supporting cross contract queries would be very useful and will not require assumptions about BIMSie, Haystack, or the next greatest and coolest thing. We also need not restrict the discussion to SQL. XSLT/XPATH also have Set difference, intersection, and union. Chris Bogen, Ph.D. Computer Scientist US Army Corps of Engineers Engineer Research Development Center Vicksburg, MS -----Original Message----- From: obix@lists.oasis-open.org [mailto:obix@lists.oasis-open.org] On Behalf Of Toby Considine Sent: Sunday, July 14, 2013 12:11 PM To: obix@lists.oasis-open.org Subject: [obix] Queries: Mutability and Transferability of Contracts In oBIX 1.0, there are two notions of contracts. There is a permanent contract, with a permanent handle, which I am not sure of it was ever used. There is an ephemeral contract, established when a client contacts a server, and starts adding points to a common collection. These contracts are never designed to have context outside of a specific interaction between a specific client and server. Advance query services may require passing contracts between entities. For example, we can imagine three servers, an oBIX Server, a Haystack server, and a BIM server. - Perhaps I can submit a BIMSie query to the BIM server, and ask it to return to me a contract containing all of the space leased by a particular tenant. - Perhaps I can submit a Haystack query to the Haystack Server, to return to me a contract containing all the thermostats linked to particular AHUs in a building. - Perhaps I then pass both contracts to the oBIX server and request a new contract back that is the intersection of the two contracts. There are two parts of SQL. There is the essential RSE language, in which all pets with Color=Green are returned. This gives me all a collection or parrots, parakeets, and canaries. This collection is a Set. There is the JOIN language which is for manipulating sets. This language, characterized by the word "JOIN", defined intersections of sets, exclusions of overlapping sets, unions of sets, etc. This JOIN language could be a natural part of creating contracts in oBIX 2.0 A fully qualified haystack set not only tags each of the oBIX points, but defines the relations between them. This AHU is associated with that Chiller. This blower is associated with that AHU. This temperature sensor is associated with that blower. One can imagine an RSE that returns all temperature sensors associated with a particular chiller. While that RSE must be Haystack aware, the returned set simply looks like a contract. In a similar way, BIMSie can define all structures in a space. We can imagine creating a set of all points inside a particular space, using a BIM-specific RSE, that returns a set of points, i.e., another contract. Can I pass both contract handles to an oBIX 2.0 server, and have it create a new collection, one that is the subset that is the intersection of the first two contracts? Can I send the handle to the Haystack contract to the BIMSie server, along with a BIM RSE, and get back a handle to a new contract? Having done so, can I then create a Reprot based on telemetry to this contract, as 5 minute intervals. To run forever? The language of the Haystack Query Language is Out Of Scope. The language of the BIM Query Language is Out of Scope. The JOIN language, which is already defined as a subset of SQL might be in scope. tc ________________________________ "Energy and persistence conquer all things." -- Benjamin Franklin ________________________________ Toby Considine TC9, Inc OASIS TC Chair: oBIX & WS-Calendar OASIS TC Editor: EMIX, Energy Interoperation SGIP Smart Grid Architecture Committee Email: Toby.Considine@gmail.com <mailto:Toby.Considine@fac.unc.edu> Phone: (919)619-2104 http://www.tcnine.com blog: http://www.NewDaedalus.com Classification: UNCLASSIFIED Caveats: FOUO
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]