Rules ECAI Tutorial 2020/en: Difference between revisions

From International Center for Computational Logic
m (Markus Krötzsch verschob die Seite Rules ECAI Tutorial 2020 nach Rules ECAI Tutorial 2020/en und überschrieb dabei eine Weiterleitung)
No edit summary
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Main heading|Practical Uses of Existential Rules in Knowledge Representation}}
{{#leftsidenav:<!--


This webpage contains all of the materials and relevant information to follow our online tutorial at the 24th European Conference on Artificial Intelligence ([http://ecai2020.eu/ ECAI 2020]). To stream this tutorial, which will take place on the 5/9/2020 (Friday) from 9:00am to 12:15am CET, you first have to [https://digital.ecai2020.eu/sign-up/ sign up for the conference]. After doing so, you can stream the tutorial through this [https://digital.ecai2020.eu/full-program/ webpage].
*** The first part defines the content of the left-side navigation.
*** We use a headline "Contents" (you could use any text)
*** and then insert the automatically generated table of contents (you could make a manual list of links there instead)
*** (this is all writting inside a comment area, hence it does not show on page)


'''Participants who want to take part in the hands-on exercises should also download the [[Media:Ecai-2020.zip|archive with all tutorial resources]]. An [[Media:Ecai-2020-slides.zip|archive with all the slides]] is also available. '''
-->{{LeftsidenavHeading|Contents}}
<div class="no-toc-head">__TOC__</div>
|<!--


Individual slide sets:
*** Now comes the actual main part of the page (right-hand side).
* [[Media:Ecai2020-P1-Introduction.pdf|Part 1: Introduction]]
* [[Media:Ecai2020-P2-Elreasoning.pdf|Part 2: Reasoning in EL]]
* [[Media:Ecai2020-P3-HornALC.pdf|Part 3: Reasoning in Horn ALC]]
* [[Media:Ecai2020-P4-Uses.pdf|Part 4: Use cases]]


{{#maketabs:
--><div style="float: right; padding: 2.3em;">[[Image:ECAI-2020-logo.png|150px|link=]]</div>{{Main heading|Practical Uses of Existential&nbsp;Rules in Knowledge&nbsp;Representation}}


|<big> Abstract </big> =
This webpage contains all of the materials and relevant information to follow our online tutorial at the [http://ecai2020.eu/24th European Conference on Artificial Intelligence] ([http://ecai2020.eu/ ECAI 2020]), presented on Friday, 4 Sept 2020. Recordings of the sessions are made available through the conference website.


Links to our slides and all additional materials used in the demonstrations are found [[#Outline and Materials|below]].
===Tutorial Overview===
[[Image:Rulewerk-Shell-Screenshot-Galen.png|thumb|500px|right|link=|Participants can try all live demos using the Rulewerk shell (above: finding the pulse with the Galen medical ontology)]]
Symbolic Knowledge Representation (KR) is one of the pillars of AI, with rule-based reasoning being one of its key challenges. Historically, rules have been at the foundation of languages like Prolog or Datalog, and have been studied since the inception of AI. More recently, various breakthroughs have enabled the execution of rules over very large knowledge bases, thus extending the applicability of this technology to many new scenarios.
Symbolic Knowledge Representation (KR) is one of the pillars of AI, with rule-based reasoning being one of its key challenges. Historically, rules have been at the foundation of languages like Prolog or Datalog, and have been studied since the inception of AI. More recently, various breakthroughs have enabled the execution of rules over very large knowledge bases, thus extending the applicability of this technology to many new scenarios.


Line 21: Line 28:
The tutorial is designed for a multi-disciplinary AI audience, thus specific prior knowledge in KR is not required.
The tutorial is designed for a multi-disciplinary AI audience, thus specific prior knowledge in KR is not required.


|<big> Outline </big> =
=== Outline and Materials ===


<ul>
The tutorial was given in four parts on Friday, 4 September 2020.
<li> Part 1: Introduction to Existential Rules </li>
The outline and the slides for each part are below.
<ul>
In addition, we offer an '''[[Media:Ecai-2020.zip|archive with all tutorial resources]]''' that are used in the live demos and hands-on sessions, which can be downloaded to re-play the demos and try rule reasoning on one's own computer. Instructions for each hands-on are included in the slides, but also in readme files in the archive.
<li> Basic concepts </li>
<li> Getting acquainted with the tools </li>
</ul>
<li> Part 2: Existential Rules in Knowledge Representation  </li>
<ul>
<li> Implementing a lightweight description logic reasoner </li>
<li> Guidelines for problem encoding and optimisation </li>
</ul>
<li> Part 3: Reasoning Beyond Polynomial Time </li>
<ul>
<li> Augmenting Datalog with sets for reasoning in expressive description logics </li>
<li> Using existential rules to simulate sets </li>
</ul>
<li> Part 4: Practical Applications of Rules </li>
<ul>
<li> Probabilistic inference with Datalog </li>
<li> Data integration </li>
<li> Stream reasoning </li>
</ul>
</ul>


|<big>Speakers</big> =
[[Image:Ecai2020-P1-Introduction.pdf|left|250px|class=shadow|link={{filelink:Image:Ecai2020-P1-Introduction.pdf}}|Slides for Part 1: Introduction to Existential Rules]]
[[Media:Ecai2020-P1-Introduction.pdf|'''Part 1: Introduction to Existential Rules''']]
* Basic concepts
* Getting acquainted with the tools
<div style="clear: both;"/>
[[Image:Ecai2020-P2-Elreasoning.pdf|left|250px|class=shadow|link={{filelink:Image:Ecai2020-P1-Introduction.pdf}}|Slides for Part 2: Existential Rules in Knowledge Representation]]
[[Media:Ecai2020-P2-Elreasoning.pdf|'''Part 2: Existential Rules in Knowledge Representation''']]
* Implementing a lightweight description logic reasoner
* Guidelines for problem encoding and optimisation
<div style="clear: both;"/>
[[Image:Ecai2020-P3-HornALC.pdf|left|250px|class=shadow|link={{filelink:Image:Ecai2020-P1-Introduction.pdf}}|Slides for Part 3: Reasoning Beyond Polynomial Time]]
[[Media:Ecai2020-P3-HornALC.pdf|'''Part 3: Reasoning Beyond Polynomial Time''']]
* Augmenting Datalog with sets for reasoning in expressive description logics
* Using existential rules to simulate sets
<div style="clear: both;"/>
[[Image:Ecai2020-P4-Uses.pdf|left|250px|class=shadow|link={{filelink:Image:Ecai2020-P1-Introduction.pdf}}|Slides for Part 4: Practical Applications of Rules]]
[[Media:Ecai2020-P4-Uses.pdf|'''Part 4: Practical Applications of Rules''']]
* Probabilistic inference with Datalog
* Data integration
* Stream reasoning
<div style="clear: both;"/>


=== Speaker Biographies ===
[[Image:David-Carral-2019-10-21.jpg|100px|left|link=]]
<big>[[David Carral]]</big>
<big>[[David Carral]]</big>


David Carral is a postdoctoral scholar at the chair for [[Wissensbasierte Systeme/en|Knowledge-Based Systems]] at the Faculty of Computer Science of TU Dresden.  He completed his master's and doctor's degrees at Wright State University, both under the supervision of Prof. Dr. Pascal Hitzler, in 2012 and 2016, respectively. For several months during his Ph.D., he was an exchange student at the University of Oxford, working under the supervision of Prof. Dr. Bernardo Cuenca Grau. His research interests include symbolic artificial intelligence and knowledge representation related topics. More precisely, David studies the theoretical properties of logical languages such as Description Logics and existential rules, and the implementation of reasoning algorithms.
David Carral is a postdoctoral scholar at the chair for [[Wissensbasierte Systeme/en|Knowledge-Based Systems]] at the Faculty of Computer Science of TU Dresden.  He completed his master's and doctor's degrees at Wright State University, both under the supervision of Prof. Dr. Pascal Hitzler, in 2012 and 2016, respectively. For several months during his Ph.D., he was an exchange student at the University of Oxford, working under the supervision of Prof. Dr. Bernardo Cuenca Grau. His research interests include symbolic artificial intelligence and knowledge representation related topics. More precisely, David studies the theoretical properties of logical languages such as Description Logics and existential rules, and the implementation of reasoning algorithms.


[[Image:Markus-Kroetzsch-2019-10-21.jpg|100px|left|link=]]
<big>[[Markus Krötzsch/en | Markus Krötzsch]]</big>
<big>[[Markus Krötzsch/en | Markus Krötzsch]]</big>


Line 58: Line 69:
rule-based inference methods, and rule reasoners. His wider research interests also include ontology languages, query answering, reasoning complexity, knowledge graphs, and content management and integration platforms for the Web of Data. He has published many works in leading journals and conferences, and two textbooks on semantic technologies. He has given tutorials and invited lectures at various events, including ESSLLI, IJCAI, and ICDT, and he has co-organised numerous scientific and educational events, most recently the Reasoning Web Summer School 2019.
rule-based inference methods, and rule reasoners. His wider research interests also include ontology languages, query answering, reasoning complexity, knowledge graphs, and content management and integration platforms for the Web of Data. He has published many works in leading journals and conferences, and two textbooks on semantic technologies. He has given tutorials and invited lectures at various events, including ESSLLI, IJCAI, and ICDT, and he has co-organised numerous scientific and educational events, most recently the Reasoning Web Summer School 2019.


[[Image:Jacopo-Urbani.jpg|100px|left|link=]]
<big>[https://www.jacopourbani.it/ Jacopo Urbani]</big>
<big>[https://www.jacopourbani.it/ Jacopo Urbani]</big>


Jacopo Urbani is an assistant professor at the Department of Computer Science of the Vrije Universiteit Amsterdam (VUA). He is also a guest researcher at the Centrum Wiskunde & Informatica and at the Max Planck Institute in Informatics. He wrote a PhD thesis on distributed reasoning algorithms for very large Knowledge Graphs. The thesis was nominated by the Royal Netherlands Academy of Arts and Sciences as one of the best PhD theses in Computer Science in the country. After spending part of his postdoc in USA and Germany, he joined the faculty of the VUA and has been tenured in 2018. He is one of the main developers of VLog and has published extensively on rule-based reasoning on Knowledge Graphs (KGs) at venues like AAAI, WWW, ISWC, etc. His recent interests include the application of rule-based reasoning for fact-checking and to perform KG completion using information extracted from unstructured sources.
Jacopo Urbani is an assistant professor at the Department of Computer Science of the Vrije Universiteit Amsterdam (VUA). He is also a guest researcher at the Centrum Wiskunde & Informatica and at the Max Planck Institute in Informatics. He wrote a PhD thesis on distributed reasoning algorithms for very large Knowledge Graphs. The thesis was nominated by the Royal Netherlands Academy of Arts and Sciences as one of the best PhD theses in Computer Science in the country. After spending part of his postdoc in USA and Germany, he joined the faculty of the VUA and has been tenured in 2018. He is one of the main developers of VLog and has published extensively on rule-based reasoning on Knowledge Graphs (KGs) at venues like AAAI, WWW, ISWC, etc. His recent interests include the application of rule-based reasoning for fact-checking and to perform KG completion using information extracted from unstructured sources.


|<big>Software</big> =
=== Software Tools ===


<big>[https://github.com/karmaresearch/vlog/wiki VLog]</big>
<big>[https://github.com/knowsys/rulewerk Rulewerk]</big>
 
Rulewerk is a toolkit for using rules for knowledge modelling, data integration, and declarative computing. It integrates the rule engine VLog with many high-level features for knowledge-base management and rule manipulation. The Rulewerk distribution packages include support for all major operating systems, requiring only Java 8 or above to be available. Rulewerk can be used in two ways:
 
# As a [https://github.com/knowsys/rulewerk/wiki/Using-Rulewerk-via-Maven Java library] in your own programming projects
# As a [https://github.com/knowsys/rulewerk/wiki/Standalone-client stand-alone client] application that offers an interactive shell
 
More information about Rulewerk can be found at https://github.com/knowsys/rulewerk/wiki.
 
<big>[https://github.com/karmaresearch/vlog VLog]</big>


VLog is a rule engine that combines a column-based memory layout with novel optimization methods that avoid redundant inferences at runtime, resulting in high efficiency in terms of memory usage and speed. Compared to traditional row stores, column-based approaches have shown superior performance on analytical workloads, but are deployed mostly in relational DBMSs, see for instance MonetDB. For VLog, the vertical storage leads to high memory efficiency and competitive runtimes, but also requires specific implementation strategies and data structures.
VLog is a rule engine that combines a column-based memory layout with novel optimization methods that avoid redundant inferences at runtime, resulting in high efficiency in terms of memory usage and speed. Compared to traditional row stores, column-based approaches have shown superior performance on analytical workloads, but are deployed mostly in relational DBMSs, see for instance MonetDB. For VLog, the vertical storage leads to high memory efficiency and competitive runtimes, but also requires specific implementation strategies and data structures.


For more information about VLog, click on this [https://github.com/karmaresearch/vlog/wiki link].
More information about VLog can be found at https://github.com/karmaresearch/vlog/wiki.
 
<big>[https://github.com/knowsys/rulewerk/wiki Rulewerk]</big>


Rulewerk is a toolkit for using rules for knowledge modeling, data integration, and declarative computing. It integrates the rule engine VLog with many high-level features for knowledge-base management and rule manipulation. Rulewerk can be used in two ways:
=== Acknowledgements ===
<ol>
  <li>As a [https://github.com/knowsys/rulewerk/wiki/Using-Rulewerk-via-Maven Java library] in your own programming projects</li>
  <li>As a [https://github.com/knowsys/rulewerk/wiki/Standalone-client stand-alone client] application</li>
</ol>


For more information about Rulewerk, click on this [https://github.com/knowsys/rulewerk/wiki link].
This tutorial presentation was in part supported by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) in projects number 389792660 (TRR 248, [[CPEC/en|Center for Perspicuous Systems]]) and KR 4381/1-1 ([[DIAMOND/en|Emmy Noether grant DIAMOND]]).


}}<!-- End of #maketabs -->
}}<!-- End of #leftsidenav -->
<!-- set semantic properties to find this as a publication -->
{{#set: Author=David Carral}}
{{#set: Author=Markus Krötzsch}}
{{#set: Author=Jacopo Urbani}}
{{#set:
|Bibtype=Misc
|type=misc
|ErsterAutorNachname=Carral
|ErsterAutorVorname=David
|Title=Practical Uses of Existential Rules in Knowledge Representation
|Year=2020
|Howpublished=Tutorial at the 24th European Conference on Artificial Intelligence (ECAI 2020)
|Forschungsgruppe=Wissensbasierte Systeme
|Referiert=false
}}
{{#set: Projekt=CPEC}}
{{#set: Projekt=DIAMOND}}
{{#set:
| publication text=David Carral,&nbsp;Markus Krötzsch,&nbsp;Jacopo Urbani<br /> '''[[Rules_ECAI_Tutorial_2020|Practical Uses of Existential Rules in Knowledge Representation]]'''<br/>Tutorial at the 24th European Conference on Artificial Intelligence (ECAI 2020)<br/><span class="fas fa-chevron-right" style="font-size: 85%;" ></span> [[Rules_ECAI_Tutorial_2020|Details]]
| publication text en=David Carral,&nbsp;Markus Krötzsch,&nbsp;Jacopo Urbani<br /> '''[[Rules_ECAI_Tutorial_2020/en|Practical Uses of Existential Rules in Knowledge Representation]]'''<br/>Tutorial at the 24th European Conference on Artificial Intelligence (ECAI 2020)<br/><span class="fas fa-chevron-right" style="font-size: 85%;" ></span> [[Rules_ECAI_Tutorial_2020/en|Details]]
}}
[[Category:Publikation]][[Category:Misc]]

Latest revision as of 01:38, 8 April 2022

Toggle side column
ECAI-2020-logo.png

Practical Uses of Existential Rules in Knowledge Representation

This webpage contains all of the materials and relevant information to follow our online tutorial at the European Conference on Artificial Intelligence (ECAI 2020), presented on Friday, 4 Sept 2020. Recordings of the sessions are made available through the conference website.

Links to our slides and all additional materials used in the demonstrations are found below.

Tutorial Overview

Participants can try all live demos using the Rulewerk shell (above: finding the pulse with the Galen medical ontology)

Symbolic Knowledge Representation (KR) is one of the pillars of AI, with rule-based reasoning being one of its key challenges. Historically, rules have been at the foundation of languages like Prolog or Datalog, and have been studied since the inception of AI. More recently, various breakthroughs have enabled the execution of rules over very large knowledge bases, thus extending the applicability of this technology to many new scenarios.

This tutorial shows how rule-based reasoning has evolved from a specialised research topic to a mature field of AI, with applications ranging from decision support to source code analysis. Concretely, participants will learn how to use rules to solve challenging problems in several use cases taken from data integration, ontology reasoning, and probabilistic logic programming. We focus on rules with existential quantification, give all necessary theoretical background, and demonstrate their practical usage. Interested participants can follow the demonstrations on their own computers using our open-source tools VLog and Rulewerk.

The tutorial is designed for a multi-disciplinary AI audience, thus specific prior knowledge in KR is not required.

Outline and Materials

The tutorial was given in four parts on Friday, 4 September 2020. The outline and the slides for each part are below. In addition, we offer an archive with all tutorial resources that are used in the live demos and hands-on sessions, which can be downloaded to re-play the demos and try rule reasoning on one's own computer. Instructions for each hands-on are included in the slides, but also in readme files in the archive.

Slides for Part 1: Introduction to Existential Rules

Part 1: Introduction to Existential Rules

  • Basic concepts
  • Getting acquainted with the tools
Slides for Part 2: Existential Rules in Knowledge Representation

Part 2: Existential Rules in Knowledge Representation

  • Implementing a lightweight description logic reasoner
  • Guidelines for problem encoding and optimisation
Slides for Part 3: Reasoning Beyond Polynomial Time

Part 3: Reasoning Beyond Polynomial Time

  • Augmenting Datalog with sets for reasoning in expressive description logics
  • Using existential rules to simulate sets
Slides for Part 4: Practical Applications of Rules

Part 4: Practical Applications of Rules

  • Probabilistic inference with Datalog
  • Data integration
  • Stream reasoning

Speaker Biographies

David-Carral-2019-10-21.jpg

David Carral

David Carral is a postdoctoral scholar at the chair for Knowledge-Based Systems at the Faculty of Computer Science of TU Dresden. He completed his master's and doctor's degrees at Wright State University, both under the supervision of Prof. Dr. Pascal Hitzler, in 2012 and 2016, respectively. For several months during his Ph.D., he was an exchange student at the University of Oxford, working under the supervision of Prof. Dr. Bernardo Cuenca Grau. His research interests include symbolic artificial intelligence and knowledge representation related topics. More precisely, David studies the theoretical properties of logical languages such as Description Logics and existential rules, and the implementation of reasoning algorithms.

Markus-Kroetzsch-2019-10-21.jpg

Markus Krötzsch

Markus Krötzsch is a full professor at the Faculty of Computer Science of TU Dresden, where he is holding the chair for Knowledge-Based Systems. He obtained his Ph.D. from the Institute of Applied Informatics and Formal Description Methods (AIFB) of Karlsruhe Institute of Technology (KIT) in 2010, and thereafter worked as a researcher and departmental lecturer at the Department of Computer Science of the University of Oxford until October 2013. Krötzsch's extensive research activities in the area of rule-based knowledge representation and reasoning have contributed to the development and analysis of rule languages, rule-based inference methods, and rule reasoners. His wider research interests also include ontology languages, query answering, reasoning complexity, knowledge graphs, and content management and integration platforms for the Web of Data. He has published many works in leading journals and conferences, and two textbooks on semantic technologies. He has given tutorials and invited lectures at various events, including ESSLLI, IJCAI, and ICDT, and he has co-organised numerous scientific and educational events, most recently the Reasoning Web Summer School 2019.

Jacopo-Urbani.jpg

Jacopo Urbani

Jacopo Urbani is an assistant professor at the Department of Computer Science of the Vrije Universiteit Amsterdam (VUA). He is also a guest researcher at the Centrum Wiskunde & Informatica and at the Max Planck Institute in Informatics. He wrote a PhD thesis on distributed reasoning algorithms for very large Knowledge Graphs. The thesis was nominated by the Royal Netherlands Academy of Arts and Sciences as one of the best PhD theses in Computer Science in the country. After spending part of his postdoc in USA and Germany, he joined the faculty of the VUA and has been tenured in 2018. He is one of the main developers of VLog and has published extensively on rule-based reasoning on Knowledge Graphs (KGs) at venues like AAAI, WWW, ISWC, etc. His recent interests include the application of rule-based reasoning for fact-checking and to perform KG completion using information extracted from unstructured sources.

Software Tools

Rulewerk

Rulewerk is a toolkit for using rules for knowledge modelling, data integration, and declarative computing. It integrates the rule engine VLog with many high-level features for knowledge-base management and rule manipulation. The Rulewerk distribution packages include support for all major operating systems, requiring only Java 8 or above to be available. Rulewerk can be used in two ways:

  1. As a Java library in your own programming projects
  2. As a stand-alone client application that offers an interactive shell

More information about Rulewerk can be found at https://github.com/knowsys/rulewerk/wiki.

VLog

VLog is a rule engine that combines a column-based memory layout with novel optimization methods that avoid redundant inferences at runtime, resulting in high efficiency in terms of memory usage and speed. Compared to traditional row stores, column-based approaches have shown superior performance on analytical workloads, but are deployed mostly in relational DBMSs, see for instance MonetDB. For VLog, the vertical storage leads to high memory efficiency and competitive runtimes, but also requires specific implementation strategies and data structures.

More information about VLog can be found at https://github.com/karmaresearch/vlog/wiki.

Acknowledgements

This tutorial presentation was in part supported by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) in projects number 389792660 (TRR 248, Center for Perspicuous Systems) and KR 4381/1-1 (Emmy Noether grant DIAMOND).