Ontology and its role in human-robot collaboration
This module introduces the role of ontology in human-robot collaboration and manufacturing. Ontology-a way to structure, store and model large amount of abstract information/knowledge generated during human-robot interaction while completing a collaborative task. The module consists of 8 submodules, covering topics such as ontology introduction and its structure, knowledge graphs, taxonomy, ontology creation/modelling in Protege, merging two ontologies, querying with SPARQL, fluently ontology development, reasoning, and future aspects (safety/trust) of human-robot collaboration. The module also includes MCQs (Quizzes) and practical exercises to access, evaluate and enhance understanding and application of ontology.
Introduction Ontology (Lesson 1):
Technical background lecture – briefly introducing the University of Bath team concerned involved in this course and motivations for the course and different submodules. A general understanding of ontology and its components is also introduced briefly through examples.
Part 1 introduces a brief introduction to the course team from the University of Bath along with the context, submodules, motivation and purpose of the course. The module consists of 8 submodules, covering topics such as an introduction to ontologies, knowledge graphs, taxonomy, ontology creation in Protege, merging ontologies, querying with SPARQL, accessing Fluently ontology, reasoning, and future aspects, such as safety and trust of human-robot collaboration. The module also includes practical exercises and MCQs (Quizzes) to access, evaluate and enhance understanding.
Part 2 explains the concept of ‘ontology’, its necessity, and its components, such as classes and properties. Using examples like libraries and e-commerce sites, the video illustrates how ontologies help categorize and manage information. The video also describes the ontologies from philosophical and non-philosophical contexts. This is followed by how an ontology is structured, including object properties and data properties, with examples like furniture and vehicle ontologies. The video concludes by defining key terms such as concepts, instances, and relationships, using practical examples.
Keywords: Course motivation, Ontology Introduction
Knowledge graph_Taxonomy_Ontology representation (Lesson 2):
The concepts of taxonomy, knowledge graphs, and ontologies, highlighting their differences and applications are explained, with emphasis on the importance of using a common language and syntax for representing ontologies, introducing the Web Ontology Language (OWL) as a key tool in semantic web standards.
Part 1 explains the concepts of taxonomy, knowledge graph, and ontology, highlighting their differences and applications. Taxonomy is described as a controlled vocabulary used to classify information, often seen in modern applications like e-commerce sites. Knowledge graphs represent semantic relationships between entities, illustrated with examples like virtual assistants and movie databases. The video then details how nodes and edges form the structure of knowledge graphs enabling machines to understand relationships and attributes. Commercial applications of knowledge graphs in areas such as, insurance and retail are then discussed.
Part 2 discusses the need to represent ontologies effectively. The video emphasizes the importance of using a common language with shared symbols and concepts, known as syntax, and the agreement on their meanings, called semantics. Then, it explains how ontologies can be represented through classes, relations, and instances, with classes being abstract groups characterized by attributes. The need for a structured, machine-understandable representation using examples like addresses is highlighted. The Web Ontology Language (OWL) as a semantic web language designed to represent complex knowledge about things and their relationships is introduced. OWL, along with RDF (Resource Description Framework) and SPARQL, forms the core of semantic web standards. The video concludes by stating that a formal and structured representation of ontologies using OWL is crucial for formal and clear understanding and application.
Keywords: Taxonomy, Knowledge Graph, Web Ontology Language
Creating Ontology_Protege_Examples (Lesson 3):
This Lesson provides a detailed overview on creating new ontologies using Protege software (A free, open-source, ontology editing tool). The creating/modelling of ontology has been focused through 3 different examples i.e. housing ontology, university ontology, and school ontology. It outlines steps to create and add different elements of ontology i.e. classes, object properties, data type properties, and instances.
Part 1 provides a detailed guide on creating an ontology using Protege, focusing on a housing example. Protege is introduced as a free, open-source tool for ontology editing, supported by a community of users from various domains. It outlines the steps to download and set up Protege, followed by instructions to create classes, object properties, and data type properties, using a color-coded scheme for clarity for housing ontology. The video then explains how to add classes such as, Person, Unit, Residential Unit, Apartment, and House, and properties including residesAt and rents. It also covers adding instances and defining object property assertions and data property assertions. The final part emphasizes the importance of setting domains and ranges for properties and checking for errors using the reasoner tool. The example demonstrates how to create a structured and error-free ontology in Protege, providing hands-on experience for users.
Part 2 provides a step-by-step guide on creating a university ontology in Protege. It begins by introducing Protege and explains the concept of ontology IRI (Internationalized Resource Identifier). The guide details how to add classes such as University, Student, Professor, and Graduate Student (a subclass of Student). It then covers the addition of object properties such as admits, which connects University to Student, and data properties like hasDebt, which links Student to an integer value. It explains how to add instances, such as specific students and universities, and how to define relationships through object property assertions and data property assertions. Finally, the video emphasizes the importance of checking for errors using the reasoner tool to ensure the ontology is correctly structured and functional. The example demonstrates how to build a comprehensive and error-free university ontology in Protege, providing practical insights for users.
Part 3.A outlines the process of creating a school ontology in Protege. It introduces the main classes such as School, Student, Subject, and Staff, along with their subclasses, such as Government and Private for School, Junior and Senior for Student, and various types of non-teaching staff. It explains how to add object properties like admits, employs, teaches, and learns, which define relationships between classes. It also covers data properties such as staffID, studentID, joinDate, and teachers, which link classes to literal values. The guide includes steps to add instances, such as specific students, schools, and teachers, and emphasizes the importance of defining relationships to build a comprehensive ontology.
Part 3.B continues the process of building a school ontology. It further explains how to create a class hierarchy and taxonomy and introduces methods to make classes disjoint or equivalent. It also covers annotating and naming classes and visualizing the ontology structure. This part of the video includes steps to check for errors using the reasoner tool, ensuring the ontology is correctly structured.
Part 3.C continues the process of building a school ontology. It focuses on adding object properties to the previously created class hierarchy further developing the school ontology. It explains how to add object properties such as admits, employs, teaches, and learns, which define relationships between classes like School, Student, Staff, and Subject. Each property is assigned a domain and range to establish these relationships. For example, the admits property connects School to Student, and the employs property connects School to Staff. It also emphasizes the importance of annotating and commenting on these properties for better understanding.
Part 3.D continues the process of building a school ontology. The focus is on adding data properties and instances. This part of the video explains how to add data properties such as staffID, studentID, joinDate, and teaches, defining their domains and ranges. For example, staffID has the domain Staff and the range String. It then covers adding instances, including specific names for schools, students, and teachers, such as International School, Ben, James, and Stephen. There is an emphasis on the importance of defining relationships between these instances and properties to build a comprehensive ontology. The video concludes by preparing the viewer to explore the relationships between classes, properties, and instances in the next video to further develop the school ontology.
Part 3.E continues the process of building a school ontology. The focus is on adding instances and defining relationships between classes, properties, and instances. It explains how to add instances such as specific students (e.g., Ben), schools (e.g., International School), and teachers (e.g., James and Stephen). The video details how to assign data properties such as, studentID and joinDate to these instances and establish relationships using object properties like admits and teaches. For example, International School admits Ben, and James teaches Ben. It also covers the importance of ensuring disjoint classes, such as Student and Staff, do not overlap inappropriately. Part 3e concludes by synchronizing the reasoner to check for errors and confirming the ontology is correctly structured and functional. This completes the creation of the school ontology, providing a comprehensive example of ontology development in Protégé.
Keywords: Protégé, Modelling Ontology, housing, university, and school ontology
Merging_different_Ontology (Lesson 4):
Illustrating how to merge two or more ontologies using Protege, highlighting the benefits of expanding existing ontologies (importing dimensions from other ontologies) without re-entering content to avoid redundancy and enrich the knowledge base.
Part 1 explains how to merge two or more ontologies using Protege. It highlights the benefits of merging ontologies to expand existing ones without re-entering content. The video describes the process of combining ontology (O1) and ontology (O2) into a larger ontology (O1O2), allowing for continuous growth by importing dimensions from other ontologies. It outlines the elements of the two ontologies, including classes, subclasses, object properties, domains, ranges, and instances. The practical application of merging ontologies (in a 2-step process) to utilize existing knowledge and avoid redundancy is described.
Part 2 of the video provides a detailed guide on merging two ontologies using Protege software. It begins by creating two separate ontologies, O1 and O2, each with its own classes, subclasses, object properties, and instances. Ontology O1 includes classes, such as Class 1 and Class 2, while Ontology O2 includes classes, such as Class 3, Class 4, and Class 5. The video explains how to save these ontologies, define their domains and ranges, and add instances. The merging process involves importing Ontology O2 into Ontology O1 by using the import feature in Protege, followed by merging the imported ontology into the existing one through the refactor tool. The importance of checking that all classes, subclasses, and relationships from both ontologies are correctly integrated is emphasised. The process outlined in this video allows users to expand their ontologies by incorporating existing ones, facilitating the growth and enrichment of their knowledge base.
Keywords: Merging Ontologies, refactor tool, Protégé
Query_the_Ontology (Lesson 5):
Exploring how RDF and SPARQL allow efficient data integration and querying across complex systems, using semantic web technologies to unify diverse data formats and avoid vague semantics through ontologies. By incorporating real-world examples like applications in human-robot collaboration, the lecture demonstrates how RDF data supports meaningful interoperability.
Part 1: This video introduces how RDF (Resource Description Framework) and SPARQL queries can be used to manage and retrieve data efficiently within a manufacturing context. It begins by highlighting the challenges of handling diverse data formats and semantics. The Fluently Project addresses these issues by unifying data with RDF and using SPARQL to query relationships across different databases. Part 1 also explains the fundamental concepts of RDF with examples, including RDF structure in action, SPARQL queries and more details about prefixes and format.
Part 2 builds on the basics of RDF by discussing the challenges of semantic clarity in data representation and how ontologies help resolve ambiguities. It uses the Fluently Project as an example. While basic RDF triples like the “Fluently Project” has partner “University of Bath” provide structure, they may still lack clear semantics. To address this, ontologies provide explicit knowledge structures, including the distinction between individuals (e.g., “Fluently Project”) and classes (e.g., “EU Horizon Project”); OWL ontologies for more complex class expressions and hierarchical relationships, such as “A university is a subclass of a higher education institute”; Enhanced querying, allowing more precise and meaningful data retrieval. The video also highlights real-world open RDF graph databases, such as Wikidata and Google Knowledge Graph. By integrating ontologies and RDF knowledge graphs, the system becomes more structured, semantically rich, and query-efficient, enabling deeper insights from linked data.
Part 3 explores how RDF and SPARQL queries can be applied in human-robot collaboration systems. It demonstrates how RDF triples are used to describe and link data, enabling integration of human and robot activities.
Keywords: RDF, SPARQL
The_Fluently_Ontology (Lesson 6):
Outlines development of the Fluently ontology, starting with its purpose and the representation needs for three use cases. It discusses knowledge gathering through literature review and industry standards, and the common practice of ontology reuse. The Fluently ontology employs a middle-out approach, combining top-down abstraction with bottom-up data-driven development. The structure is based on the DOLCE foundational ontology, with components from domain ontologies like CORA, SSN, SOMA, and SOHO
Part 1 provides an overview of the steps taken to develop and build the Fluently ontology. Firstly, the purpose of the ontology is stated, highlighting what needs to be represented in the ontology. The three Fluently use cases are mentioned to ensure that the ontology can represent the objects, equipment, and processes involved in them. The next step covers gathering knowledge. This includes reviewing recent literature and standards and examining the current use of ontologies in industry. Ontology reuse is also discussed as common practice for ontology design. An overview of the top-down and bottom-up approaches to ontology building is given. The Fluently ontology took a middle-out approach, balancing top-down abstraction with bottom-up data driven development. How the main entities and relationships were chosen is also discussed. The main structure for the ontology is based on a popular foundational ontology (DOLCE) and aspects from some domain ontologies (CORA, SSN, SOMA, SOHO) were used to help develop some more specific components.
Part 2 of the video gives an overview of the class structure of the Fluently ontology. The highest level entities are Abstract, Object, Quality, Event, and InformationEntity. More detailed overviews of the Object, Quality, and Event classes are given, showing how the classes in them are divided and how ‘things’ in the Fluently system can be represented by these.
Keywords: Fluently ontology development, Accessing the ontology
Ontology Reasoning (Lesson 7):
Ontology reasoning ensures consistency and deeper inference in RDF-based systems by detecting inconsistencies, classifying relationships, and retrieving instances. Tools like Protégé and Tableau-based reasoners help maintain logical structures. Classification builds inferred hierarchies, realization assigns individuals to specific classes, and instance retrieval enables flexible queries. Advancing reasoning technologies are enhancing automation and decision-making in industrial systems.
Part 1 explores ontology reasoning, which ensures logical consistency and deeper inference in RDF-based systems by Description Logics (DL) to detect inconsistencies, classify relationships, and retrieve instances. In human-robot collaboration, ontology reasoning helps prevent conflicts between data and predefined knowledge rules. Reasoning engines, such as those using Tableau-based algorithms, infer additional labels from the ontology and identify disjoint classifications, ensuring that incorrect assignments are flagged. Tools like Protégé perform such reasoning tasks, providing users with warnings and suggestions for resolving inconsistencies in the ontology or dataset.
Part 2 discusses ontology classification and realization, two essential reasoning tasks in ontology-based systems. Ontology classification involves computing explicit and implicit relationships between classes to generate an inferred class hierarchy. This process is incremental, meaning newly added axioms refine but do not disrupt the existing hierarchy. In industrial applications, ontology engineers use classification results as feedback to correct or refine domain models, ensuring logical consistency. Ontology realization, on the other hand, assigns the most specific class to an individual based on the inferred hierarchy. These reasoning processes enhance the expressiveness and accuracy of ontology-based systems in various domains, including manufacturing and safety-based applications.
Part 3 explores ontology instance retrieval, a reasoning task that identifies all data explicitly or implicitly belonging to a specific class or class expression. In an RDF-based system, instance retrieval allows users to query data without requiring foreign keys or predefined database structures, making it highly flexible for complex reasoning tasks. As ontology reasoning technology develops, the increasing integration of reasoners into manufacturing and industrial systems is expected to provide more reliable and automated decision-making capabilities.
Safety_Ontology (Lesson 8):
Addressing safety in human-robot collaboration (HRC) systems by integrating semantic technologies with industrial risk reduction strategies. It explores how RDF databases and OWL ontologies support real-time safety decisions, such as adjusting robot behaviour based on safety regulations. The lecture also introduces ontology justification as a method of providing transparent explanations for system responses derived from ontology reasoning results, enhancing trust and accountability in HRC systems.
Part 1 of the video discusses the importance of safety in manufacturing environments, specifically focusing on human-robot collaboration (HRC) systems. It highlights the need for new safety approaches and regulations, given the emerging risks in these systems, such as the tragic incident where a robot mistakenly classified a human as a product. To address such safety concerns, various risk reduction strategies, such as stopping the robot in emergency situations and adjusting its speed based on real-time data, are developed. The video then connects these safety issues to the use of RDF databases and ontologies, which can standardize data formats and support effective decision-making through SPARQL queries. The section emphasizes the potential of ontology justification to provide transparent, traceable explanations for decisions in the HRC system, ultimately fostering a safer, more reliable manufacturing environment.
Part 2 of the video explains how the safety regulations and risk reduction methods are incorporated into the ontology model for human-robot collaboration (HRC) systems. Specifically, it describes how different safety modes are modeled within the ontology using OWL. The ontology, based on the Fluent Ontology, is modified to integrate these safety regulations, adding more detail to the human-related components. Using SPARQL queries, the ontology allows the system to infer events, like a human being too close to a robotic arm, and provide real-time decisions, such as stopping or slowing down the robot. The system further categorizes risk levels to determine appropriate responses, such as adjusting speed for lower risk levels or terminating actions for higher-risk scenarios, ensuring that the HRC system can make safe, data-driven decisions.
Part 3 of the video presents the concept of ontology justification, which involves identifying a minimal subset of an ontology to explain inferred results in an ontology-based project. The process is supported by an API and is widely used in industrial ontology modeling. The video also demonstrates how inference results can trigger alerts in a robot system, using a force threshold to identify unsafe conditions, and explains how justification results can help explain these alerts and guide decision-making regarding robot safety.
Keywords: Ontology Justification, Safety in HRC systems
Learn more
Contact Ernest for more information