- From: David Janes <davidjanes@davidjanes.com>
- Date: Tue, 2 Jun 2015 11:13:07 -0400
- To: public-web-of-things@w3.org
- Message-ID: <CACp1KyO9RjQ6fabMC8q3568ALRvWVU6zD_6Rnw-fBF9UwBwZiQ@mail.gmail.com>
One issue you are going to face as you start modelling 'real world' things is there's a lot of 'near duplication' of semantic terms. For example, in DR's definitions you end up with something like this for Lights (my apologies if this isn't 100% correct) - on: turn the light on /off - { write: true } - is_on: is this on or off - { read: true } Now consider a Denon Audio / Visual Receiver. It has, amongst other things: - on - volume - band - mute So you end up with a parallel set of definitions - is_on - actual_volume - actual_band - is_muted And when you're constructing user interfaces you end up having to figure out how to correlate all of these things. IOTDB went though this for a while, but from a programmer POV it's kind of horrifying and doesn't quite seem right, as it's mostly a DRY violation. What I ended up doing is creating the concept of a _role_, as in "what does this thing do", which can be one or both of iot:role-reading or iot:role-control Now we just have 4 rather than 8 things to manage. "But how do you differentiate the _actual_ reading values from control values, as they're different?", you ask. This will be the next email. D,
Received on Tuesday, 2 June 2015 15:13:55 UTC