Linked Data & Solid
Beschrijving
This course will dive into creating interoperability across multiple servers and organizations, on multiple levels. We will learn how to carefully reuse domain models where possible, and how to define your own terms where necessary, according to the latest state of the art in Linked Data. Solid applies Linked Data on personal data management: instead of having to store user data on your own servers, you can rely on a storage provider that speaks the Solid specification. Challenges that can be solved with Linked Data arise from the moment multiple apps read and write from the same storage. Techniques will be discussed to provide cross-app interoperability across open, shared, as well as personal knowledge graphs.
This course teaches you:
- A basic understanding of Linked Data
- A basic understanding of Solid
- A basic understanding of semantic reasoning and streaming
- How to publish Linked Data
- How to set up the Community Solid Server
- How to create queries over Linked Data
- How to design and publish Linked Data vocabularies
- How to generate Linked Data from non-Linked Data using RML.io
- How to create interoperable Linked Data in Flanders and Europe
- How to create a Linked Data architecture using Linked Data Fragments and Linked Data Event Streams
- How to validate Linked Data using SHACL and ShEx
Programma
1. An introduction to Linked Data
This first lesson gives an introduction of the concept of Linked Data, such as triples, vocabularies, URIs, blank nodes and so on. We explain the different Linked Data-specific serializations, such as Turtle, N-Triples, and JSON-LD. You learn how to create your own Linked Data through our hands-on exercises.
Teachers: Pieter Colpaert, Pieter Heyvaert
Date: 29 September 2022 (on campus)
2. Using RDF in JavaScript and publishing over HTTP
In this class we explain how you use the RDF/JS data model. Next, we present libraries that use this model to create RDF in JavaScript. Finally, we explain how you publish this RDF over HTTP while taking into account caching, HTTP versions, compression, and content negotiation. During the hands-on exercises, you will use the RDF/JS data model directly and publish the RDF that you create with it.
Teachers: Pieter Colpaert, Sindhu Vasireddy
Date: 6 October 2022 (online)
3. Reusing global identifiers
We will talk about Linked Data in Flanders with Open Standards for Linked Organizations and beyond. We also touch upon Linked Open Vocabularies and how you can use it. During the hands-on exercises, you learn how to apply content negotiation, reuse existing vocabularies, and how to create your own vocabulary manually.
Teacher: Pieter Colpaert
Date: 13 October 2022 (online)
4. The Solid specifications and the Community Solid Server
In this class we introduce the specifications used within the Solid ecosystem, how WebIDs are related to OpenID Connect, and how to use Web Access Control and Access Control Policies to provide authorization for data in Solid pods. This is followed by a tutorial on the Community Solid Server. Finally, we briefly introduce the Community Solid Server Association and talk about the Solid Flanders community.
Teachers: Pieter Heyvaert, Joachim Van Herwegen
Date: 20 October 2022 (online)
5. Web Querying and Solid App development
We will explain how to query Linked Data (in Solid pods) using Linked Data Fragments, Linked Data Events Stream, SPARQL, GraphQL, and so on. Using this knowledge, we dive into the development of Solid apps. In the hands-on exercises you learn how to bring both the querying and the app development together.
Teacher: Ruben Dedecker
Date: 27 October 2022 (online)
6. Validating RDF
Validating RDF using SHACL and ShEx is the topic of this lesson. Both technologies have the same overall goal, but each uses a different away to achieve it. During the hands-on exercises you will be validating different data using both SHACL and ShEx.
Teachers: David Chaves, Sindhu Vasireddy
Date: 10 November 2022 (online)
7. Ontology engineering
In this class we explain how to create ontologies using standards such as RDFS, SKOS and OWL. Specifically, we elaborate on the ontology development process, the ontology life cycle, and the methodologies, tools, and languages for building ontologies. During the hands-on exercises you put these different concepts into practice.
Teachers: Femke Ongenae, Pieter Bonte
Date: 17 November 2022 (online)
8. Stream reasoning
You will learn how to handle dynamic data on the web in the form of data streams. The amount of data streams available on the web is ever-increasing and requires special processing techniques. We will explain how heterogeneous data streams on the web can be tamed using Stream Reasoning and in particular, RDF Stream Processing techniques. During the hands-on exercises, you will learn how to enable continuous query answering over dynamic data on the web.
Teacher: Pieter Bonte, Andrei Popescu
Date: 24 November 2022 (online)
9. Data security in Solid
In this class we explore the different aspects of security in the Solid ecosystem and how it affects the development of Solid apps, the provision of Solid pods, and identity providers. During the hands-on exercises you tackle these different aspects in practice.
Teachers: Ruben Dedecker, Joachim Van Herwegen
Date: 1 December 2022 (online)
10. Knowledge graph generation
In this class we explain how you can generate RDF from non-RDF data sources using RML.io. We elaborate on how to create declarative rules to generate RDF using the RDF Mapping Language and YARRRML. During the hands-on exercises, you use RML.io on existing datasets to generate your own RDF.
Teachers: David Chaves, Dylan Van Assche
Date: 8 December 2022 (online)
11. Summary and project
In this class we introduce the project that combines everything that you have learned in the previous classes. After summarizing the theory of the course, the remainder of the time you can work on the project and ask questions.
Teachers: Pieter Heyvaert, Pieter Colpaert
Date: 8 December 2022 (online)
12. Project results
In the final class of this course, you present the outcomes of your project to your fellow students. This is followed by a discussion of the different outcomes across all projects.
Teachers: Pieter Colpaert, Pieter Heyvaert
Date: 22 December 2022 (on campus)