About this talk
This talk presents the concept of a searchable digital twin for electrical grids utilizing GraphRaptor, a framework that transforms traditional static grid systems into intelligent, data-driven models. The speaker outlines the challenges faced by utilities, such as outdated diagrams and slow decision-making processes, which can take hours to resolve. By implementing a unified knowledge graph and leveraging real-time data, GraphRaptor significantly speeds up fault tracing and impact analysis, allowing engineers to respond to outages in under five minutes. The session details the architecture of the solution, including data ingestion, knowledge graph creation, and the use of natural language queries to generate actionable insights quickly. Real-world use cases are shared, demonstrating the improved accuracy and efficiency that this approach offers over traditional methods.
Full transcript
Hello everyone. A good morning, good afternoon, and good good evening to all. I am Liji, senior data scientist with the Tata Consultancy Services. With me, my colleagues Madhumita and Gopalan will be sharing the presentation today. Today, we are going to present the topic, the searchable grid. Building a GraphRaptor digital twin. In this session, we will explore how we transform traditional electrical grids into intelligent searchable system using
knowledge graph and GraphRaptor. Let's see the agenda for today. Next to 30 minutes, we will deep dive into GraphRaptor powered digital twin for electrical grids. So, first of 15 minutes, we will be covering the presentation. After that, we will go to the live demo. So, we will be starting with the challenge or the problems which you are facing in the utilities. After that, we will see the
proposed solution. Then, we will move to architecture and data model. After that, we're going depth of GraphRaptor implementation. Then, we will see the real world use case on fault tracing. Finally, we will conclude with the deployment and live demo. Let's begin. Let's take a simple scenario. There is a critical system alert. Fault is detected at substation X. Customers are losing power. We wanted to know how many
customers are impacted, where they are located, what is the restoration time. In the current reality, how much time it will take? Any guess? So, in the current reality, it might take 30 minutes to 2 plus hours due to the manual tracing and multiple system lookups. So, in this proposed approach with the graph rack, we will get the response less than 5 minutes, sometimes in 5 seconds as
well. So, here we are applying instant topology query and connected customer counts. Let's see more details about this. What are the challenges current utilities face? So, here we are concentrating on one particular problem, static grids in the dynamic world. problem. What are the current limitations here? Static diagrams that don't reflect real-time conditions. Also, disconnected system create data in silos. Moreover, slow decision-making due to manual data integrations.
Also, limited diagnostic capability for complex issues. Engineers work with the outdated diagram that doesn't show the current conditions or the live update. Electrical network generate massive data from GIS, AMI, asset health, and DER. As per the current study, 70% of the data remain unanalyzed. So, how we can mitigate this problem? What are the solutions available? Let's see one of the proposed solution here. We are proposing here
a searchable intelligent digital twin. So, in this proposed solution, a transformative approach using Neo4j knowledge graph combined with the graph rack to build a searchable intelligent digital twin for the distribution grids. So, the solution contain main three components. First one is the unified knowledge graph, then graph rag intelligence layer. Moreover, we are having a natural language queries. So, in the unified knowledge graph, distribution assets unified into
a single semantically rich knowledge graph. The assets contain substations, feeders, switches, transformers, smart meters, etc. We can configure any asset into our unified knowledge graph. Once we build the semantically knowledge graph, then we will build graph rag intelligence layer on top of that. So, here we can dynamically retrieve relevant sub graphs. It identify historical patterns. It incorporate real-time state. Also, it's provide contextually explainable answers. And we
are adding in natural language queries on top of that. Because of this, it help engineers and operators to ask complex domain specific questions in a plain English language. For example, show me all the customers affected by default at substation X. Plain language, we will get a quick response less than 5 seconds. Why we choose graph rag here instead of rag or machine learning or deep learning? What
are the benefit of graph rag? Graph rag have rag graph is having native relationship. So, we can use direct pointer based connections instead of expensive joints. Also, it's having multi-hop traversals, constant time path finding regardless of its depth. Moreover, it's having a dynamic topology. So, no reconstructions needed for network changes. And Neo4j graph graph rack have a built-in graph algorithms like path finding, community community detections, etc.
That is the reason we went with the graph rack. Let's see the architecture. So, here we are proposing graph rack powered digital twin architecture. So, it provide real-time explainable and intelligent grid operations. So, this is a five-layered architecture. So, it started with the data ingestion layer. So, here we will have various data sources. See, all the data will be reaching to knowledge graph through streaming or batch
process based on the needs. So, in the knowledge graph layer, in based on Neo4j, we will be building assets, topology, temporal, events, and customer information. So, our This is the semantic information will be available in our knowledge graph. Once the knowledge graph is ready, we are we are building a graph rack and AI layer on top of that. So, here we will have a retrieval, graph traversal
based on Cypher and vector search. Then, we are having a knowledge index. So, here we are doing an embedding on nodes, edges, and the time windows. Then, we are having a rack engine based on LLMs and reasoning for the explainable contextual answers. After that, we can add ML models for prediction, forecasting, or anomaly root cause analysis. Once the graph rack is ready, on top of that, we
are having a digital twin application layer. So, here we will have real-time operations, outage impact, what-if simulations, and natural language processing. Finally, we are having a dashboard and API. So, So we can have operational dashboards, 2D or 3D visualizations, APN webhook. If required, we can add a mobile alerts as So this is the end-to-end query flow. User will be providing any query, basic English language or any
language, then it will go to GraphRax and it will process the information. It will identify the reasoning, ML analysis will be performed, a response will be generated, finally the action will be available in the front end of the dashboard. Hope it is clear. Next we're going to see one of the use case. So this use case Madhu will be providing more details. Madhu, handing over to you.
>> Thank you, Liji. For clearly walking us through the challenges on GraphRax for power solution. Good morning, good afternoon, good evening, everyone. I'm Madhumita, data scientist from TCS. I will be taking you through the uh practical side of the solution, how it actually works with the real-time scenario. So in this section I'll walk you through the real-world scenario, fault tracing and propagation analysis, and demonstrate how our
GraphRax powered digital twin enables faster, more intelligent and decision making. Uh let's dive into the scenario. Let's consider very common and critical scenario. In this uh now when a fault happens, engineer need to quickly answer few key questions. Which customers are affected, how the fault propagating, how where we can isolate it, and how and how long the restoration takes. Traditionally, answering these questions involves navigating to multiple
disconnected system, which both time-consuming and error-prone. So now let's look how the scenario is handled uh practically. So with the GraphRax, the interaction starts with a plain text, simple language. As you can see, show me all customers affected by the fault at a substation X along with the details and estimated restoration time. So behind the simple query, multiple intelligent processes are triggered. First, it understands the query
and retrieve the sub graph graph traversal, contextual enrichment, and finally we get a response. So, on the right on the right hand side you can see the total How long it would take uh around four to get the 1,247 customers have been affected and the restoration time is given based on the real time data. So, now let's move how a query is being answered here. Uh first
the system will try to understand the intent of the query. Here the key identities are substation X. And the objective is the impact analysis. So, now this is fed into a parsing a parsing question. So, it retrieves the relevant sub graph uh from the knowledge base knowledge Neo4j knowledge graph. So, this comes to the traversal where the system travels the actual electrical fault path moving step by
step and follow and fault source downstream through all the connected components. At the same time the system performs a contextual enrichment. Not only the connectivity helps in this, we also need the properties. So, properties and real time examples help us more uh to provide a better solution. So, finally generates a response that's not just a data but a clear structured com comprising the unstructured as well as
the structured data listing affected customer. Listing the affected Along with that we have a traversing techniques. It can be a simple traversal or the multi traversal multi hop. And finally it generates a response that is not just explainable answer listing all the affected customers. Now, if you compare with traditional approach, engineers would manually have to gather the data from multiple layers, cross reference diagrams, and and validate
the connections. So, this would typically take uh around 2 hours and is highly dependable and expertise is required to do that. So, with GraphRaptor, same outcome is achieved in certain very lesser time. Significantly higher the accuracy and more completeness. So, what we're really going to do here is transforming a complex multi-step engineering task into a single intelligent query. So, at the heart of the GraphRaptor, the processing
pipeline. Now, we are going to try to uh connect architectural flow with the use case. So, initially the fault detection happens. The SCADA system will get a trigger uh in the dashboard will to the end user. And what happens here, the substation X is being identified through the natural It has to be identified. What we have to do, an engineer will give a natural language query and
then it will flow through the graph uh pipeline. So, as we saw earlier, parsing user will give the query and identify entities, traverse the graph, enrich with historical and real-time data, finally get a response. And then historical events will help us more to identify uh to check the pattern how long the restoration will take. And the response will also be in the contextual mode in a Neo4j
schema this we have adapted. It's based on the IEC 61968 common interface uh that is representing a distribution side. How the model has a core assets like substation feeder transformer, breaker, and electrical connected networks. And it starts from a uh geographical major geographical region and then it has been divided into many subregions. And the major assets are being connected with their relationship. It's also connected with their
asset properties like voltage, capacity status along with the measurements, that is the real-time data, till the smart meter. So, aligning with this standard, the model ensures standardization, interoperability, and realistic digital representation of the So, one of the key aspect here is text to Cypher translation. How it happens? So, LLM helps in this. User User would ask a question in a plain English text. LLM would translate into
a Cypher query that is machine understandable. Post which a query runs in a Neo4j graph and results are converted back into human readable language. So, these are three examples that is being shown here. Uh where each Uh for example, show me all the customers affected by fault at substation X. How the Cypher query is built? And what is the hosting capacity of a transformer X at feeder
Y? And which customers affected by a fault bus, the primary bus 60? So, these are the different Cyphers. Now, let's look at the take at the look at foundation, the graph data model. Substation, feeder, transformer, smart meters, these are all the major entities. And how the properties are aligned is being listed below. And the most important relationship relationship will between them will know will help us to
give a semantic rich model that allow us to model not just the data, how everything is being connected and behave from a different source. So, for this implementation, we used item three 1 2 3 bus system as a benchmark, which gives us connectivity along with that real-time data from Spain. And combining both, we we generated a synthetic data, on top of which we are working on we
are going to show you a demo. So, this helped us to simulate a realistic behavior, validated fault tracing accuracy, uh query performance, and scalability. So, this demo will not only give you a solution as a theoretically, it also provide you a practical viable thing. So, this flow shows the sub from where schema starts. So, geographical region and it moves to sub regions and to a main primary
substation. From there, power flows to a feeder distributor electrical network. the high voltage is being from 132 kV till the downstream at 0.4 kV. So, this is the flow and it has been transferred at every level by the step-up transformers. Along with the path, components like breakers, switches, and busbar that also helps to control and manage the flow. What's more important here is every connection is explicitly
modeled in Neo4j using the relationship. So, instead of interfering the connectivity, we can directly traverse through many algorithms that helps us to retrieve data from very complex network and identify where where the root cause and the fault has occurred. the next data set is the similar thing. First, at IEEE, combining both IEEE model, made up utilized the standard standard benchmark representing the real-world distribution. This gives us
a reliable structure of testing it. Second, we use the synthetic real-world info that includes a realistic grid behavior. So, this flow here is a data is ingested from these sources converting into a graph model. Then, they also enrich relationship and properties. So, GraphRAG, what uh help us to perform accuracy, speed, and scalability. So, overall, this ensures our solution is not just conceptual, but also valid to practical
realistic data. So, this is the environmental setup. Uh in the back end, we are making use of Python and Neo4j database for the knowledge graph. And for embedding, we making use of NVIDIA. And for LLM, we have tried with multiple LLMs, Gemini, NVIDIA, uh ChatGPT, DeepSeek. The most prominent one will be shown for the demo for a better understanding for the user perspective. We have created a
GUI using Python, HTML, and Unicom web servers that includes JavaScript. Over to my colleague Boobalan. He will show you a live demo on this. Thank you. >> Yeah. Thank you, Madhu. Thank you. Lijit, can I stop sharing? I'll Yes. You can proceed. Thank you all. So, this is Boobalan from uh here at TCS. I'm a technical lead and leading many of Fortune 500 companies. So, yeah. Thank
you. Thank you, Madhu and Lijit. So, in in this our solutions we have covered so architecture and other perspective and how it is working everything so they are covered. So, I'm going to cover for the data and how it is working and embedding me how we have done and the some samples also they are going to demonstrate. So, in in this we are getting the data is
in our solution the data source is multiple power system repositories and they include the substation master and feeder data from outages and events details also we are loading in the air force. Each data source contributing the critical piece of information and helps us to understand that and how the electrical field field from the substation to in the customers inside. All these data sets we are investing and
then we are creating that unified power distribution system network. Uh these data sources provided both the structure semi-structure and same IEC standards whatever we have that we then we are provided to a balance we get it that simulator data from that LLM so that the data after receiving the data we are we are doing some changes and pre-processing we are doing in that data we are importing
in Neo4j side. So these we are using in Neo4j side so you can see data samples and also all the assets whatever the power transformer load voltage level and the energy consumer AC line and transformer and feeders and switches all the information we come and after from measurement what exactly that assets is going to provide that information we are in the asset a measurement table. And the
time series data so all the assets what is the current current flow is happening so those information we are getting and we are generating from each 15 minutes we are loading that in Neo4j. So this data source we are using so in in Neo4j side we are creating the schema that schema getting So in Neo4j so we are using this IEC standard schema in where it is
using. So this which is widely adopted to in the utility domain so in our network >> Uh Gopal, can you come little near to the mic? Audio is visible. You can be a little loud. Yeah, thank you. >> Okay. Yeah, Yeah, our knowledge graph we have the substations and feeder transformer assets we have them apart from measurement and voltage levels. And these assets we are maintaining in
the nodes and power flow and other connectivities we connectivity side. So, the relationship we are using it's a using SIM standards. We are considering that models it's consistentable and reusable and efficiently we are extend to further futures systems like a SCADA system. And other system we can use it. Now you can see our knowledge graph. Here you can see this is a starting region sub region. So,
here you can see the substation it's a secondary substation. So, secondary substation what are the assets are connected so that you can in the real world we are connecting disconnectors, breakers, and the switch LBS. Those information we'll connect and feeder also it will connect in the power system and the power transformer. So, this is for the AC line segmenting. AC line segmenting we'll connect for packet stations
and packet station will connect the LVDB and measurement and the finally it's the consumer will consume the data. So, and what the measurement is going on and measurement each measurement what values we are maintaining. All the information we are maintaining in the measurement value nodes. I will show that our database one minute. So here you can see around 471,000 plus nodes we are maintaining and the relationship
also and 100 plus properties we are maintaining in Neo4j. So here I'll show some nodes here this is the feeder. So these are the informations we are maintaining in the feeders details and the feeders how we are created that embedding so all the property informations we are accumulating and we are creating the JSON that JSON we are sent to Nvidia then Nvidia embedder so Nvidia embedder is
created the embedding this embedders code and it will we are updated in Neo4j nodes. Here you can see that feeders how many assets are connected so you can you know that the feeders have the line connectivities and feeders have that LB switches and load breakers and current limited and those electrical terms assets will come and the connectivity is coming from that primary stations to feeders so and
feeder have that switches so switch line so line we have the other end so all the informations whatever it's generated thing. And apart from here the measurement values we are maintaining so in the measurement we have that all the is supposed to you that transformer we have that transformer we have that measurement so in the measurement for the transformer what is the 50 minutes load it's happening
so those informations we are getting this each 50 minutes load we are loading in So this is the data so we are loading in maintaining in Neo4j for this demo purpose. So now I'm going to walk through the our demo. So, uh the uh we are use case for fail detection and restoration for that use case. In this demo, I will show that the simulated substation and
the information whatever we have that when the substation is status is changing. So, that time the uh status changing. So, that time how many customers will affect the affected customers, how do we can resolve that issues and what is the nearest feeder or adjacent substations, what is that nearest place and to restore that issues and prioritize the restoration activity and the reduce the outage outage timing and
durations and minimize the customer impact. So, that the reason so they're utilizing these models and uh So, here we are using that Neo4j in this demo, we are utilizing Gemini A and the Nvidia in the main fully we are using. In here Neo4j, we are maintaining that uh uh thousand two four two four that the dimension and the question similarity we are using. So, I will show
in Neo4j as well. So, here maintaining that labels and labels details apart from that uh Nvidia uh based we are created the dimension and the question details we are created for the index. So, the based on the index only it's executing the various cases. I'll start this. So, this UI the particularly for HTML CS CSS and JavaScript based UI for the demo purpose we are using. So,
inside of how it is working that Neo4j sorry JavaScript getting that details and sending to graph rack and graph rack is deep drive to index and getting that and and Neo4j then getting that is sending values and the written back to our UI. So, this is the details we are getting. So, how many customers affected the substation for failed transfer? They are the 5,756 customers affected the
for the files of the stations it goes. So, here I also will run that Cypher query wise also we extracted the same data. So, here the accuracy it's also it's coming same. So, in Neo4j uh how that few feeders here connected in the under the substation so that all the substation we are summary accumulating and we are showing that customer details. Yeah, I will show other some
demo also. Here what's the impact the transformer is at risk means. so, we are interacting with the knowledge graphs. I don't know that I just I know that transformer details. So, I need to know that transformer is failed or any impact is happened. So, what are the customers are impacting and which area is available those information we are getting from there. So, you can see here the
substation details you are providing. It's impacting 53 customers in that connected to the transformer. The other area is South District and where this substation is connected to grid SS North only. So, this way we can interact with our Neo4j. Yeah. Uh yes, due to time limit we are winding up summarizing for that so far now we are complete we are gathering that graph rack and future and
so on smart grid industry data and architecture how that graph rack is working and those informations we are explained. And apart from that we are given some graph rack with this smart grid industry uh collaborative one uh use case scenario and how it is extracting the those information we are given. So, here and what are the models we are using that information also we provided. So, here's
Let me go my Yeah. So, the key takeaways making the grid searchable and explainable and intelligent. So, the key feature is the searchable grid graph rack and a digital twin good together make the electrical grid truly intelligent. Yeah, thank you for your time and we are happy to take care for any questions or discussion on this feature. >> We can see couple of questions in the chat.
Due to time limit, we will be responding those questions in the chat. As our time is already exceeded, we will be responding to all the questions. If any additional questions, you can scan the QR code and post it or you can put it in the chat. We will be responding. >> Thank you all. >> For the opportunity.
More from this event
See all 37 talks →
NODES AI 2026 - Agentic GraphRAG: Autonomous Knowledge Graph Construction and Adaptive Retrieval
11:51
NODES AI 2026 - Semiont: A Graph Based, AI Native Wiki and Annotator
29:48
NODES AI 2026 - MemMachine: Agents That Learn, Memory That Lasts
30:03
NODES AI 2026 - Ghost-busting with Neo4j Graph Analytics in Snowflake
28:47