Overhead Crane Fault Diagnosis Knowledge Graph with Neo4j

Overhead Crane Fault Knowledge Graph — Technical Solution

The knowledge graph transforms scattered fault records, maintenance work orders, spare parts data, and equipment parameters from overhead crane operations into a structured semantic network. The technical pipeline consists of four layers: the data layer (maintenance work orders / fault records / sensor alarms / spare parts replacements / industry standards / equipment manuals), the knowledge extraction layer (BiLSTM+CRF entity recognition + relation extraction with F1=91.2%), the graph storage layer (Neo4j Enterprise 5.x, property graph model, 500K+ nodes), and the application layer (fault diagnosis reasoning / maintenance solution recommendation / similar fault retrieval / intelligent Q&A). The system is deployed in Kelude's internal knowledge base, covering 8 crane types, 243 fault modes, and 1,580 fault cases.

Fault diagnosis for overhead cranes (bridge cranes) has long depended on the personal experience of maintenance engineers. Over a crane's 15–20 year service life from installation to decommissioning, hundreds of maintenance work orders and fault records are generated — yet these structured and semi-structured data points scattered across different systems (ERP, CMMS, Excel) never coalesce into reusable knowledge assets. Knowledge Graph technology, through entity recognition (NER), relation extraction (RE), and graph storage (Neo4j), transforms these fragmented records into a semantic network linking equipment, faults, causes, corrective actions, and spare parts. This article presents a complete engineering implementation — from data collection to graph query and reasoning — based on the fault knowledge base project at Kelude Heavy Industry. The technical approach draws on the Neo4j Graph Data Science Manual v5.x (2024), the HanLP natural language processing toolkit (v2.1, 2023), and hands-on deployment experience from Kelude's internal fault knowledge base project (Project No. KL-KG-2024-001).

Overhead crane knowledge graph construction and semantic reasoning — fault knowledge base entity relation extraction with Neo4j implementation

Overhead Crane Fault Knowledge Graph: Data Sources and Entity Framework

The overhead crane fault knowledge graph draws on four data dimensions: ① equipment records (model / capacity / span / lifting height / work duty classification / serial number / commissioning date); ② fault work orders (fault time / equipment ID / fault symptom / fault code / troubleshooting process / corrective action / replaced spare parts / maintenance personnel / downtime duration); ③ sensor data (vibration RMS / temperature / current / overload event history); ④ industry standards (fault determination clauses from ISO 4301, TSG 51, FEM 1.001, and related standards). After entity and relation extraction, the model defines 6 entity types and 9 relation types:

Entity TypeLabel NameExampleOrder of Magnitude
overhead crane EquipmentCraneQD32t-023/ LD10t-156500+
Fault SymptomFaultHoisting load slipping/crane rail gnawing/Brake abnormal noise243 Type
Fault CauseCauseBrake lining wear/Wheel tread pitting/Coupling tooth surface wear480+
Maintenance MeasureActionReplacement Brake Lining/Air Compressor Brake Clearance/Replacement Coupling620+
Spare parts MaterialPartYWZ5-315/23Brake/Wheel ZGY-6001,200+
Standard ClauseStandardISO 4301 Crane Design Standard-2008《crane Design Specification Interpretation of Core Clauses: Load/Structure/Mechanism/Electrical/Five Major Safety Systems》 5.2.380+
Relationship TypeStart and End PointDescription
has_faultCrane FaultA Certain Unitoverhead crane Had a Certain Fault
has_symptomFaultHad a Certain Fault AConcomitant Fault BOccur Simultaneously
caused_byFault CauseA Fault Caused by a Certain Reason
resolved_byFault ActionA Fault Resolved by a Certain Measure
uses_partAction PartA Measure Requires Replacement of a Certain Component Spare parts
ref_standardFault StandardRelated to a Certain Fault Standard Clause
similar_toFaultHad a Certain Fault AWith Fault BSimilar(Cosine Similarity>0.8)
located_inCrane Locationoverhead crane Located at Workshop/Workshop Section
occurred_atFault TimeFault Occurrence Time

Entity Relation Extraction with BiLSTM-CRF

Knowledge extraction is the most critical step in graph construction. The system employs a BiLSTM+CRF (Bidirectional Long Short-Term Memory + Conditional Random Field) sequence labeling model, using HanLP 2.1 as the preprocessing pipeline (tokenization, POS tagging, and dependency parsing). The model was trained on 2,400 manually annotated overhead crane fault records. The BIOES tagging scheme (Begin/Inside/Outside/End/Single) is applied, yielding 30 distinct labels (6 entity types × BIOES).

Training Data
2,400 annotated overhead crane fault texts · 28,600 entities · 12,400 relations
Model Architecture
Embedding(128d) + BiLSTM(256d) + CRF · Optimizer: Adam, lr=0.001 · Dropout=0.5 · Batch=32 · Epoch=50
Recognition Performance
Entity recognition F1=91.2% (10% validation set) · Relation extraction F1=83.5% · Single-query latency ≤50ms (GPU Tesla T4)
Rule-Based Assistance
Regex and dictionary matching as a supplement · Recall for fixed patterns (e.g., equipment models, spare part numbers) improved from 82% to 96%

Neo4j Graph Database Storage & Cypher Queries

The extracted triples (head entity–relation–tail entity) are stored in a Neo4j Enterprise 5.x graph database. The system uses a Labeled Property Graph model, where each node carries a single label, and each relationship has a type and direction. Data scale: ≥58,000 nodes and ≥126,000 relationships (as of June 2026).

Example Cypher query:

// QueryQD32t-023All fault history and corresponding maintenance measures for overhead crane MATCH (c:Crane {id: 'QD32t-023'})-[r1:has_fault]->(f:Fault) OPTIONAL MATCH (f)-[r2:resolved_by]->(a:Action) OPTIONAL MATCH (a)-[r3:uses_part]->(p:Part) RETURN f.name AS fault symptom, a.name AS Maintenance measures, p.name AS Replacement of spare parts ORDER BY f.severity DESC
// Graph-path-based fault reasoning:Occurrence on a specific overhead crane"Load slipping during hoisting",Recommended troubleshooting directions and spare parts MATCH path = (f:Fault {name: 'Load slipping during hoisting'})-[*1..2]-(n) WHERE ANY(label IN labels(n) WHERE n:Action OR n:Part OR n:Cause) RETURN path LIMIT 30
// Similar fault retrieval(Based on common root cause+of measuresJaccardSimilarity) MATCH (f1:Fault {name: 'Abnormal noise from brake'})-[r1]->(n) MATCH (f2:Fault)-[r2]->(n) WHERE f2 <> f1 WITH f2, COUNT(DISTINCT n) AS common, COLLECT(DISTINCT n.name) AS shared_nodes ORDER BY common DESC LIMIT 5 RETURN f2.name, common, shared_nodes

Semantic Reasoning & Intelligent Q&A

The value of a knowledge graph lies in reasoning. The system supports three reasoning modes:

Rule-Based Reasoning — Uses a predefined fault diagnosis decision tree (an IF-THEN rule set authored by three senior overhead crane maintenance engineers, covering 8 equipment types × 243 fault modes × 480+ causes, totaling 1,520 rules). Automated diagnosis is performed via Cypher graph traversal.

Path Ranking Reasoning — Given a fault node, candidate maintenance actions are ranked using random walk with restart (Personalized PageRank, 20 iterations, restart probability 0.15). Top-3 recommendation accuracy reaches 86.4% (validation set N=500).

Semantic Q&A — Template-based NL2Cypher (natural language to Cypher query conversion) supports 12 question templates (e.g., "What faults has crane XX experienced?" → MATCH(c:Crane)...).

Rule-Based Reasoning
1,520 decision rules · 8 equipment types × 243 fault modes · Authored by 3 senior engineers · Cypher graph traversal
Path Ranking
Personalized PageRank · Restart probability 0.15 · 20 iterations · Top-3 recommendation accuracy 86.4%
Semantic Q&A
12 NL2Cypher templates · Supports fault lookup / cause diagnosis / spare parts recommendations / similarity search
Knowledge Visualization
Powered by Neo4j Bloom · Drag-and-drop graph analysis · Color-coded node types (6 categories) · Mobile-friendly

Knowledge Graph vs. Traditional Approaches: A Side-by-Side Comparison

Comparison ItemTraditional Approach(Relational Database+Keyword Search)Knowledge Graph Approach(Neo4j+Semantic Reasoning)
Data ModelTwo-Dimensional Table, Foreign Key AssociationProperty Graph, Node-Relationship-Property
Fault Correlation QueryMultiple Tables JOIN(3~5Tables), Response time500ms~3sGraph Traversal, Response time<50ms
Multi-Hop Reasoning(Such As: Fault Cause and Measure Spare parts)Requires4Times SQLFault Correlation Query+Application Layer AssemblySingle Cypher Graph Traversal[1..4]Hop
Similar Fault DiscoveryBased on Label Keyword Matching, Low PrecisionBased on Graph Structure Jaccard Cosine Similarity+Page Rank
Knowledge ReuseDependence on Personal Experience, Knowledge Loss Due to Personnel TurnoverPersistent Storage of Knowledge Graph, Team Sharing
Cold Start for New EquipmentRequires Accumulation of Sufficient Fault RecordsCan Perform Transfer Reasoning Based on Graph Structure of Similar Equipment
Query FlexibilityPredefined Reports, Ad Hoc Queries Require DevelopmentCypher Ad Hoc Query, Web Self-Service Interface

Frequently Asked Questions

Q: How much data does the knowledge graph need to deliver practical results?

A: For initial deployment, we recommend at least 500 fault records (each covering symptom + cause + corrective action), which corresponds to roughly 6,000–8,000 entities and 12,000–15,000 relationships. At this scale, Top-3 fault recommendation accuracy reaches 70% or higher. Once the dataset grows to 2,000+ records (the current project size), accuracy improves to 86%. For cold-start scenarios, you can seed the knowledge base with publicly available industry fault data and standard clauses.

Q: What is the core difference between Neo4j and MySQL/PostgreSQL for fault knowledge management?

A: The key difference lies in multi-hop query efficiency. For example, querying "maintenance actions for faults similar to a fault that occurred on a given overhead crane" requires 5–8 JOINs in MySQL (response time in seconds), and once the table schema is fixed, adding new relationship dimensions becomes difficult. Neo4j handles the same query with a single Cypher statement using `[*1..4]` variable-length pattern matching, with response times under 50ms. The graph model also supports horizontal extension by nature — adding new entity types or relationship types requires no schema changes.

Q: How much manually annotated data is needed for entity and relationship extraction?

A: This project uses 2,400 manually annotated records (28,600 entities and 12,400 relationships), with an annotation cost of approximately ¥12,000 (3 annotators × 10 days × ¥400/day). If the annotation budget is limited, you can use Distant Supervision to automatically generate weakly labeled data from existing spare parts BOM tables and fault code lists, followed by manual verification — this reduces annotation volume to 400–600 records, at the cost of F1 score dropping from 91.2% to roughly 85%.

Q: Are the 12 NL2Cypher semantic query templates sufficient?

A: The 12 templates cover approximately 85% of daily fault knowledge base queries (based on Kelude Heavy Industry's internal 3-month operations query log analysis). The templates fall into three functional categories: fault queries (equipment faults, fault causes, corrective actions for a cause), spare parts queries (parts used in a corrective action, actions applicable to a spare part), and statistical analysis (fault frequency TOP N, equipment with the longest maintenance cycles). Natural language queries that fall outside the template scope currently degrade to Cypher syntax hints with manual completion.

Related News

contact

contact us

phone:
+86 13903802779

mail:3915269@qq.com

Working hours: Monday to Friday

Wechat
Wechat
SHARE
TOP