This code is from the second Semantic Web London meetup in September 2016.
SemanticWeb helps improve developer productivity, and the talk focused on the example of UI component reuse and streaming of the linked data to the UI.
The demo from the talk is built with Spring Boot (including WebSocket support), STOMP, React, Redux and Delta Ontology for streaming graph diff information.
Ontologies describe business domains, and using Web Ontology Language (OWL) allows identifying entity types and attributes using URIs. Same identifiers can be used across the business logic code, rules run by the rule engines, UI code and data storage systems. Representing your data as a graph conforming to an ontology fits well with the way modern UI frameworks such as React and Redux render the UI.
You'll need Java 8 and Apache Maven 3.3.x. Node and NPM are downloaded as part of the build using frontend-maven-plugin.
mvn clean package
java -jar target/streaming-linked-data-1.0.0-SNAPSHOT.jar
- Start the app.
- Go to (http://localhost:8080).
- Toggle the
WebSocket connection
switch to see the data cards rendered on the screen. - Edit
data/data.ttl
to see updates streaming to the UI (once the app picks up the change). - Edit
data/rules.txt
to see rules in the Jena format applied to the entities on the stream (in this simple demo case, a new entity called "Copy of Semantic Web London" gets created every time a "Semantic Web London" is discovered).