Linked Data Kennisgrafen
met TriplyDB
@iAMLAB


Wouter Beek (wouter@triply.cc)
Thomas de Groot (thomas.de.groot@triply.cc)
Kathrin Dentler (kathrin.dentler@triply.cc)

Linked data introductie

Kathrin Dentler

Linked data: IRIs

Globale en eenduidige definitie van dingen

http://nl.dbpedia.org/page/Van_Brienenoordbrug

Basisstructuur: Triples

Subject - Predicaat - Object

dbr:Van_Brienenoordbrug dbp:downstream dbr:Willemsbrug .

Schema / Vocabulaire / Model

Definitie van onderdelen van een brug en hun relaties.

Kennisgraaf

LOD Cloud 2020-05-20 (lod-cloud.net)

Kennisgraaf gebruik

“Inside the Alexa-Friendly World of Wikidata” Wired 2019-02-18 (link)
Gartner Hype Cycle for Emerging Technologies 2019

Open Standaarden

W3C standaarden voor linked data kennisgrafen.

Linked data voordelen

  • Gebaseerd op open standaarden:
    tooling (geen vendor lock-in)
  • FAIR-principes zijn haalbaar:
    Findable, Accessible, Interoperable en Reusable
  • Weg met data silos:
    koppeling van gegevens uit verschillende bronnen
  • Intuïtief datamodel is mogelijk

Linked data publiceren
in TriplyDB

Wouter Beek

Organisaties, Gebruikers & Rechten

  • Admin, Owner, Member
  • Automatische metadata (Schema.org, DCAT)

Rechten buiten de omgeving

  • Werkt o.b.v. API Tokens
  • Voor externe applicaties
  • Voor ETL processen
  • Read, Write, Manage

LD Wizard

  • Voorbeeld van een externe applicatie
  • Voorbeeld van een eenvoudige ETL

Datasets aanmaken

  • Private, Internal, Public
  • Bestanden, URLs, datasets
  • Automatische metadata
  • Google vindbaarheid

LD Browser

Linked Data Browser

Linked data hergebruiken

Als de organisatie linked data goed toepast, is data integratie triviaal.

Linked data inzichten

Voer uit

Linked data gebruiken
in TriplyDB

Thomas de Groot

Met én zonder services

  • LDF: Linked Data Fragments (link)
  • Comunica: A Knowledge Graph Querying Frameword (link)
  • Alles wat we tot nu toe hebben gezien maakt geen gebruik van services
  • Ambitie: steeds meer functionaliteit zonder services

Services

  • Service types: SPARQL, ElasticSearch, GraphQL?, etc.
  • SPARQL implementaties: Virtuoso, Jena, Blazegraph?, etc.
  • Services zijn volledig geïsoleerd
  • Gebruik meerdere services voor load balancing

Queries

  • Syntax highlighting
  • Autocomplete
  • Visualisaties
  • Versioning

Ruimtelijke & temporele informatie

  • Federatieve bevraging
  • Generieke bevraging

Hiërarchische informatie

Statistische informatie

Life expectancy for the countries of the world over time (dataset: Gapminder)

Zoeken vanuit de kaart

Voer uit

APIs over queries

  • “REST over SPARQL” (link)
  • Gedetailleerde API configuratie
  • CSV/TSV, JSON, XML
  • Hergebruik in niet-LD tools (link)

Linked data use cases
in TriplyDB

Thomas de Groot

Vinden van overtredingen (1/2)

“In 2023 moeten alle Nederlandse kantoorruimtes met een oppervlakte van meer dan 100m² ten minste energielabel C hebben.”
Bron: Staatsblad 2012-11-02 (link)
KleurEnergielabel
A, A+, A++, A+++
B
C
D
E
F
G

Vinden van overtredingen (2/2)

Bronnen: Energielabels van de Rijksdienst voor Ondernemers (RVO), Rijksdienst voor Cultureel Erfgoed (RCE), Kadaster.

Miljoenennota (Dutch Annual Budget)

Linked Data Innovation for a Smarter Government,
Amsterdam Data Science (ADS) blog post

Information products (Ministry of Finance)

Create complex ‘imformation products’ with SPARQL.

Data Story: Corona

Op basis van RIVM statistieken: link

Data Story: Voorstel tot begrotingswet

Op basis van de originele begrotingsstuk: link

Data Story: Data analyse met SPARQL

Data analyse met data stories: link

Linked data beheren
in TriplyDB

Wouter Beek

Administrator

  • Gedetailleerde overzichten
  • Krachtige beheertools
  • Accounts, datasets, services
  • Metadata, redirects, caching

Redirects

  • Sluit meerdere websites aan op één TriplyDB backend.
  • IRI dereferencing
  • Zoekmachines

IISG website

Generieke componenten over een gestandaardiseerd data model.

Diamantbewerkers website

Generieke componenten over een gestandaardiseerd data model.

Productie systemen bouwen
met TriplyDB

Wouter Beek

RATT

  • Backend agnostisch
  • Uitbreidbaar: TypeScript
  • SHACL validatie op record niveau
  • Declaratieve notatie
  • Paralleliseerbaar / multi-core

TriplyDB.js: Maak een dataset aan


                  const dataset = await account.addDataset({
                    accessLevel: "private",
                    name: "some-dataset",
                    description: "A dataset created with Triply Client.",
                    license: "CC0 1.0"
                  });
                  console.log(dataset.info());
              
Prints information about a dataset to the terminal.

TriplyDB.js: Maak 4 services aan


                  await dataset.addService("sparql", "endpoint-1");
                  await dataset.addService("sparql", "endpoint-2");
                  await dataset.addService("sparql", "endpoint-3");
                  await dataset.addService("sparql", "endpoint-4");
              
Maak een SPARQL cluster aan.

TriplyDB.js: Bevraag het SPARQL cluster


                  while (true) {
                    for (const service of await dataset.getServices()) {
                      if (await service.getStatus() == "running") {
                        console.log("Found a running service: "+service.name);
                      }
                    }
                  }
              
Voer onderhoud uit op één of twee services zonder downtime van de applicatie.

Linked Data Kennisgrafen
met TriplyDB
@iAMLAB


Wouter Beek (wouter@triply.cc)
Thomas de Groot (thomas.de.groot@triply.cc)
Kathrin Dentler (kathrin.dentler@triply.cc)