-
Notifications
You must be signed in to change notification settings - Fork 3
Knowledge Base
This page lists pages/articles/spaces where we all can learn more about a specific subject related to the project goal.
- Interesting structure of data: https://www.europeana.eu/fr/europeana-classroom
- Interesting NLP article about how to measure the semantic similarity between words: https://www.thecrowned.org/the-distributional-hypothesis-semantic-models-in-theory-and-practice
- Ontology/taxonomy structure: https://www.w3.org/TR/owl-ref/
- RDF (Resource Description Framework (RDF) is a framework for expressing information about [resources]): https://www.w3.org/TR/rdf11-primer/#section-data-model
- OpenLearn (has a very good and user friendly structure): https://www.open.edu/openlearn/
- Teaching tools for university level by the University of Zurich: https://teachingtools.uzh.ch/en/home/?tags=digital-tools
- British Council Free Online material for teaching the English language: https://www.teachingenglish.org.uk/training
- OER commons website; a public digital library of open educational resources (referenced on openedu): https://www.oercommons.org/
- Lesson Plans for teachers from Wikipedia Education Collab: https://docs.google.com/document/d/1AD_XCsum0icCFrnOHa6Zucb_ZeMK99cuukT9Zon_ISc/edit
- Materials from Wikipedia Education Program: https://outreach.wikimedia.org/wiki/Education/Archive/Materials_for_Teaching ; https://outreach.wikimedia.org/wiki/Wikimedia:Starting_an_education_program
- KlasCement;This platform shares learning resource provided by teachers. The material are for or all ages and subjects.https://www.klascement.net/
- CodeWeek; EU Code Week provides resource to support coding learning. https://codeweek.eu/resources/
- EU platform with nice search options: https://www.commonspaces.eu/oers/search/
Here are few hints about the Openedu project dropped here and there by Chris Gwilliams during the "Ask me anything" (AMA) session held on October 10, 2022 at 6pm (https://drive.google.com/drive/folders/1ygc3peXJXUc7YgTCv4_qDQXMbKK6aKKl):
- For a low-key type of solution, consider using an existing framework to organize/call content like a RESTful API: https://swagger.io/specification/
- To add data/content from external sources to the Openedu resources, consider using scrape frameworks like Scrapy: https://scrapy.org/
- Knowledge Graphs Databases, mongo db
*Previous links shared (e.g., access to SQL OpenEdu dump): https://histre.com/public/collections/7likaryb/deploy-impact-22/
- Ontologies are semantic data models that define the types of things that exist in our domain and the properties that can be used to describe them. Ontologies are generalized data models, meaning that they only model general types of things that share certain properties, but don’t include information about specific individuals in our domain. For example, instead of describing your dog, Spot, and all of his individual characteristics, an ontology should focus on the general concept of dogs, trying to capture characteristics that most/many dogs might have. Doing this allows us to reuse the ontology to describe additional dogs in the future. Source: https://enterprise-knowledge.com/whats-the-difference-between-an-ontology-and-a-knowledge-graph/
There are three main components to an ontology, which are usually described as follows:
- Classes: the distinct types of things that exist in our data.
- Relationships: properties that connect two classes.
- Properties/attributes: properties that describe an individual class.
An example of an ontology is as follows:
-
Ontologies are usually built using semantic web technologies such as RDF, RDFS, SKOS, OWL (Web Ontology Language). See more details here: https://stackoverflow.com/questions/1740341/what-is-the-difference-between-rdf-and-owl#:~:text=RDF%20is%20also%20a%20vocabulary,more%20detailed%20descriptions%20of%20resources.
-
Ontologies are often referred also as vocabularies: https://stackoverflow.com/questions/20200270/ontology-vs-vocabulary
-
A useful beginner guide to help us design our ontology: https://protege.stanford.edu/publications/ontology_development/ontology101.pdf
-
Library of ontology templates (most available in OWL format): https://ontohub.org/ontologies
-
Python libraries to build ontologies:
-
https://github.com/semantalytics/awesome-semantic-web#python
-
Most interesting libraries I checked so far:
- OntoPilot: https://github.com/stuckyb/ontopilot/wiki
- kglab: https://github.com/DerwenAI/kglab/ see also their tutorial here: https://derwen.ai/docs/kgl/tutorial/
-
-
Websites storing ontologies/vocabulary templates: https://github.com/semantalytics/awesome-semantic-web#ontologies
-
Tools for ontology development different from Python : https://github.com/semantalytics/awesome-semantic-web#ontology-development
-
https://cmap.ihmc.us/cmaptools/ - free resource to create knowledge resources map
-
https://schema.org/docs/documents.html - A collaborative community maintaining structured data on the Internet and offers schemas of vocabulary
- WikiData apparently has an API that we can use to get some data: https://github.com/dahlia/wikidata
A Knowledge Graph is a knowledge base that: 1)replicates the model of information flow in an organisation, 2)stores complex structured and unstructured knowledge, 3)is presented in the form of entities and relations between them, 4)covers a multitude of topical domains, 5)acquires and integrates knowledge, 6)and enables interrelation of arbitrary entities.
- overview of such solutions: https://towardsdatascience.com/a-guide-to-the-knowledge-graphs-bfb5c40272f1
- A Survey on Knowledge Graphs: Representation, Acquisition and Applications, a research article: https://arxiv.org/pdf/2002.00388.pdf
- Knowledge Graph Application in Education: a Literature Review: https://czasopisma.uni.lodz.pl/foe/article/view/3801/5195
When developing an actual Knowledge Graph for practical purposes, the following procedure can be considered:
- Vocabulary for the whole Graph should be formed on the basis of existing vocabularies and (if necessary) some specific terms should be added.
- A draft structure of RDF sets (triplets) should be built –in order to obtain a clear picture of all the entities and their relations in a Graph.
- Knowledge Schema, containing all the triplets, should be constructed. It will serve as the basis for the future KG:
- The Knowledge Graph should be developed with the help of an information system and presented, for instance, as an application or a web‑page.