Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oeg-upm/eWoT
eWoT enables semantic interoperable IoT ecosystems
https://github.com/oeg-upm/eWoT
discover distributed-access semantic-interoperability semantic-web sparql web-of-things
Last synced: 2 months ago
JSON representation
eWoT enables semantic interoperable IoT ecosystems
- Host: GitHub
- URL: https://github.com/oeg-upm/eWoT
- Owner: oeg-upm
- License: apache-2.0
- Created: 2019-08-26T14:02:58.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-15T13:42:32.000Z (about 4 years ago)
- Last Synced: 2024-07-30T21:02:51.134Z (5 months ago)
- Topics: discover, distributed-access, semantic-interoperability, semantic-web, sparql, web-of-things
- Language: Java
- Homepage:
- Size: 79.3 MB
- Stars: 0
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eWoT
eWoT is an implementation that enables semantic interoperability for an IoT ecosystem. It relies on Thing Descriptions (TD) to profile the different IoT devices, and WoT-Mappings to translate their heterogeneus data into a normalised RDF modelled with a specific ontology. The ontologies endow for this purpose are the [Thing Description](http://iot.linkeddata.es/def/wot/index-en.html) and the [WoT-Mapping](http://iot.linkeddata.es/def/wot-mappings/index-en.html); nevertheless they can be extended with any other to enhance contextual information of the IoT device.
Related paper: https://www.mdpi.com/1424-8220/20/3/822
## Quickstart
Run the client jar with the following command
````
java -jar ewot.jar --server.port=9000 --server.repository=http://localhost:32768/repositories/discovery
````* The statement *--server.port=9000* specifies that the client will be running on the port 9000. The port can be changed freely
* The statement *--server.repository=http://localhost:32768/repositories/discovery* specifies the URL of a SPARQL endpoint where all the descriptions that this client can discover will be allocated. This can be changed freely as far as the triple store implements SPARQL 1.1## Registering a Thing Description
In order to include a new IoT device in the ecosystem, making it interoperable, a user must register in the SPARQL endpoint that eWoT relies on a Thing Description (TD). The thing description must be stored in a named graph which name is the subject that has the type **core:Thing**. The TD must contain a specification of where ther IoT device data is, by means of the Web of Things Thing Description ontology, and also, specify how such data is translated by means of a WoT-Mapping. Find below an example of TD with the WoT-Mappings.
## Issuing a SPARQL query in the ecosystem
In order to transparently query the ecosystem a SPARQL query must be issued to the endpoint *http://localhost:9000/sparql*. Alternativelly, if an user navigates with the browser to the very same address a GUI will be displayed where the SPARQL query could be written and its results displayed.