65
Jekyll RDF Template-Based Linked Data Publication with Minimized Effort and Maximum Scalability Natanael Arndt <https://natanael.arndt.xyz/#i> 2019-06-13 ICWE 2019, Daejeon, South Korea funded by

Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Jekyll RDFTemplate-Based Linked Data Publicationwith Minimized Effort and Maximum Scalability

Natanael Arndt <https://natanael.arndt.xyz/#i>

2019-06-13ICWE 2019, Daejeon, South Korea

funded by

Page 2: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

Page 3: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

This is whatbrowsers see.

RDFa 1.1 Primer: https://www.w3.org/TR/xhtml-rdfa-primer/

This is whathumans see.

Can we bridge the gap so that browsers see more of what we see?

1 / 28

Page 4: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

This is whatbrowsers see.

RDFa 1.1 Primer: https://www.w3.org/TR/xhtml-rdfa-primer/

This is whathumans see.

Can we bridge the gap so that browsers see more of what we see?

1 / 28

Page 5: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

This is whatbrowsers see.

RDFa 1.1 Primer: https://www.w3.org/TR/xhtml-rdfa-primer/

This is whathumans see.

Can we bridge the gap so that browsers see more of what we see?

1 / 28

Page 6: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

This is whatbrowsers see.

RDFa 1.1 Primer: https://www.w3.org/TR/xhtml-rdfa-primer/

This is whathumans see.

Can we bridge the gap so that browsers see more of what we see?

1 / 28

Page 7: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

This is whatbrowsers see.

RDFa 1.1 Primer: https://www.w3.org/TR/xhtml-rdfa-primer/

This is whathumans see.

Can we bridge the gap so that browsers see more of what we see?

1 / 28

Page 8: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

Yes, RDF and other formats help us to annotate and express data on the Web.

Ali Khalili http://rdface.aksw.org/

2 / 28

Page 9: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

Yes, RDF and other formats help us to annotate and express data on the Web.

Ali Khalili http://rdface.aksw.org/

2 / 28

Page 10: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

Yes, RDF and other formats help us to annotate and express data on the Web.

Ali Khalili http://rdface.aksw.org/

2 / 28

Page 11: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

Yes, RDF and other formats help us to annotate and express data on the Web.

Ali Khalili http://rdface.aksw.org/

2 / 28

Page 12: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

An increasing amount of data is published as RDF resp. Linked Data …

The Linked Open Data Cloud https://www.lod-cloud.net/

3 / 28

Page 13: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

An increasing amount of data is published as RDF resp. Linked Data …

The Linked Open Data Cloud https://www.lod-cloud.net/

3 / 28

Page 14: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

… while this data is hardly accessible to humans.

The Linked Open Data Cloud https://www.lod-cloud.net/

3 / 28

Page 15: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

… while this data is hardly accessible to humans.The Linked Open Data Cloud https://www.lod-cloud.net/

3 / 28

Page 16: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

How can we make Data on the Web accessible to machines and to humans?The Linked Open Data Cloud https://www.lod-cloud.net/

3 / 28

Page 17: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

4 / 28

Page 18: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

4 / 28

Page 19: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

• hard to maintain

4 / 28

Page 20: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

• hard to maintain

4 / 28

Page 21: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

• hard to maintain

4 / 28

Page 22: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

• hard to maintain

4 / 28

Page 23: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

4 / 28

Page 24: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

• Dynamic presentations are often nottailored to the content

• … or they are built for a specificpurpose

• We know SPARQL endpoints are notalways reliable and break

4 / 28

Page 25: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

• Dynamic presentations are often nottailored to the content

• … or they are built for a specificpurpose

• We know SPARQL endpoints are notalways reliable and break

4 / 28

Page 26: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

• Dynamic presentations are often nottailored to the content

• … or they are built for a specificpurpose

• We know SPARQL endpoints are notalways reliable and break

4 / 28

Page 27: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

The Web was designed as an information space, with the goal not only thatit should be useful for human–human communication, but also that machineswould be able to participate and help users communicate with each other.

Berners-Lee, T., Hendler, J.: Publishing on the semantic web. Nature 410(6832) (2001)

5 / 28

Page 28: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Problem

How can we close the gap betweenstructured data and human accessible exploration interfaces?

6 / 28

Page 29: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Approach

Page 30: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Approach

• We take the popular Jekyll system1

• It is a Static Site Generator and CMS2

• From a set of layout templates and markdown files itbuilds a webpage

• The webpage is static and self contained and thus canbe served with minimum effort using e.g. nginx, githubpages, static webspace

• Powerful, extensible, and simple templating language

Layouts+ MarkDown

StaticWebpage

1https://jekyllrb.com/, https://www.staticgen.com/, https://www.netlify.com/blog/2016/05/02/top-ten-static-website-generators/2Content Management System

7 / 28

Page 31: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Approach

A Jekyll plugin to include RDF data in your static site orbuild a complete site for your RDF graph

• Creates one page per resource• Assign layouts per RDF class• Standard simple Jekyll layouts• + filters to add resource properties• + filter to query the entire graph

Layouts+ MarkDown

+ Graph

StaticWebpage

8 / 28

Page 32: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Approach

+RDF HTML Template

+

=

9 / 28

Page 33: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Approach

= Webpage

+ =

