redhat-developer / redhat-developer/rhdh-plugins
Neo4j Knowledge Graph — Core Sync Adapter (issue 17 of 29)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 48
- Forks
- 120
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 337
Description
Labels: ready-to-code
Depends on: Issue 2 (#4040 SDK interfaces — Neo4jSyncAdapter)
RHIDP Stories: RHIDP-15299
Feature: RHDHPLAN-1507 — Epic RHIDP-15295
Implement the Neo4j sync adapter: Neo4j driver factory, catalog API polling with AI asset annotation filtering, entity revision tracking, incremental sync logic, scheduled sync task, graph node creation for Skill/Tool/Domain/Agent/ModelServer types, relationship mapping (DEPENDS_ON, USES_TOOL, BELONGS_TO, SIMILAR_TO, IMPLEMENTED_BY), and SDK interface implementation (createNeo4jSyncAdapter() factory, connect()/disconnect() lifecycle, triggerFullSync()).
Tasks
From openspec/changes/neo4j-knowledge-graph/tasks.md group 1 (RHIDP-15299):
- 1.1 Create backend plugin package at
workspaces/boost/plugins/catalog-backend-module-neo4j-sync/ - 1.2 Implement Neo4j driver factory with configuration loading
- 1.3 Implement catalog API polling with entity filtering
- 1.4 Implement entity revision tracking using
_syncedRevision - 1.5 Implement incremental sync logic
- 1.6 Implement scheduled sync task
- 1.7 Implement sync failure isolation
- 1.8 Implement full sync trigger API endpoint
From openspec/changes/neo4j-knowledge-graph/tasks.md group 2 (RHIDP-15299):
- 2.1 Implement Skill node creation
- 2.2 Implement Tool node creation
- 2.3 Implement Domain node creation
- 2.4 Implement Agent node creation
- 2.5 Implement ModelServer node creation
- 2.6 Implement node update logic
- 2.7 Implement node deletion logic
From openspec/changes/neo4j-knowledge-graph/tasks.md group 3 (RHIDP-15299):
- 3.1 Implement DEPENDS_ON relationship creation
- 3.2 Implement USES_TOOL relationship creation
- 3.3 Implement BELONGS_TO relationship creation
- 3.4 Implement SIMILAR_TO relationship creation with Jaccard similarity
- 3.5 Implement IMPLEMENTED_BY relationship creation
- 3.6 Implement relationship deletion logic
- 3.7 Implement deferred relationship creation
From openspec/changes/neo4j-knowledge-graph/tasks.md group 5 (RHIDP-15299):
- 5.1 Implement
createNeo4jSyncAdapter()factory function - 5.2 Implement
connect()lifecycle hook - 5.3 Implement
disconnect()lifecycle hook - 5.4 Implement
startSync()method - 5.5 Implement
stopSync()method - 5.6 Implement
triggerFullSync()withSyncReportreturn type - 5.7 Validate configuration via
config.getConfig('aiCatalog.neo4j')
Specifications
openspec/changes/neo4j-knowledge-graph/specs/relationship-mapping/spec.md
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with openspec/changes/neo4j-knowledge-graph/tasks.md and the relationship-mapping specification, then review the SDK interfaces from issue #4040. The implementation spans workspaces/boost/plugins/catalog-backend-module-neo4j-sync/ and covers sync, graph nodes, relationships, lifecycle hooks, and configuration. Done means the adapter implements the listed tasks and returns the specified SyncReport for full syncs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- neo4j, typescript
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100