Skip to content
This repository has been archived by the owner on May 23, 2019. It is now read-only.

Transition to metadata & semantic tags understanding #16

Merged
merged 16 commits into from
Jun 19, 2018

Conversation

ghys
Copy link
Member

@ghys ghys commented Jun 15, 2018

This introduces BREAKING CHANGES!

Following the discussion in
eclipse-archived/smarthome#1093
the mechanism matching the entities extracted by
OpenNLP from the natural language query to ESH items
is being altered in this way:

  1. Tags are not the primary conduit for item identification:
    this change introduces the concept of "Named Attributes"
    which will be implicitely affixed to items by a new class/
    OSGi component, the ItemNamedAttributesResolver

  2. Tags are now expected to conform to a semantic
    tag library: the current version is at
    https://github.com/eclipse/smarthome/wiki/Semantic-Tag-Library
    HABot has internal translations for the most useful semantic
    tags in the languages it understands and will derive named
    attributes for items from those
    tagattributes_{locale}.properties resource bundles

  3. In addition to tags, users may specify additional "monikers"
    for items by using metadata in the "habot" namespace:

Group FF_ChildsRoom { habot="Amy's room" [ type="location" ] }

Those monikers will also be added to items' named attributes set.
The "type" configuration property is optional: if left unspecified,
monikers will have the "object" type.

  1. Inheritance is still assumed for applied tags and monikers specified
    in metadata for Group items, EXCEPT if the inheritTags configuration
    property in the "habot" metadata namespace prevents it (for tags
    only, metadata monikers are always inherited), like so:
Group Kitchen ["object:room"] { habot="Cuisine" [ inheritTags=false ] }
  1. "habot:" prefixed tags will move gradually to the "habot" item
    metadata namespace.

Signed-off-by: Yannick Schaus [email protected]

ghys added 16 commits June 16, 2018 01:10
This introduces BREAKING CHANGES!

Following the discussion in
eclipse-archived/smarthome#1093
the mechanism matching the entities extracted by
OpenNLP from the natural language query to ESH items
is being altered in this way:

1. Tags are not the primary conduit for item identification:
this change introduces the concept of "Named Attributes"
which will be implicitely affixed to items by a new class/
OSGi component, the `ItemNamedAttributesResolver`

2. Tags are now expected to conform to a semantic
tag library: the current version is at
https://github.com/eclipse/smarthome/wiki/Semantic-Tag-Library
HABot has internal translations for the most useful semantic
tags in the languages it understands and will derive named
attributes for items from those
`tagattributes_{locale].properties` resource bundles

3. In addition to tags, users may specify additional "monikers"
for items by using metadata in the "habot" namespace:

```
Group FF_ChildsRoom { habot="Amy's room" [type="location"] }
```

Those monikers will also be added to item's named attributes set.
The "type" configuration property is optional: if left unspecified,
monikers will have the "object" type.

4. Inheritance is still assumed for applied tags and monikers specified
in metadata for Group items, EXCEPT if the inheritTags configuration
property in the "habot" metadata namespace prevents it (for tags
only, metadata monikers are always inherited), like so:
```
Group Kitchen ["object:room"] { habot="Cuisine" [ inheritTags=false ] }
```

5. "habot:" prefixed tags will move gradually to the "habot" item
metadata namespace.

Signed-off-by: Yannick Schaus <[email protected]>
The objects and locations are now attributes on the card
and will be used for matching previously stored cards in
the Card deck instead of tags.

As a temporary measure, recognized object: & location:
tags on former cards will be added as attributes
appropriately.

Also includes various fixes and changes in the UI.
Add missing Javadoc to pass the checkstyle checks.

Signed-off-by: Yannick Schaus <[email protected]>
Proper unit formatter will come later

Signed-off-by: Yannick Schaus <[email protected]>
Signed-off-by: Yannick Schaus <[email protected]>
Signed-off-by: Yannick Schaus <[email protected]>
Signed-off-by: Yannick Schaus <[email protected]>
Signed-off-by: Yannick Schaus <[email protected]>
Signed-off-by: Yannick Schaus <[email protected]>
Signed-off-by: Yannick Schaus <[email protected]>
Signed-off-by: Yannick Schaus <[email protected]>
@ghys ghys merged commit 6bb5560 into master Jun 19, 2018
@ghys ghys deleted the semantictags-metadata branch July 28, 2018 11:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant