{"id":21291564,"url":"https://github.com/smartdataanalytics/knowledge-graph-analysis-programming-exercises","last_synced_at":"2025-04-07T07:07:30.866Z","repository":{"id":73339150,"uuid":"105579974","full_name":"SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises","owner":"SmartDataAnalytics","description":"Exercises for the Analysis of Knowledge Graphs","archived":false,"fork":false,"pushed_at":"2023-03-10T04:39:26.000Z","size":8301,"stargazers_count":276,"open_issues_count":1,"forks_count":72,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-03-31T05:06:48.361Z","etag":null,"topics":["exercises","knowledge-graph","machine-learning","semantics"],"latest_commit_sha":null,"homepage":"https://sewiki.iai.uni-bonn.de/teaching/lectures/kga/2017/start","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SmartDataAnalytics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-10-02T20:11:32.000Z","updated_at":"2025-03-12T07:01:29.000Z","dependencies_parsed_at":"2023-03-06T01:15:37.165Z","dependency_job_id":"bc2b5441-c1cd-4c75-9fe9-cd71dd93e772","html_url":"https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartDataAnalytics%2FKnowledge-Graph-Analysis-Programming-Exercises","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartDataAnalytics%2FKnowledge-Graph-Analysis-Programming-Exercises/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartDataAnalytics%2FKnowledge-Graph-Analysis-Programming-Exercises/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartDataAnalytics%2FKnowledge-Graph-Analysis-Programming-Exercises/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SmartDataAnalytics","download_url":"https://codeload.github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247608151,"owners_count":20965952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exercises","knowledge-graph","machine-learning","semantics"],"created_at":"2024-11-21T13:36:00.360Z","updated_at":"2025-04-07T07:07:30.825Z","avatar_url":"https://github.com/SmartDataAnalytics.png","language":"Jupyter Notebook","readme":"# Programming Exercises for the Analysis of Knowledge Graphs\n\n\u003cimg align=\"right\" src=\"http://sda.cs.uni-bonn.de/wp-content/uploads/2017/10/Smart-Data-Analytics.png\" width=\"250px\" /\u003e\n\nThis is a repository, which allows interested students and researchers to perform hands-on analysis of knowledge graphs. It is primarily developed as part of the knowledge graph analysis lecture of the [SDA Group](http://sda.tech) at the University of Bonn. However, the material itself is also useful for anyone else.\n\n## Knowledge Graphs - Things, not Strings!\n\nKnowledge graphs represent knowledge in terms of *entities and their relationships* as shown in the figure below. The nodes of a knowledge graph are the objects which are relevant in your domain and have a unique identifier (so they represent real world \"things\" rather than just a string label). The edges are the connections between those objects. Since knowledge graphs are intuitive and enjoy a number of benefits, they became very popular over the past decade. Some of the most well known knowledge graphs are the Google Knowledge Graph (a major component of Google Search and other services), [DBpedia](http://dbpedia.org) (a knowledge graph extracted from Wikipedia), Wikidata, YAGO, the Facebook Social Graph, Satori (Microsoft Knowledge Graph) and the LinkedIn Knowledge Graph.\n\nMany knowledge graphs are very large and their creation is crowdsourced and/or they are generated from various sources. Relational learning methods can then be employed on knowledge graphs for a variety of tasks, e.g. *link prediction* tries to find missing edges in knowledge graphs (e.g. suggesting friends via your social graph is about predicting missing edges to other persons), *link correction* is about finding incorrect edges, *entity resolution* is about mapping entities in text to knowledge graphs and *clustering* groups entities based on their similarity. In the exercises, you will learn about relational learning methods for knowledge graphs.\n\nThe two knowledge representation formalisms for knowledge graphs, which are used in the exercises, are *RDF knowledge graphs* and *property graph databases*. Since knowledge graphs represent a whole network of entites, the methods to solve the above problems often go beyond simple feature based machine learning. In the exercises, you will learn about the creation of *knowledge graph embeddings* via *tensors and tensor factorisation* as well as *neural network based techniques*. You will also learn about *Markov Networks*.  \n \n![knowledge graph example](https://raw.githubusercontent.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/master/Material/kg-example.png \"knowledge graph example\")\n\n## Exercise Overview\n\nEach individual exercise contains a description of tasks and background. We first start with the formalisms to create an query knowledge graphs and then proceed with relational learning methods.\n\n* [Exercise 1:  RDF Databases](https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tree/master/Exercise_01)\n* [Exercise 2: Property Graph Databases](https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tree/master/Exercise_02)\n* [Exercise 3: Introduction to Statistical Relational Learning (SRL)](https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tree/master/Exercise_03)\n* [Exercise 4: Tensors and Tensor Factorization Techniques](https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tree/master/Exercise_04)\n* [Exercise 5: Introduction to Neural Networks and Bilinear RESCAL](https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tree/master/Exercise_05)\n* [Exercise 6: Neural Networks for Statistical Relational Learning](https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tree/master/Exercise_06)\n* [Exercise 7: Latent Distance and Graph Feature Models](https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tree/master/Exercise_07)\t\n* [Exercise 8: Markov Logic Networks](https://github.com/SmartDataAnalytics/Knowledge-Graph-Analysis-Programming-Exercises/tree/master/Exercise_08)\n* Exercise 9: Training SRL models \n\n## Contributing and Feedback\n\nPlease use the issue tracker for reporting problems and suggesting improvements. Feel free to submit pull requests for improvements of the exercises. Please send other feedback via mail to [Prof. Jens Lehmmann](http://jens-lehmann.org).\n\n## Authors\n\n* [Prof. Dr. Jens Lehmann](http://jens-lehmann.org/)\n* Dr. Asja Fischer\n* [Asif Khan](https://sites.google.com/view/mak4086)\n* Mehrdad Bozorg\n* Firas Kassawat\n\n## License\n\nThe repository itself is under Apache License. For the individual libraries and tools used in the exercises, please check their license conditions.\n\n## Acknowledgements\n\nWe thank the students of the Knowledge Graph Analysis lecture in Bonn as well as the developers of the frameworks we are using for their support in creating this learning resource.\n \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartdataanalytics%2Fknowledge-graph-analysis-programming-exercises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartdataanalytics%2Fknowledge-graph-analysis-programming-exercises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartdataanalytics%2Fknowledge-graph-analysis-programming-exercises/lists"}