You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project aims to build a frontend application to visualise the relationships between a knowledge graph and information consumed to generate the knowledge graph.
For the purposes of this project, the knowledge graph is stored as a Neo4j instance and the source information is a text (Markdown) document.
Features
Database
The DB should be stored using Neo4J graph database, and can be visualised using Neovis JS.
The graph is versioned so that updating the graph doesn't delete old nodes, but simply creates a new version of them.
CREATE (n:Entity{Name:"EntityName",Description:"A brief description of the entity.",Version:"1.0",VectorEmbedding: [...]})
Graph Visualisation
The app should visualise the graph in the left pane.
The visualisation should be able to update dynamically.
Search should be enabled in the visualisation. The graph should dynamically update to showcase nodes matching the search query.
Depth of neighbouring nodes visualised should be configurable in such a view
Simple match, fuzzy, and semantic search should be enabled.
Color should be configurable for a visualisation.
Rendered nodes should be labeled using the name of the node entity.
Markdown Rendering
The right pane of the app should render text as markdown.
Text should be editable.
Text should be searchable
Simple match + Fuzzy search
Visualising The Correspondence Between The Knowledge Graph And The Source Document
All visualisations are dynamic and should be updated on adding new text.
Highlighting
If a named entity exists in the knowledge graph, its mentions in the source document should be highlighted. That is, if an entity of name Entity A exists in the graph, Entity A should be highlighted in the markdown document.
If an entity Entity A is related to Entity B, as Entity A --- [relates to] --> Entity B then sentences in the source doc containing this relationship as a noun-verb-noun triplet should be highlighted.
The knowledge graph is versioned, ie updated versions of the knowledge graph are stored together with older versions using a version field. I should be able to match multiple versions of a graph to the same markdown source text simultaneously, for example using different colors in highlighting and graph visualisation.
Updating the text should dynamically update the visualisation.
Context
Knowledge Graph
A knowledge graph is a powerful way to visually structure data through the use of entities (also known as nodes) and relationships (also known as edges).
Entities represent objects or concepts—like people, places, or items—while relationships connect these entities, illustrating how they interact with one another.
This interconnectedness allows for easier access and retrieval of information, making knowledge graphs particularly valuable for complex queries and analyses across large datasets.
Knowledge graphs can dynamically incorporate new data without disrupting existing structures. As new information becomes available, it can be added to the graph through new entities or relationships. This capability ensures that the knowledge graph evolves and expands over time, continuously enhancing its utility and accuracy.
This scalability is crucial for applications in areas such as machine learning, semantic search, and personalized recommendations, where adapting to new data can significantly improve performance and outcomes. In essence, a knowledge graph is not just a static repository of information but a growing entity that adjusts and improves as more data is integrated.
Goals & Mid-Point Milestone
Goals
Clean and professional looking UI
Visualisation with search and all the dynamic features described above
Web App + Database should be automatically deployable using docker and initial configurations.
Ticket Contents
Description
This project aims to build a frontend application to visualise the relationships between a knowledge graph and information consumed to generate the knowledge graph.
For the purposes of this project, the knowledge graph is stored as a Neo4j instance and the source information is a text (Markdown) document.
Features
Database
The DB should be stored using Neo4J graph database, and can be visualised using Neovis JS.
The graph is versioned so that updating the graph doesn't delete old nodes, but simply creates a new version of them.
Graph Visualisation
Markdown Rendering
Visualising The Correspondence Between The Knowledge Graph And The Source Document
All visualisations are dynamic and should be updated on adding new text.
Entity A
exists in the graph,Entity A
should be highlighted in the markdown document.Entity A
is related toEntity B
, asEntity A --- [relates to] --> Entity B
then sentences in the source doc containing this relationship as a noun-verb-noun triplet should be highlighted.version
field. I should be able to match multiple versions of a graph to the same markdown source text simultaneously, for example using different colors in highlighting and graph visualisation.Context
Knowledge Graph
A knowledge graph is a powerful way to visually structure data through the use of entities (also known as nodes) and relationships (also known as edges).
Entities represent objects or concepts—like people, places, or items—while relationships connect these entities, illustrating how they interact with one another.
This interconnectedness allows for easier access and retrieval of information, making knowledge graphs particularly valuable for complex queries and analyses across large datasets.
Knowledge graphs can dynamically incorporate new data without disrupting existing structures. As new information becomes available, it can be added to the graph through new entities or relationships. This capability ensures that the knowledge graph evolves and expands over time, continuously enhancing its utility and accuracy.
This scalability is crucial for applications in areas such as machine learning, semantic search, and personalized recommendations, where adapting to new data can significantly improve performance and outcomes. In essence, a knowledge graph is not just a static repository of information but a growing entity that adjusts and improves as more data is integrated.
Goals & Mid-Point Milestone
Goals
Setup/Installation
Expected Outcome
Acceptance Criteria
Implementation Details
Mockups/Wireframes
Product Name
Bharat SahAIyak
Organisation Name
SamagraX
Domain
Open Source Library
Tech Skills Needed
React, TypeScript, Docker, Frontend Development, Graph Database, Neo4J
Mentor(s)
@KDwevedi
Category
Frontend
The text was updated successfully, but these errors were encountered: