0xPlaygrounds / 0xPlaygrounds/kg-node

feat: Entity aggregation

未关闭
#24 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Rust
星标
10
派生
5
PR 合并指标
30 天内没有已合并 PR

描述

## Motivations
Spaces are logical groups of triples and by default, when querying the space, only entities that have triples in that space would be returned. If an entity described in another space is closely related to these defined in a given space, it would be natural to also include that entity in the space. This can be done by touching that entity in the given space. However, this process is tedious and requires editors to explicitly add relations for external entities one at a time. There is therefore a need for a more natural way to include entities in bulk from another space into a space, hence the idea of aggregation.

**Aggregation** refers to the process which determines which entities are considered when querying entities in a specific space. Specifically, the idea is that the entities considered when querying a space would not necessarily be restricted to any entity touched by the space (see [[Projects/GRC20/Entity Pluralism|Entity Pluralism]]) but could also include entities of other "verified" or "related" spaces.

For example, Coinbase makes a post that's related to DeFi. They specify DeFi as a Related space on the Post. The DeFi space has Coinbase added as a verified space. That allows us to create a query in the DeFi space that would include that post.

## Initial Design
- A space `S` can have any number of **verified spaces**
- An entity `e` in any space can have a **related space** relation pointing to a space entity
- Given a space `S`, the entities visible from the perspective of `S` (i.e.: queryable in that space) are all entities touched by `S`, as well as all the **related entities** `e` such that:
1) `e` is touched by space `S'` and `S'` is a **verified space** of `S`
2) `e` has a **related space** relation defined in space `S'` pointing to space `S`

## Open Questions
- Is aggregation always applied by default? Or should it be possible to toggle it on or off?
- What triples should be returned for a **related entity** `e` as defined above?

贡献指南

这个仓库没有索引到贡献指南

调研方向

The issue describes a new feature for entity aggregation across spaces in a knowledge graph. Start by understanding the existing space and entity models, likely in src/models/. Look at how triples are currently queried and filtered by space. The design involves adding 'verified spaces' to a space and 'related space' relations to entities. Implementing this will require changes to the query logic and possibly the data schema. 'Done' means the aggregation logic works as described and can be toggled if decided.

由索引模型根据 Issue 内容生成。

评估

技术栈
rust
领域
backend, databases
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。