🌐 Root Cause Analysis in the Industrial Domain using Knowledge Graphs: A Case Study on Power Transformers
This material, developed as part of a research presented in "Knowledge Graph-Driven Root Cause Analysis for Industrial Faults" (DOI: 10.1016/j.procs.2022.01.304), focuses on identifying, understanding, and correcting faults in industrial settings. The core component is an ontology that facilitates fault analysis through reasoning, classification, and advanced querying capabilities. 🧠
This work is based on the Arias & Mejia-Lara dataset: Dataset Link
In industrial environments, handling faults efficiently is critical due to associated costs. Traditional methods lack the capability to aid human operators in discerning fault causes and solutions. This ontology supports a knowledge graph-driven approach for root cause analysis, which includes:
- Reasoning: Analyzing the current state of power transfromers. 🤖
- Classification: Utilizing rules for failure classification. 🏷️
- Querying: Leveraging graph-query languages for advanced data querying. 📊
The ontology onto-pw
was applied in a power transformer case study, demonstrating its effectiveness in fault analysis.
Base URI: http://test.org/onto-pw
- RDF:
http://www.w3.org/1999/02/22-rdf-syntax-ns#
- XSD:
http://www.w3.org/2001/XMLSchema#
- RDFS:
http://www.w3.org/2000/01/rdf-schema#
- OWL:
http://www.w3.org/2002/07/owl#
- SWRL:
http://www.w3.org/2003/11/swrl#
- Transformer: Represents the primary entity in the ontology.
- Gas: A subclass of Transformer, representing various gases.
- Property: General class for properties.
- Estimation: Represents estimations.
- Measurement: General class for measurements.
- DBDS, Power_factor, Interfacial_V, Dielectric_rigidity, Water_content, Health_index, Life_expectation: Subclasses of Transformer, representing specific properties.
- Hydrogen, Oxygen, Nitrogen, Methane, CO, CO2, Ethylene, Ethane, Acetylene: Subclasses of Gas, representing specific gas types.
- is: Basic object property.
- relatesWaterContentToMeasurement: Links Water Content to Measurement.
- (Additional object properties are assumed to follow a similar pattern)
- hasWaterLevel: Represents the water level, with domain as Water Content and range as integer.
- (Additional object properties are assumed to follow a similar pattern)
- PW101 and PW102: Instances of Transformer with associated water levels.
Ensures that specific classes like DBDS, Power_factor, etc., are recognized as distinct.
The ontology is structured to represent transformers and their properties, including various gas types and measurements. It allows linking specific transformer instances with their properties, such as water content. This ontology aids operators in the industrial domain, particularly in power transformer fault analysis, by providing a structured framework for reasoning, failure classification, and querying.
The ontology is designed for extensibility and adaptability to various industrial scenarios. 🌟
The file swrl-rules.py
shows an example of how to perform classification.
- Libraries Used:
pandas
,owlready2
,rdflib
. 📚 - Data: The script initializes a dataset with various gases and other properties.
- A
DataFrame
is created usingpandas
to structure the data. This DataFrame includes multiple columns for different gases and properties.
- An ontology is defined using the
owlready2
library.
- The script iterates through the DataFrame to create individuals in the ontology, assigning them properties based on the data.
- Each individual is named
Individual
followed by their index in the DataFrame.
- Inference rules are established to classify individuals as
Failure
orNonFailure
based on theirLifeExpectation
,HealthIndex
, andPowerFactor
. - The
Pellet
reasoner is used for reasoning and to infer property values.
- Finally, the script prints out lists of individuals classified as
Failure
andNonFailure
.
The file query.py
shows an example of how to perform querying.
- Purpose: To select transformers with water content levels above a specific threshold.
- Namespace Prefixes:
- SELECT Clause: Retrieves
?transformer
. - WHERE Clause:
- Matches any
?transformer
that is of type:Transformer
. - Associates
?transformer
with?waterContent
using the:relatesToWaterContent
predicate. - Extracts the water level
?level
associated with?waterContent
using the:hasWaterLevel
predicate. - Uses a
FILTER
to only include transformers where the water level?level
is greater than 100.
- Matches any
- The aim is to identify transformers within a given ontology that are potentially at risk due to high water content, as indicated by a water level exceeding 100.
@inproceedings{martinez2021root,
author = {Jorge Martinez-Gil and
Georg Buchgeher and
David Gabauer and
Bernhard Freudenthaler and
Dominik Filipiak and
Anna Fensel},
editor = {Francesco Longo and
Michael Affenzeller and
Antonio Padovano},
title = {Root Cause Analysis in the Industrial Domain using Knowledge Graphs:
{A} Case Study on Power Transformers},
booktitle = {Proceedings of the 3rd International Conference on Industry 4.0 and
Smart Manufacturing {(ISM} 2022), Virtual Event / Upper Austria University
of Applied Sciences - Hagenberg Campus - Linz, Austria, 17-19 November
2021},
series = {Procedia Computer Science},
volume = {200},
pages = {944--953},
publisher = {Elsevier},
year = {2021},
url = {https://doi.org/10.1016/j.procs.2022.01.292},
doi = {10.1016/J.PROCS.2022.01.292}
}
The material is provided under the MIT License.