Organizer
Event Details
Location | Room 3 (Classroom B) |
Date | May 2, 2022 |
Time | 9:00 AM to 12:00 PM |
Knowledge Graphs are most commonly presented as a flexible alternative to data warehouses or data lakes. Granted, semantic technology offers superior expressiveness and analytic potential but a great effort remains to actually construct the graphs from disparate sources, such as tabular data, XML, relational databases or APIs. This reduces the role of Knowledge Graphs to the equivalent of an OLAP engine, no matter how flexible.
On the other hand, sophisticated software solutions exist dedicated to building Knowledge Graphs from the ground up. Unfortunately, they are sometimes described as “silos” albeit backed by a RDF. still lacking the openness towards interoperability promised by Linked Data. Closed ecosystems, complicated user interfaces and difficult access to the graph itself prevents their usefulness in creating user-facing software fulfilling complex business requirements and data integrations.
In parallel to the evolution of Knowledge Graphs, the software industry in general has been developing many technologies and techniques helping teams deliver the correct solutions their customers need. Modeling approaches, such as Domain-Driven Design tactical patterns and Event Storming, help analyse and understand the business domain. Various implementations arise to put these rich models to life, including event-driven architecture, CQRS, Web APIs, and microservices, to name a few buzzwords. Sadly, with the even increasing number of technologies, frameworks, APIs, etc, data becomes more and more disconnected and isolated. The effect is quite the opposite from the openness and connectivity promised by Knowledge Graphs. This does not mean, however, that there isn’t a great deal of potential in the industry outside semantic technologies, yet it is often overlooked or dismissed.
During this tutorial I would like to present a set of JavaScript tools which provide a flexible and standards-based foundation for building Knowledge Graphs more similar to “traditional” application software than graphy data warehouses. The goals include embedding as much of the business domain as possible in the graph while retaining the ability to capture complex, case-specific logic, precise access control to the graph, and using open standards. At the same time, the development should more closely resemble typical software than powering through complex, specialized graph-building UIs.
Less code, more graph, and one hundred percent Open Source! Everyone is most welcome to contribute to all software used throughout the tutorial.
Topics
- Using semantic technologies as a cross-cutting concern for all software layers, including:
- data modeling
- data storage and access
- client access control
- building user interfaces
- Unifying code by using graph everywhere as the data representation
- Publishing fine-grained Linked Data APIs from Knowledge Graphs
- Applying industry best practices for architecture and modeling, judiciously
- Mandatory: node.js development environment, docker.
- Lando preferred instead of plain docker.
- IDE/editor with support for RDF syntax will be a plus. I use Webstorm with this plugin (trial available)
- Laptop should be equipped with an Intel chip. I cannot guarantee the M1 Macs will work.