{"id":13341697,"url":"https://github.com/arces-wot/sepatools","last_synced_at":"2026-01-18T07:19:05.483Z","repository":{"id":68643666,"uuid":"83044709","full_name":"arces-wot/sepatools","owner":"arces-wot","description":"A SPARQL Event Processing Architecture","archived":false,"fork":false,"pushed_at":"2017-05-29T09:37:50.000Z","size":123990,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-24T10:07:07.457Z","etag":null,"topics":["internet-of-things","interoperability","owl","publish-subscribe","rdf","security","semantic-web","sparql","w3c","web-of-things","websocket"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arces-wot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.LESSER","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-24T13:36:10.000Z","updated_at":"2023-06-26T14:21:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"cfeba35c-f6b2-4c8c-9d9c-fe37c3162cf5","html_url":"https://github.com/arces-wot/sepatools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arces-wot%2Fsepatools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arces-wot%2Fsepatools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arces-wot%2Fsepatools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arces-wot%2Fsepatools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arces-wot","download_url":"https://codeload.github.com/arces-wot/sepatools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243125170,"owners_count":20240263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["internet-of-things","interoperability","owl","publish-subscribe","rdf","security","semantic-web","sparql","w3c","web-of-things","websocket"],"created_at":"2024-07-29T19:25:43.325Z","updated_at":"2026-01-18T07:19:05.477Z","avatar_url":"https://github.com/arces-wot.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003eLa fortuna non esiste: esiste il momento in cui il talento incontra l'occasione.\n\n###### Lucio Anneo Seneca\n\n# SPARQL Event Processing Architecture (SEPA)\nSEPA is a publish-subscribe architecture designed to support information level interoperability in smart space applications for the Internet of Things (IoT). The architecture is built on top of a generic SPARQL endpoint where publishers and subscribers use standard SPARQL Updates and Queries. Notifications about events (i.e., **changes in the RDF knowledge base**) are expressed in terms of added and removed SPARQL binding results since the previous notification, limiting the network overhead and facilitating notification processing at subscriber side. \n\n\u003eThe main drawback of Semantic Web technologies concerns the low level of performance that makes it difficult to achieve responsiveness and scalability required in many IoT applications…Semantic Web technologies have been designed to process data sets consisting of big amounts of Resource Description Framework (RDF) triples that evolve constantly but at a much slower rate compared to the rate of elementary events occurring in the physical environment.\n\n###### *A Semantic Publish-Subscribe Architecture for the Internet of Things, Luca Roffia, Francesco Morandi, Jussi Kiljander, Alfredo D’Elia, Fabio Vergari, Fabio Viola, Luciano Bononi, and Tullio Salmon Cinotti, IEEE Internet of Things Journal, DOI: 10.1109/JIOT.2016.2587380)*\n\nThe SEPA is framed within W3C Recommendations as shown in the following figure.\n\n![alt text][sepa]\n\nPlease refer to [vaimee-documentation](https://github.com/vaimee/sepa-documentation) for a set of **W3C Recommendation drafts** we are writing about the SEPA. The SEPA, as an interoperability platform, aims supporting the development of [Web of Things applications](https://www.w3.org/WoT/).\n\n## HOW TO :page_facing_up:\n\u003e Are you in hurry? You do not have time to read the following sections? You cannot wait trying SEPA? :smile:\n\nHere the steps to follow:\n\n1. `git clone https://github.com/vaimee/sepatools.git` (or `download` a [ZIP](https://github.com/vaimee/sepatools/archive/master.zip) if you just want to evaluate it)\n2. Move to the `build` directory of the repository (first `unzip` the archive if you have preferred to download it on step 1)\n3. Open a shell (a command prompt) from that directory and type: `java -jar blazegraph.jar`\n4. Open a new shell (a command prompt) from the same directory and type: `java -jar SEPAEngine.jar -Dcom.sun.management.config.file=management.properties`\n5. The `-Dcom.sun.management.config.file=management.properties` command line argument allows to monitor the SEPA Engine using [JMX](http://www.oracle.com/technetwork/articles/java/javamanagement-140525.html). You can open a new shell (yes, the third one...sorry for that :smile:) and type `jconsole` . Once the console windows is up, select the **Remote Process** checkbox, type **localhost:5555** and use **root** as username and password (this is just a demo :bowtie:). Now you can see (and change) some engine parameters.\n\n## SEPA framework :panda_face:\nThe SEPA software framework is shown in the following figure.  \n\n![alt text][framework]\n\n## SEPA Engine :dog:\nThe SEPA engine is designed to run on top of a [SPARQL 1.1 Processing Service](https://www.w3.org/TR/sparql11-protocol/).\n\n![alt text][engine]\n\nThere are several SPARQL endpoint implementations and the number of online SPARQL endopoints is increasing. The SEPA can be locally evaluated using one of them, like [Virtuoso](https://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSSparqlProtocol), [Fuseki](https://jena.apache.org/documentation/serving_data/) or [Blazegraph](https://wiki.blazegraph.com/wiki/index.php/Main_Page) just to name a few. The current implementation has been tested on Blazegraph.\n\n:coffee: [SEPA Engine](build/SEPAengine.jar) :coffee:\n\n## SEPA APIs - including Application Design Pattern (ADP) libraries :rabbit2:\nIf you want to save your time, reuse and share components and contribute to the community, please follow this pattern:\n\n![alt text][pattern]\n\n:star: Start implementing a new **SEPApp** :star:\n\n:coffee: [Java API](build/SEPapi.jar) [Java ADP Library](build/SEPattern.jar)\n\n:snake: [Python](https://github.com/vaimee/sepa-Python3-kpi)\n\n:iphone: [C](https://github.com/vaimee/sepa-C-kpi)\n\n:gem: [Ruby](https://github.com/vaimee/sepaRubyClientLibrary)\n \n Want more? Contribute! :+1:\n \n## SEPA Tools\nLet's start with an essential tool: **the SEPA Dashboard** :clap:\n\n:coffee: [Java](build/SEPAdashboard.jar)\n\n:icecream: [JavaScript](https://github.com/vaimee/sepa-dashboard)\n\n Want more? Contribute! :+1:\n\n## Contact info :mailbox:\nSEPA stands for *SPARQL Event Processing Architecture* and represent the main research area of the [**Web of Things**](http://wot.arces.unibo.it) working group of [**ARCES**](http://www.arces.unibo.it) (*Advanced Research Center on Electronic Systems*) - [**University of Bologna**](http://www.unibo.it). This repository is maintained by:\n\nName | Email | On Github\n---- | ----- | ---------\nLuca Roffia | luca DOT roffia AT unibo DOT it | @lroffia\nFabio Viola | fabio DOT viola AT unibo DOT it | @desmovalvo\nFrancesco Antoniazzi | francesco DOT antoniazzi AT unibo DOT it | @fr4ncidir\n\n[sepa]: images/sepa.jpg \"SPARQL Event Processing Architecture\"\n[framework]: images/SW_framework.png \"SEPA Framework\"\n[engine]: images/engine.png \"SEPA Engine\"\n[pattern]: images/pattern.jpg \"Application Design Pattern\"","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farces-wot%2Fsepatools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farces-wot%2Fsepatools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farces-wot%2Fsepatools/lists"}