With zero lines of code and just a few clicks you can create a property graph view from an RDF knowledge graph. This enables you to run path analysis on a knowledge graph. And why is that interesting? A knowledge graph captures relationships between data entities, providing a way to capture knowledge (facts that describe a concept or domain) from experts. Path analytics on such a knowledge graph can identify entities in your data that are connected to each other, via the concepts captured in the knowledge graph. Path analytics can explain how to reach a goal – an entity in the graph - and ensures that information is not missed in critical decision-making.
You might be new to graph theory and graph analytics, so let me explain a bit about graphs along with some examples. Let us first understand knowledge graphs.
Knowledge graphs capture information about a domain. They organize information as connected networks. In a knowledge graph the entities and relationships between them are represented using the formal semantics of the standards defined by the W3C (World Wide Web Consortium), and this enables knowledge (the facts about a concept or domain) to be consumed through APIs. The complex layers of meaning in data can be represented so that they can be disambiguated by applications. Knowledge graphs can be used to provide context to data so application developers can understand the data better and analysts can make more informed decisions.
For example, consider job candidates and their resumes. Representing their attributes as a knowledge graph can help recruiters make more informed decisions, because the graph captures the relationships between the different concepts that make up a candidate’s skillset. A knowledge graph can capture how the different entities – education, skills, experience – can be related to each other. Such a knowledge graph is referred to as an ontology.
Consider an ontology on the topic AL/ML. AI/ML is a general concept and several sub-topics can be attributed to it as you see in Figure 2.
These topics and sub-topics are related to various tools and programming skills, as shown in Figure 3. As you can see some tools and skills are related to more than one sub-topic.
Then there are companies that have products related to these topics, as show in Figure 4.
This type of information (an ontology) is curated by experts and represented as a knowledge graph in many organizations as a way to store descriptions of entities and how they are related to each other.
Finally we include the candidates you may be considering to hire for the role that requires AI/ML expertise, and the connections they have to various entities in the ontology.
This network of concepts (the ontology) and how the candidates fit in this network provide a more complete picture of our candidate pool. How a candidate is connected to a required skill or topic can determine how strongly they satisfy the requirements. For example, Jane has worked for company Y, which develops products for data analytics (Data Science). John has experience in Python, has participated in Hackathons and has GitHub repositories with code related to NLP. So we can see that John has more connections to the AI/ML topic, but Jane has the work experience that almost perfectly matches the AI/ML developer role that you are looking to fill.
How can we programmatically determine the different paths that connect a candidate to the goal of being an AI/ML developer with a relevant set of skills? This brings us to property graphs.
Like knowledge graphs a property graph also connects entities by the relationships between them. In addition, each entity (also known as a ‘node’) and relationship (also known as an ‘edge’) can have attributes (also known as ‘properties’). Property graphs can be queried based on how nodes are connected to each other by a path and the length of each path, filtered based on properties of the node and the edge. Graph algorithms such as PageRank, Dijkstra’s shortest path and clustering can be run on property graphs. Property graphs are particularly well suited for path analysis that explores how entities are connected.
In our example, the goal would be to find candidates connected to the AI/ML node in the graph and then determine which connection is the strongest. This might be by looking at the number of hops in a path (fewer hops might imply a stronger connection), or weights assigned as a property to each edge. Or you can just determine the number of paths – the more the number of paths, the stronger the connection. Additionally, knowing and identifying the intermediate nodes in every path, rather than having a black box that identifies paths for each candidate is important. For example, that information is relevant for the candidate’s future skills development plan once they are hired. This feature, the explainability of an outcome or prediction, is enabled by graphs. Every piece of information in the graph can be traced to where it comes from and what it connects to.
The formal semantics and syntax of the knowledge graph standards provide a simple way to capture information about a domain, but do not enable flexibility in traversing paths in that graph. Property graphs are more flexible, and have evolved to enable developers to find paths, clusters, spanning trees, and other structures in a graph. Most vendors focus on one of these two graph models, whereas Oracle provides the ability to use both property graphs and RDF knowledge graphs, as well as create a property graph view from an RDF knowledge graph, all in the same database.
Let us go back to our example and see what insights we can discover from such a property graph view. Jane has worked for company Y, which develops products for data analytics (Data Science). John has experience in Python, a necessary skill for Data Scientists, and has participated in Hackathons and has GitHub repositories with code related to NLP. He worked for company X, but there is no known connection between that company and the skills we are looking for. Kavitha has taken courses in Data Science, while Yi-Ching has taken courses in Statistics, and also published papers at conferences. Katia has experience in Cohere, which is related to LLMs. These are all different paths each candidate has to the skills the position requires.
Jane – works for -> Company Y – which develops products in -> Data Science –which is a subtopic of-> AI/ML.
This is a strong path as she has actual experience working for a product company in an area related to the AI/ML topic.
John – works for –> Company X
John – has experience -> Python – skill needed for -> Data Science – which is a subtopic of -> AI/ML
John – has experience -> Python – skill needed for -> NLP – which is a subtopic of -> AI/ML
John – has participated in -> Hackathons – related to -> Spark NLP – API/tool for -> NLP - which is a subtopic of -> AI/ML
John – has created -> GitHub repos – related to -> Spark NLP – API/tool for -> NLP - which is a subtopic of -> AI/ML
John has four paths to the node AI/ML, but the company he worked for, Company X, does not appear to have a connection to the AI/ML topic.
The property graph view on a knowledge graph for the AI/ML topic gives you a deeper and more complete view of applicants to help you decide which candidates to hire.
“Is there a connection between two entities Y and Z?” or “how do you reach an entity B from entity A?” are important questions in many applications. In this example, we can have a more complete picture of how a candidate is related to the required skills by asking such property graph path analytics questions. The good news is that you can run such analytics using a property graph view on knowledge graphs, created through a new “no-code” Graph Studio interface. I am sure you are very excited about the new possibilities this may give you – I will follow up with another blog with an example of how you may go about creating a property graph view on an RDF knowledge graph to run graph analytics. Stay tuned.
If you want to know more about graph and Oracle Graph features, visit:
Melli Annamalai is a distinguished product manager at Oracle. Starting from her career as a developer, she has extensive experience in working with different types of data in the database, including multimedia data, data in Apache Hadoop platforms, streaming data, property graphs, and RDF knowledge graphs. Her current focus area is graph database and analytics, in particular on ways to make it easy for developers to use graphs in any application.