Close Menu
    Facebook LinkedIn YouTube WhatsApp X (Twitter) Pinterest
    Trending
    • Nevada injunction ruling backs regulators against Polymarket
    • Apple’s Foldable iPhone Ultra: Release Date, Price, and Leaks
    • American Rheinmetall and Harbinger Partner on Autonomous Hybrid Military Trucks
    • Startup Muster is back in 2026 thanks to widespread support to save it
    • Pura Promo Codes: $20 Off May 2026
    • June deadline approaches for Hawthorne sale process
    • Today’s NYT Mini Crossword Answers for June 4
    • New tiny nudibranch species discovered in Taiwan
    Facebook LinkedIn WhatsApp
    Times FeaturedTimes Featured
    Thursday, June 4
    • Home
    • Founders
    • Startups
    • Technology
    • Profiles
    • Entrepreneurs
    • Leaders
    • Students
    • VC Funds
    • More
      • AI
      • Robotics
      • Industries
      • Global
    Times FeaturedTimes Featured
    Home»Artificial Intelligence»How To Build a Graph-Based Recommendation Engine Using EDG and Neo4j
    Artificial Intelligence

    How To Build a Graph-Based Recommendation Engine Using EDG and Neo4j

    Editor Times FeaturedBy Editor Times FeaturedNovember 21, 2025No Comments17 Mins Read
    Facebook Twitter Pinterest Telegram LinkedIn Tumblr WhatsApp Email
    Share
    Facebook Twitter LinkedIn Pinterest Telegram Email WhatsApp Copy Link


    On this tutorial, I’ll present you methods to handle a taxonomy in EDG and publish it to a Neo4j occasion, the place it may be populated with extra knowledge to energy a advice engine. The taxonomy, which is constructed and maintained in TopQuadrant’s EDG, defines the construction. A set of (pretend) educational journal articles serves because the occasion knowledge that populates Neo4j. I’ll use a small hierarchy of STEM classes because the taxonomy to prepare the articles. This data is roofed below the Creative Commons CC0 1.0 Universal Public Domain Dedication.

    Be aware 1: Full disclosure — I work at TopQuadrant, the corporate that makes EDG, so I’m naturally biased towards the instruments I do know nicely. Each Neo4j and TopQuadrant’s EDG are industrial merchandise and never open supply. They every supply free trial variations appropriate for following together with this tutorial: Neo4j supplies one free cloud database occasion (with limits on knowledge quantity, reminiscence, and CPU), and TopQuadrant provides a 90-day free trial of EDG Desktop. Additionally, whereas the structure outlined right here has its advantages, it’s not the one strategy, and these aren’t the one distributors able to supporting one of these workflow. The professionals and cons of this strategy are listed beneath.

    Be aware 2: Here is a video recording of what this demo seems to be like.

    Be aware 3: All photographs on this submit are created by creator.

    What’s the purpose of all of this? The purpose is that lots of that means lives within the taxonomy itself. Every article is tagged with essentially the most particular class that applies, however as a result of the taxonomy encodes mum or dad–youngster relationships, we will infer higher-level associations routinely. For instance, if an article is tagged with Mathematical Software program, it’s additionally about Laptop Science and STEM, even when it isn’t explicitly tagged that method. The taxonomy doesn’t simply classify, it permits reasoning over how subjects relate, so the info supply solely must report essentially the most related tag, and the hierarchy fills in the remaining.

    We’re separating the occasion degree data on what a person article is about from the meta details about the subjects themselves and the way they relate to one another.

    The explanations you’d wish to construct with this type of structure are:

    1. Inferencing: Tag with one idea however use the taxonomy to affiliate many different ideas to the content material. As a substitute of tagging an article with Mathematical Software program and Laptop Science, I can simply tag it with Mathematical Software program. The taxonomy is aware of that Mathematical Software program is a department of Laptop Science. The mum or dad idea, Laptop Science, might be inferred primarily based on the taxonomy.
    2. Aligning a number of methods: I can use one taxonomy to construct a advice engine in Neo4j and a GraphRAG software in GraphDB. One crew can use vector-based tagging on content material saved in SharePoint whereas one other makes use of NLP rule-based tagging on content material saved in Adobe Expertise Supervisor (AEM). All of those apps are aligned as a result of they’re all utilizing the identical reference knowledge.
    3. Change administration: If I wish to recategorize Mathematical Software program as a department of Arithmetic somewhat than a department of Laptop Science, I simply want to vary its mum or dad within the taxonomy. If I don’t have a separate taxonomy, I’d must retag each doc tagged with Mathematical Software program. If I’ve a number of downstream apps utilizing the identical checklist of phrases, this turns into a nightmare. I’d must retag each entity tagged with Mathematical Software program in each software and guarantee all the opposite tags related to that doc are appropriate.
    4. Play to instruments’ strengths: EDG is nice and managing metadata and taxonomies and making certain these issues are aligned and ruled nicely. Neo4j and different graph databases are nice at high-performance graph analytics at scale however battle with the metadata administration aspect of issues. With this arrange, we will get the most effective of each worlds

    There are different architectural approaches to constructing one thing like this, after all, and there are drawbacks to the strategy I define right here. A number of the essential ones embrace:

    1. Overkill for easy use circumstances: This tutorial makes use of a easy demo, however the structure makes essentially the most sense when your knowledge and use circumstances are complicated. Most graph databases, together with Neo4j, allow you to outline a schema or fundamental ontology and characterize taxonomies with hierarchical relationships. In case your knowledge is comparatively easy, your taxonomy is simple, or just one crew wants to make use of it, chances are you’ll not want this many instruments.
    2. Skillset and studying curve: Utilizing EDG and Neo4j collectively assumes familiarity with two totally different paradigms: ontology modeling in RDF/SHACL and graph querying in property graphs/Cypher. Many groups are snug with one however not the opposite.
    3. Extra transferring elements: Retaining a taxonomy separate from the info you’re tagging means you might want to be sure that the tags align with the taxonomy. In the event that they drift, the graph stops becoming collectively cleanly within the database.
    4. Vendor lock-in: Each Neo4j and EDG are industrial merchandise so there’s all the time going to be some lock-in and potential migration prices. The requirements underlying EDG (RDF, SHACL, and SPARQL), are open supply requirements from the W3C, which does mitigate general technical lock-in.

    Neo4j is a labeled property graph (LPG). EDG is a data graph curation software primarily based in RDF and SHACL. LPGs and RDF are two totally different graph applied sciences that, traditionally, haven’t been suitable. EDG has just lately constructed a Neo4j integration characteristic, nonetheless, which permits customers to construct utilizing each applied sciences.

    Under is a visible illustration of how these two applied sciences can work collectively.

    At the backside in pink, you have knowledge storage. I’ve this cut up into inner knowledge and exterior knowledge. Inner knowledge is the uncooked knowledge you possibly can be storing in an information lake, a content material administration system (CMS) like SharePoint, or a relational database. There may additionally be exterior datasets you wish to combine into your app. These may very well be public, free knowledge sources like WikiData, higher degree ontologies like gist, or proprietary reference datasets like SNOMED or MedDRA (medical taxonomies).

    EDG can then act because the semantic layer between the underlying knowledge and downstream apps. You possibly can handle your ontologies, taxonomies, reference knowledge, and metadata in a single place and push what you might want to functions like Neo4j as wanted. You can too load knowledge immediately out of your underlying knowledge sources into Neo4j or some other software.

    Step 1: Get free variations of EDG and Neo4j

    First, we’re going to must get free variations of those merchandise to mess around with.

    For EDG, you’ll must go to this web site and request a free trial. You’ll get a hyperlink to obtain EDG together with a license in an e mail. After the obtain completes, there’s an executable file within the edg folder, additionally referred to as edg. Double click on that and it ought to begin operating in your browser. In case you don’t have Java put in, it can immediate you to put in Java first.

    EDG will then open in your browser in a brand new tab referred to as one thing like http://localhost:8083/. However it can say it isn’t registered. Click on on Product Registration after which add the license file that was additionally despatched within the e mail. Then click on “Register Product”.

    After importing the license, you possibly can return to the house display by clicking the TopQuadrant emblem within the high left nook. Now it is best to have the ability to see the principle EDG touchdown web page.

    Now we’d like a free model of Neo4j. Go to this link to get began together with your free trial. In case you don’t have an account already, you’ll need to make one. After you create a Neo4j account you’ll land on a display like this:

    Click on “Create occasion” after which choose the free possibility.

    Once you click on “Create occasion” you can be proven your username and password. The username is often simply “Neo4j” however the password is exclusive, so write it down someplace.

    Step 2: Arrange integration

    In EDG, within the high proper nook, click on on the person icon (it seems to be like an individual). Then click on “Server Administration”. This may take you to a display with a bunch of choices. Click on “Product Configuration Parameters”. On the left toolbar you will note a bunch of integration choices. Click on “Neo4j”.

    You possibly can configure this to push to a number of Neo4j databases, however for this tutorial we’ll simply level to the Neo4j occasion we simply created. On the proper aspect of the empty Neo4j database line there’s a plus signal. Click on that and you can be prompted to enter the Neo4j credentials.

    You possibly can identify this configuration something however I selected “neo4jtest1”. The ID must be autofilled by EDG. For the Neo4j database URL, you’ll need to examine the Neo4j occasion you created in Neo4j. It’s going to look one thing like this: neo4j+s://cd227570.databases.neo4j.io.

    Click on “Create and Choose”. Now you’ll need to enter your password. That is the one which Neo4j gave you while you created your Neo4j occasion.

    Now we’re all configured.

    Step 3: Import taxonomy

    Go to my GitHub and obtain this taxonomy. It is a checklist of STEM subjects in a hierarchy i.e. a taxonomy.

    Click on “New +” on the high of the display in EDG then “Import asset collections from TriG or Zip file”. Select the zip file you bought from my GitHub and cargo it into EDG. Click on End. Once you go to the taxonomy it is best to see a hierarchical checklist of a bunch of various STEM classes.

    Step 4: Push taxonomy to Neo4j

    Click on the cloud dropdown to handle integrations. Within the dropdown menu you will note the choice to “Hyperlink to Neo4j Database”.

    Once you click on this it is possible for you to to decide on which Neo4j integration you wish to use. Click on the one you created in step 2 above.

    After you choose the Neo4j integration, the mixing between this taxonomy and your Neo4j occasion can be created. It’s going to seem like the popup beneath. Click on the mixing to navigate to it. In my instance beneath it’s referred to as “Integration with Neo4j database neo4jtest1”. Then click on “Okay”.

    The mixing will now seem within the editor and we will change any settings if we wish. You’ll discover subsequent to the cloud dropdown there’s a icon for pushing to built-in methods that appears like a cloud with an arrow on it.

    Click on edit after which scroll all the way down to “included lessons”. That is the place we specify which lessons in our taxonomy we wish to push to this Neo4j occasion. For this tutorial, choose “Idea”. This could embrace every part within the taxonomy. This may occasionally appear pointless, however it will be significant for giant taxonomies with many sorts of lessons.

    Additionally choose “all the time overwrite” to be “True”. This ensures that after we push, we overwrite no matter is within the Neo4j occasion.

    Now click on “Save Adjustments”.

    Again within the editor interface, click on the cloud push icon that’s within the high toolbar now that we’ve got established a Neo4j integration. A popup ought to seem that appears just like the picture beneath. If we’ve got a number of integrations configured with a number of totally different functions, we’d see all of them right here. For this tutorial, it is best to simply see the one you made and it must be routinely chosen. Now click on “Okay”.

    It is best to see a progress bar of your ideas getting pushed to Neo4j.

    Step 5: Discover knowledge in Neo4j

    Now return to your Neo4j Aura occasion. In case you click on Situations on the left toolbar you will note the occasion we created in Step 1. Now you will note that there are Nodes and Relationships in it!

    You possibly can click on “Join” after which “Discover” which can take you to a visible illustration of your graph.

    Under is the visible explorer of Neo4j Aura. You possibly can simply search on the generic time period “Useful resource – BROADER – Useful resource” to see the entire ideas we pushed from EDG together with their mum or dad ideas.

    Step 6: Add articles to Neo4j

    Obtain a listing of journal articles from my GitHub here. It is a brief checklist of faux educational journal articles. The concept right here is that we wish the taxonomy to come back from EDG however the article metadata to come back from some place else.

    Now in Neo4j, click on “Import” on the left toolbar and “New knowledge supply”. An inventory of choices will seem. You could possibly import your occasion knowledge from wherever, however for this tutorial we’ll simply add the csv file immediately. The supply of knowledge doesn’t matter, what issues is that the occasion knowledge is tagged with phrases that come from the taxonomy that we’re managing in EDG. That’s how we will align the article metadata with our taxonomy and broader semantic layer.

    Add the csv you downloaded from my GitHub. You’ll then be requested the way you wish to outline your mannequin. Choose “Generate from schema”.

    You’ll see Articles.csv pop up as a node. Click on the node. You’ll must specify which property you wish to use as the first key. There’s a property on this checklist of articles referred to as “id” which we’ll use as the first key. To set this as the important thing, click on the important thing icon within the backside proper for the “id” row. Then choose “Run Import”.

    You’ll be prompted to enter the password for this occasion, which is the one you wrote down firstly. It’s going to take a second to run however then you’re going to get this popup of Import outcomes.

    You possibly can see that 15 nodes have been created. The csv file contained 15 articles and every of them grew to become a node. Now we will return to the Discover characteristic and seek for “Articles.csv”. You’ll see Articles present up within the visible in pink alongside the STEM classes in inexperienced. That is nice however they don’t seem to be but linked. To attach the occasion knowledge (articles) to the classes, we have to run a cypher question.

    Step 7: Join occasion knowledge with taxonomy

    Click on Question within the left toolbar. Within the question field enter:

    // 1) Match each imported article node that has a topicUri
    MATCH (a:`Articles.csv`)
    WHERE a.topicUri IS NOT NULL
    
    // 2) Discover the corresponding Idea by its uri property
    MATCH (c:Idea {uri: a.topicUri})
    
    // 3) Create the TAGGED_WITH relationship (idempotent)
    MERGE (a)-[:TAGGED_WITH]->(c)
    
    // 4) Return a sanity examine
    RETURN depend(*) AS totalTaggedRelationships;

    It ought to seem like this:

    Then press “Run”. You’ll see proper below that question one thing that can say “Created 15 relationships”. That’s an excellent signal. Now return to the Explorer. Now seek for “Articles.csv – TAGGED_WITH – Useful resource”. You’ll see that every one of these pink nodes at the moment are linked to our inexperienced taxonomy!

    Step 8: Construct a advice engine

    We’re going to run some very fundamental similarity queries to exhibit the way you’d use the graph we simply constructed for suggestions. First, let’s take a look at an article and which class it’s tagged with. Enter this cypher question into question interface. This may checklist the classes that the article “Advances in Mathematical Software program Research #7” was tagged with.

    MATCH (a:`Articles.csv` {title: 'Advances in Mathematical Software program Research #7'})
    MATCH (a)-[:TAGGED_WITH]->(c:Idea)
    RETURN a.title AS article, c.prefLabel AS tag, c.uri AS uri
    ORDER BY tag;

    It is best to see the next output and the class “Mathematical Software program”.

    Suppose we wish to discover articles much like this web page turner as a result of we wish to suggest them to potential readers. We will search for different articles which might be additionally tagged with Mathematical Software program, however we will additionally reap the benefits of taxonomical construction we’ve got in our graph. Mathematical Software program is a subclass of Laptop Science, in keeping with the STEM taxonomy. You possibly can return to EDG to discover the classes and their youngsters. For our advice engine, to search out articles much like our Mathematical Software program article, we wish to discover different articles which might be tagged with Mathematical Software program, however ALSO articles tagged with different branches of pc science.

    We will do this with the next cypher question:

    // 0) Seed article by its actual label
    MATCH (me:`Articles.csv` {title: 'Advances in Mathematical Software program Research #7'})  
    
    // 1) get every tagged matter plus its mum or dad
    MATCH (me)-[:TAGGED_WITH]->(youngster:Idea)-[:BROADER]->(mum or dad:Idea)  
    
    // 2) discover some other article tagged with a sibling below that very same mum or dad
    MATCH (siblingChild:Idea)-[:BROADER]->(mum or dad)<-[:BROADER]-(youngster)
    MATCH (rec:`Articles.csv`)-[:TAGGED_WITH]->(siblingChild)  
    WHERE rec <> me  
    
    // 3) compute advice rating
    WITH rec, depend(DISTINCT mum or dad) AS rating  
    
    // 4) now pull in all of the direct tags on every really useful article
    OPTIONAL MATCH (rec)-[:TAGGED_WITH]->(t:Idea)  
    
    // 5) return title, rating, and full tag checklist
    RETURN 
      rec.title                        AS advice,
      rating                            AS sharedParentCount,
      gather(DISTINCT t.prefLabel)    AS allTaggedTopics
    ORDER BY rating DESC, advice
    LIMIT 5;

    It is best to get the next outcomes:

    There are not any different articles tagged with Mathematical Software program, however there are articles tagged with different branches of pc science. “Advances in Computer systems and Society Research” is an article tagged with the class “Computer systems and Society”. That is really useful as a result of the graph is aware of that each Computer systems and Society and Mathematical Software program are branches of Laptop Science.

    Step 9: Adjusting our taxonomy

    I discussed earlier that one purpose you’d wish to separate your taxonomy out of your graph database is so you may make adjustments to your taxonomy and simply see the downstream results in your apps. Let’s strive that.

    Suppose we wish to recategorize Mathematical Software program as a department of Arithmetic somewhat than a department of Laptop Science. To do that in our taxonomy, we simply drag and drop the time period within the tree construction in EDG.

    Now push the taxonomy again into Neo4j utilizing the identical cloud button.

    Now after we return to Neo4j and run the advice algorithm once more, the outcomes are completely totally different. It’s because our authentic article was tagged with Mathematical Software program, which we’ve now categorised as a department of Arithmetic. The opposite articles which might be really useful to us are different articles about math, not pc science.

    Conclusion

    This easy demo exhibits how a taxonomy can deliver construction, flexibility, and intelligence to your knowledge functions. By separating your taxonomy (in EDG) out of your occasion metadata (in Neo4j), you achieve the flexibility to deduce relationships, align methods, and evolve your mannequin over time, with out having to retag or rebuild downstream apps. The result’s a modular structure that makes your graph smarter as your understanding of the area grows.

    Concerning the creator: Steve Hedden is the Head of Product Administration at TopQuadrant, the place he leads the technique for EDG, a platform for data graph and metadata administration. His work focuses on bridging enterprise knowledge governance and AI by means of ontologies, taxonomies, and semantic applied sciences. Steve writes and speaks frequently about data graphs, and the evolving position of semantics in AI methods.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Editor Times Featured
    • Website

    Related Posts

    I Built a C++ Backend So My GPU Would Stop Eating Air

    June 3, 2026

    I Spent May Evaluating Different Engines for OCR

    June 3, 2026

    Why AI Is NOT Stealing Your Job

    June 3, 2026

    What AI Agents Should Never Do on Their Own

    June 3, 2026

    Exploring Income Patterns with Python Pandas, Matplotlib, and Seaborn

    June 2, 2026

    From Local App to Public Website in Minutes

    June 2, 2026

    Comments are closed.

    Editors Picks

    Nevada injunction ruling backs regulators against Polymarket

    June 4, 2026

    Apple’s Foldable iPhone Ultra: Release Date, Price, and Leaks

    June 4, 2026

    American Rheinmetall and Harbinger Partner on Autonomous Hybrid Military Trucks

    June 4, 2026

    Startup Muster is back in 2026 thanks to widespread support to save it

    June 4, 2026
    Categories
    • Founders
    • Startups
    • Technology
    • Profiles
    • Entrepreneurs
    • Leaders
    • Students
    • VC Funds
    About Us
    About Us

    Welcome to Times Featured, an AI-driven entrepreneurship growth engine that is transforming the future of work, bridging the digital divide and encouraging younger community inclusion in the 4th Industrial Revolution, and nurturing new market leaders.

    Empowering the growth of profiles, leaders, entrepreneurs businesses, and startups on international landscape.

    Asia-Middle East-Europe-North America-Australia-Africa

    Facebook LinkedIn WhatsApp
    Featured Picks

    Boroux Versus Rorra Countertop Water Filters, Tested Head to Head

    March 19, 2026

    How a confectionery manufacturer transformed palletizing across multiple plants

    March 27, 2025

    X1 Pro laser welder as easy to use as a hot glue gun

    March 8, 2025
    Categories
    • Founders
    • Startups
    • Technology
    • Profiles
    • Entrepreneurs
    • Leaders
    • Students
    • VC Funds
    Copyright © 2024 Timesfeatured.com IP Limited. All Rights.
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us

    Type above and press Enter to search. Press Esc to cancel.