9 / 28

Page 34: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Approach

TemplateMapping

Map Resourcesto Pages

ProcessJekyll RDF Markup

10 / 28

Page 35: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Template Mapping

Page 36: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Template Mapping

TemplateMapping

11 / 28

Page 37: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Template Mapping

12 / 28

Page 38: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Template Mapping

? ? ? ? ?

12 / 28

Page 39: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Template Mapping

12 / 28

Page 40: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Template Mapping

12 / 28

Page 41: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Template Mapping

13 / 28

Page 42: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Resource Mapping and Site Creation

Page 43: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Resource Mapping and Site Creation

TemplateMapping

Map Resourcesto Pages

14 / 28

Page 44: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Resource Mapping and Site Creation

15 / 28

Page 45: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Resource Mapping and Site Creation

scheme://authority/path?query#fragment

http://pfarrerbuch.aksw.org/sachsen/ort/3441.htmlhttp://pfarrerbuch.aksw.org/sachsen/ort/3441#stellen

url baseurlJekyll Site URL

http://pfarrerbuch.aksw.org/sachsen/confi

g

file path

sub resource

res.

IRI

Jekyll RDF page

Figure 1: Scheme of the selection of page paths based on the configured Jekyll Site URL.

16 / 28

Page 46: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Jekyll RDF Markup Language

Page 47: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Jekyll RDF Markup Language

TemplateMapping

Map Resourcesto Pages

ProcessJekyll RDF Markup

17 / 28

Page 48: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Jekyll RDF Markup Language

18 / 28

Page 49: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Jekyll RDF Markup Language

Table 1: The filters defined by Jekyll RDF and the tasks performed by them.

Filter Parameters ([optional]) Description

rdf_getGet a variable representing a resource from the RDFgraph.

rdf_property IRI, [language, bool]Get a value of a property of a resource. If the lastparameter is set to true an array is returned (line 8).

rdf_inverse_property IRI, [bool] Get the value of an inverse property.rdf_collection andrdf_container

[IRI]Get RDF collections and RDF containers from theRDF graph.

sparql_query sparql queryExecute a SPARQL Query on the RDF graph,the passed value is bound to ?resourceUri or to?resourceUri_n if an array is provided.

19 / 28

Page 50: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Jekyll RDF Markup Language

20 / 28

Page 51: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Examples

Page 52: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Examples

Setup Open Hebrew Inventory#Triples 197,374

#Templates/#Pages 4/2#Res. Pages 13,426Avg. Runtime 1952.4 s (32.54 min)

21 / 28

Page 53: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Examples

Setup Pfarrerbuch (demo subset)#Triples 1,685

#Templates/#Pages 4/-#Res. Pages 138Avg. Runtime 8 s

22 / 28

Page 54: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Examples

Setup SDA Work Group#Triples 27,295

#Templates/#Pages 8 (Class) + 49 (Instance)/2#Res. Pages 253Avg. Runtime 327.3 s (5.45 min)

23 / 28

Page 55: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Examples

Setup diggr Vocabulary#Triples 221

#Templates/#Pages 1/-#Res. Pages 1Avg. Runtime 8 s

24 / 28

Page 56: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Conclusion

Page 57: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Conclusion

• Create webpages from RDF data sources (CMS, exploration interface)• Cost efficient serving of static sites• Customizability of the layout without code, by using a templating language

25 / 28

Page 58: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Conclusion

• Create webpages from RDF data sources (CMS, exploration interface)• Cost efficient serving of static sites• Customizability of the layout without code, by using a templating language

25 / 28

Page 59: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Hands On

Page 60: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Hands On

https://github.com/white-gecko/JekyllRDF-Tutorial

https://natanael.arndt.xyz/2018/08/07/jekyll-rdf-tutorial-screencast

https://vimeo.com/283525074

26 / 28

Page 61: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Contact

Page 62: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Contact

Natanael [email protected]

https://natanael.arndt.xyz

twitter: @white_geckomastodon: @[email protected]

Web Page: http://aksw.org/Projects/JekyllRDF

GitHub: https://github.com/AKSW/jekyll-rdf

Jekyll RDF: Template-Based Linked Data Publication with Minimized Effort and Maximum Scal-ability Natanael Arndt, Sebastian Zänker, Gezim Sejdiu, Sebastian Tramp in Proceedings of the 19thInternational Conference on Web Engineering (ICWE 2019)https://natanael.arndt.xyz/bib/arndt-n-2019--jekyll-rdfhttps://doi.org/10.1007/978-3-030-19274-7_24

27 / 28

Page 63: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Credits

Page 64: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Credits

• Emojis licensed under Apache License Version 2.0• Copyright 2013 Google, Inc. All Rights Reserved.• Copyright 2013 Google, Inc. All Rights

Reserved, Copyright 2019 Natanael Arndt <[email protected]> All RightsReserved.

28 / 28

Page 65: Genicom Web Site Information - Jekyll RDF - Template-Based …web.geni-pco.com/icwe2019/Jekyll_RDF_Template-Based... · 2020. 8. 3. · • We take the popular Jekyll system1 •

Credits

owl:Thing

Resources

Clas

s H

iera

rchy

③ ③②

②② ②

②③Templates

x

✓Figure 2: The class hierarchy is used to select the template to render a resource.

29 / 28