====== Knowledge Engineering ======
----
===== News =====
There is not any news.
----
===== General Info =====
**Teacher**:
* [[https://didattica.unicam.it/Guide/PaginaDocente.do?docente_id=3149|Prof. Knut Hinkelmann]]
* [[http://fhnw.ch/en/people/emanuele-laurenzi|Prof. Emanuele Laurenzi]]
**ESSE3 Link**
* [[|Knowledge Engineering - AY 2024/25]]
**Webex Link**:
* [[https://unicam.webex.com/meet/knut.hinkelmann]]
* [[https://unicam.webex.com/meet/emanuele.laurenzi]]
**Scheduling of Lectures**:
* Scheduling is available at the following [[:didattica:ay2425:orario_en|link]]
* {{ :didattica:ay2425:kebi:2025_ke_weekschedule.pdf |Schedule of KEBI Lectures}}
**Degrees**:
* [[didattica:mscs|MSc in Computer Science (LM-18)]]
----
===== Exam: Project =====
The grading is done via a project work
* {{ :didattica:ay2324:kebi:project_personalized_menu.pdf |Project Description}}
* {{https://docs.google.com/spreadsheets/d/1jK1EVxq9y79bIIBErXdPhW8p66X8mw9XZkW_nuVfVxM/edit?usp=sharing |Enter your name}}
There will be several submission deadlines
* First Submission: **1st of July 2025** via email to Emanuele (emanuele.laurenzi@unicam.it) and Knut (karlknut.hinkelmann@unicam.it)
* Second Submission: 21st of August 2025 via email to Emanuele (emanuele.laurenzi@unicam.it) and Knut (karlknut.hinkelmann@unicam.it)
* Third Submission: 24th of November 2025 via email to Emanuele (emanuele.laurenzi@unicam.it) and Knut (karlknut.hinkelmann@unicam.it)
===== Course Objectives =====
== Supporting Knowledge-Intensive Processes ==
Knowledge-intensive processes are more unstructured processes with a lot of involvements of users with their experience. Supporting such processes at their levels requires modeling and enacting several different forms of knowledge. In general, more explicitly represented knowledge allows better support. But different forms of knowledge need different intuitive and adequate representations and inferences.
There are several methods to formally represent knowledge. Graphical models can be an intuitive means to add knowledge to knowledge-based systems. Instead of manually creating knowledge bases, knowledge can also be learned from data. We distinguish between symbolic learning (learning decision trees and case-based reasoning) and sub-symbolic learning (neural networks)
After completion of this module, the participants will be able to assess which kind of knowledge representation and reasoning is adequate and are able to develop appropriate knowledge-based systems. They can value the advantages of knowledge-based systems with respect to their costs and apply several methods to create knowledge bases.
----
===== Course Contents =====
* Introduction: Knowledge in processes
* Decision Tables
* Rules
* Textual represented rule (i.e. Horn clauses)
* Forward and backward chaining
* Data-driven and Goal-oriented
* Negation-as-failure
* Fuzzy Logic
* Knowledge Graphs
* RDF, RDFS, SWRL, SHACL
* Ontology Engineering
* Graphical Ontology-based Models
* Modelling and Meta-modeling
* Ontology-based meta-modeling
----
===== Study material =====
**Course Material**
* Organisation
* Slides: {{ :didattica:ay2425:kebi:ke-0-organization.pdf |About Lecture and Lecturers}}
* Project work:
*Project description: {{ :didattica:ay2425:kebi:project_personalized_menu_v1.pdf |Project description}}
*Guide on how to install AOAME locally for Task 2: [[https://github.com/BPaaSModelling/AOAME]]
* Lecture "Introduction"
* Slides: {{ :didattica:ay2425:kebi:ke_1_introduction.pdf |Introduction}}
* {{ :didattica:ay2425:kebi:davenport_2010_process_management_for_knowledge_work.pdf |Davenport, T. H. (2010). Process Management for Knowledge Work. In J. vom Brocke & M. Rosemann (Eds.), Handbook on Business Process Management 1 (pp. 17–36). Berlin, Heidelberg: Springer.}}
* {{ :didattica:ay2425:kebi:exercise_knowledge_types_for_admission.pdf |Exercise/Homework: Types of Knowledge}}
* Lecture "Knowledge in Processes"
* Slides: {{ :didattica:ay2425:kebi:ke-2_knowledge_and_processes.pdf |Decision-Aware Business Processes}}
* Example: {{ :didattica:ay2425:kebi:example_decision-aware_process_modeling.pdf | Example Decision-Aware Process Model}}
* Lecture "Decision Tables"
* Slides: {{ :didattica:ay2425:kebi:ke-3-decisontables.pdf |Decision Tables - DMN}}
* Reading: [[http://blog.maxconsilium.com/2014/09/introduction-to-decision-model-notation.html|Introduction into DMN]]
* Exercise: {{ :didattica:ay2425:kebi:exercise_decision_table_reduction.pdf |Reduction of Decision Table}}, {{ :didattica:ay2425:kebi:dmn_decision_table_reimbursement.xlsx |Sample Table}}
* Exercise: {{ :didattica:ay2425:kebi:exercise_dmn_for_booking_price.pdf |DMN for Booking Price}}
* Homework: {{ :didattica:ay2425:kebi:exercise_decision_modeling_admission.pdf |}} |Decision Modeling for Admission}}
* Tool:
* Sign up online with your Unicam student account: [[https://fhnw.trisotech.com/|Trisotech]]
* Lecture “Rule-based Systems”
* Slides: {{ :didattica:ay2425:kebi:ke-4-logic_programming.pdf |Rule-based Systems (Prolog)}}
* {{ :didattica:ay2425:kebi:ancestors.zip |}}
* {{ :didattica:ay2425:kebi:friendship.zip |friendship Facts}}
* Exercise: {{ :didattica:ay2425:kebi:ke-4-1-exercise_university.pdf |University}} {{ :didattica:ay2425:kebi:ke-4-1-exercise_university_solution.pdf |(with Solution)}}
* Exercise: {{ :didattica:ay2425:kebi:ke-4-3-exercise_smallexamples.pdf |Further small examples}} {{ :didattica:ay2425:kebi:ke-4-3-exercise_smallexamples_solution.pdf |(with Solution)}}
* Exercise: {{ :didattica:ay2425:kebi:ke-4-6-exercise_traveling.pdf |Travelling}} {{ :didattica:ay2425:kebi:ke-4-6-exercise_traveling-solution.pdf |(with Solution)}}
* Exercise: {{ :didattica:ay2425:kebi:ke-4-7-exercise_friendship.pdf |Friendship}} {{ :didattica:ay2425:kebi:ke-4-7-exercise_friendship_solution.pdf |(with Solution)}}
* Home Work: {{ :didattica:ay2425:kebi:ke-4-homeexercise_masterdecisions.pdf |Admission for Master Program}}
* Nice browser-based [[http://swish.swi-prolog.org|Prolog Engine]]
* Lecture “Forward- and Backward Chaining”
* Slides: {{ :didattica:ay2425:kebi:ke-5_fc_vs_bc.pdf |Forward- and Backward Chaining}}
* Lecture “Fuzzy logic”
* Slides: {{ :didattica:ay2425:kebi:ke-6-fuzzylogic.pdf |Fuzzy Logic}}
* Exercise: {{ :didattica:ay2425:kebi:ke-6-1-exercise_define_fuzzy_set_solution.pdf |Fuzzy Sets (with Solution)}}
* Exercise: {{ :didattica:ay2425
:kebi:ke-6-2-exercise_fuzzy_set_operations_solution.pdf |Fuzzy Set Operations (with Solution)}}
* Exercise: {{ :didattica:ay2425:kebi:ke-6-homeexercise_masterdecisions_solution.pdf |Admission for Master Program (with Solution)}}
* Lecture "Machine Learning"
* Slides: {{ :didattica:ay2425:kebi:ke-07-1_machine_learning.pdf |Introduction to Machine Learning}}
* Slides: {{ :didattica:ay2425:kebi:ke-07-2_learning_decision_trees.pdf |Symbolic Machine Learning: Learning Decision Trees}}
* Reading Material: {{ :didattica:ay2425:kebi:decision_tree_learning_lecture.pdf |Decision Tree Learning}}
* Exercise: {{ :didattica:ay2324:kebi:exercise_learning_carsales.pdf |Auto Traders}}
* Exercise: {{ :didattica:ay2324:kebi:exercise_health_insurance_learning.pdf |Health Insurance: Learning Risk Assessment}}
* Tool: {{ :didattica:ay2425:kebi:weka_introduction.pdf |WEKA Learning Environment}}
* [[https://waikato.github.io/weka-wiki/downloading_weka/ | Download WEKA]]
* Data Sets: {{ :didattica:ay2425:kebi:datasets.zip |playing tennis, creditworthyness (CSV Files), car sales and Health Insurance (ARFF and Excel file)}}
* Lecture "Combining Machine Learning and Knowledge Engineering"
* Slides: {{ :didattica:ay2425:kebi:ke-08_combining_machine_learning_and_knowledge_engineering.pdf |Combining Machine Learning and Knowledge Engineering}}
* Assignment: {{ :didattica:ay2425:kebi:assignment_health_insurance_knowledge.pdf |Health Insurance: Combining Learning with Knowledge Engineering}}
* Lecture “Knowledge Graphs”
* Slides: {{ :didattica:ay2425:kebi:kebi_knowledge_graphs.pdf |Knowledge Graphs - Trends, Benefits, RDF and SPARQL}}
* Slides: {{ :didattica:ay2425:kebi:kebi_knowledge_graphs_-_2nd_part_rdf_s_.pdf |Knowledge Graphs - RDF(S) and Reasoning}}
* Download: [[https://www.ontotext.com/products/graphdb/ | Graph Database GraphDB]]
* Class exercise: {{:didattica:ay2425:kebi:kg_exercises_and_solutions.zip | Querying the KG family tree trhough SPARQL}}
* Class exercise: {{ :didattica:ay2425:kebi:kebi_schema_inferences_students_exercise.pdf | Reasoning with RDF(S)}}
* Optional exercise: {{ :didattica:ay2223:kebi:ke-7-1-exercise-rdf-graph.pdf |RDF Graphs}} and {{ :didattica:ay2223:kebi:ke-7-1-exercise-rdf-graph_solution.pdf |Solution}}
* Optional exercise: {{ :didattica:ay2223:kebi:ke-7-2-exercise-rdf-schema.pdf |RDF Schema}} and {{ :didattica:ay2223:kebi:ke-7-2-exercise-rdf-schema_solution.pdf |Solution}}
* Optional exercise: {{ :didattica:ay2223:kebi:ke-7-3-exercise-rdfs-inferences.pdf |RDF Schema Inferences}} and {{ :didattica:ay2223:kebi:ke-7-3-exercise-rdfs-inferences_solution.pdf |Solution}}
* Lecture “Ontology Engineering”
* Slides: {{ :didattica:ay2425:kebi:kebi_ontology_engineering.pdf |Ontology Engineering}}
* Class exercise {{ :didattica:ay2425:kebi:exercise_on_ontology_development_101.docx | Develop an ontology for Courses and Lecturers}} and {{ :didattica:ay2425:kebi:ontology_msc_bis_homework_solution_.zip | A solution}}
* Literature: Noy, N. F., & McGuinness, D. L. (2001). [[http://protege.stanford.edu/publications/ontology_development/ontology101.pdf | Ontology development 101: A guide to creating your first ontology.]] Stanford Knowledge Systems Laboratory Technical Report KSL-01-05.
* Download: [[https://protege.stanford.edu/ |Protege: Desktop Version (Platform independent or Windows)]]
* Solution: {{:didattica:ay2425:kebi:ontology_msc_bis_homework_solution_.zip | A solution MSc BIS ontology}}
* Lecture “Machine Reasoning”
* Slides: {{ :didattica:ay2425:kebi:kebi_machine_reasoning.pdf | Machine Reasoning }}
* Class hands-on: {{ :didattica:ay2425:kebi:family_tree_with_schema_for_showcasing_rules_with_sparql_in_slides_for_protege.zip | Family tree TTL file for hands-on with CONSTRUCT SPARQL}}
* Class exercise {{ :didattica:ay2425:kebi:family_tree_with_contradiction_protege.zip | Protégé File: Family Tree with Contradictions}} and {{:didattica:ay2425:kebi:possible_solutions_for_contradiction_exercise.pdf | possible solutions}}
* Class exercise {{ :didattica:ay2425:kebi:shacl_class_exercise_and_solution.pdf | Exercise and solution}} and {{:didattica:ay2425:kebi:shacl_constraint_-_no_more_than_2_parents.zip | the SHACL constraint "no more than 2 parents"}}
* Homework {{ :didattica:ay2425:kebi:homework_shacl.pdf | Create SHACL constraints for the MSc BIS ontology }}
* Lecture “Convergence of Knowledge Graph and Enterprise Modelling”
* Slides: {{ :didattica:ay2425:kebi:kebi_convergenge_of_ontologies_and_enterprise_modelling.pdf | Convergence of Knowledge Graph and Enterprise Modelling}}
* Slides: {{ {{ :didattica:ay2425:kebi:kebi_semantic_lifting.pdf | Semantic Lifting}}
* Download link: [[https://drive.google.com/file/d/1ZImYKymOB-oaPasdjh7OKJjozWF78G7k/view?usp=sharing | ADOxx-based Modelling Tool BeeUp]]
* Class exercise: {{ :didattica:ay2425:kebi:models_in_beeup.zip | ADL file (models) for BeeUp }} and {{ :didattica:ay2425:kebi:ontology_-_class_exercise_-_semantic_lifting.zip | generated TTL file}}
* Homework: {{ :didattica:ay2425:kebi:kebi_solution_class_exercise_query_to_ontology_models_created_from_beeup_.pdf | Homework and solution }}
* Lecture “Ontology-based Meta Modelling”
* Slides: {{ :didattica:ay2425:kebi:kebi_ontology-based_meta-modelling.pdf | Ontology-based Meta Modelling}}
* Link to local installation of AOAME: [[https://github.com/BPaaSModelling/AOAME_Local_Installation| Guide for local installation AOAME]]
* Class exercise {{ :didattica:ay2425:kebi:1.1_walkthrough_on_ontology-based_modelling_in_aoame.pdf | Walkthrough in AOAME_Part 1}} and {{ :didattica:ay2425:kebi:2.1_walkthrough_and_query_creation_for_agile_metamodelling_in_aoame.pdf | Walkthrough in AOAME_Part 2}}
----
===== Recordings =====
Recordings of the lectures are password protected (passwords on request from the lecturers)
* [[https://unicam.webex.com/unicam/ldr.php?RCID=727e1de9159c747644c1a3717dde4225 | 17th of March 2025: Introduction: What is knowledge]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=d4a33ed7486fc44cb7ef56841507fd55 | 18th of March 2025: Knowledge in Processes, Decision Modeling, Decision Tables]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=7136cd6400fb7696c89ba1dc04fd335a | 14th of April 2025: Prolog]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=e1ccc81a546d20840181c84ced726e3b | 15th of April 2025: Prolog]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=a811fa5f03016a0bcff4aac7e614335b | 28th of April 2025: Fuzzy]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=b207511157461a43f63daf322d14ff90| 29th of April 2025: Learning]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=859f5b5df2da277c7ef3489214f6283a| 5th of May 2025: Knowledge Graphs]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=0aa7bf0585051393c7046dd323254629| 6th of May 2025: RDFS Reasoning and Ontology Engineering]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=98f160ab97ff6278fd0f509c827e7c28| 19th of May 2025: Machine Reasoning]]