apache / incubator-hugegraph

A graph database that supports more than 100+ billion data, high performance and scalability (Include OLTP Engine & REST-API & Backends)
https://hugegraph.apache.org
Apache License 2.0
2.62k stars 518 forks source link

请问hugegraph顶点或边可以支持多标签吗? #339

Closed learn-xujun closed 2 years ago

learn-xujun commented 5 years ago

我们公司最近正在调研图数据库,考虑使用hugegraph,粗略看了下api,好像只能单个label,请问可以支持多标签吗?

Linary commented 5 years ago

@jizhidezhaojun 目前顶点和边不支持多label

learn-xujun commented 5 years ago

那请问是出于什么原因没有支持多标签呢?后续有没有支持多标签的计划?^_^ 因为我们觉得多标签对于构建labeled property graph还是蛮重要的。

Linary commented 5 years ago

@jizhidezhaojun 目前没有支持主要是因为多标签会让元数据管理变得更为复杂。我们此前也曾考虑过支持多标签,但是因为某些原因搁置了。能简单描述一下你的需求场景吗,这可以帮助我们细化需求,制定方向。

javeme commented 5 years ago

@jizhidezhaojun 主要原因是由于hugegraph遵循的Apache Tinkerpop规范中仅支持单label。 不太清楚你那边的具体使用场景,如果需要分类的话可以使用一个单独地属性来标记。另外后续我们会考虑支持标签的继承。

jadepeng commented 4 years ago

@jizhidezhaojun 主要原因是由于hugegraph遵循的Apache Tinkerpop规范中仅支持单label。 不太清楚你那边的具体使用场景,如果需要分类的话可以使用一个单独地属性来标记。另外后续我们会考虑支持标签的继承。

你好,label的继承在做了吗?计划什么时候可以支持

今天使用hugegraph,遇到这个问题,看你们的文档中 ,通过额外的字段type回避这个问题

因此本例子将原TitanDB中的monster, god, human, demigod均使用相同的vertex label: character来表示, 同时增加属性type来标识人物的类型。edge label与原TitanDB保持一致。当然为了满足edge label约束,也可以通过调整edge label的name来实现。

javeme commented 4 years ago

你好,label的继承在做了吗?计划什么时候可以支持

@jadepeng 目前还没有启动,一直被优先级更高的任务delay了,是否可以分享一下你的应用场景? 若不便公开的话可以加我们公众号联系管理员。

javeme commented 4 years ago

Label的继承 Issue #447

jadepeng commented 4 years ago

@jadepeng 目前还没有启动,一直被优先级更高的任务delay了,是否可以分享一下你的应用场景? 若不便公开的话可以加我们公众号联系管理员。

你好,这边有一些图谱,按照学术界的RDF设计的概念树,概念(concept)存在继承关系,共性的关系定义在父概念,关系定义的时候sourceLabel,targetLabel是父概念,真实的rdf三元组,则是子概念。

javeme commented 4 years ago

@jadepeng 好的了解了,我们会进一步考虑该功能。

jicro commented 3 years ago

@jadepeng 目前还没有启动,一直被优先级更高的任务delay了,是否可以分享一下你的应用场景? 若不便公开的话可以加我们公众号联系管理员。

你好,这边有一些图谱,按照学术界的RDF设计的概念树,概念(concept)存在继承关系,共性的关系定义在父概念,关系定义的时候sourceLabel,targetLabel是父概念,真实的rdf三元组,则是子概念。

我也遇到这个问题,由于图谱中实体(实例)作为Vertex存在,但是对于实体隶属多概念(包括概念继承)的情况,使用HugeGraph就很难处置了。虽然可以通过properties的方法临时性解决,但是却将概念和属性进行了混淆,对于查询也会混在一起。如果能够实现VertexLabel的继承,或者允许Vertex使用多VertexLabel,这个问题就迎刃而解了。 这里不建议对VertexLabel使用多继承,实际没有必要,而且容易徒增复杂度。

github-actions[bot] commented 2 years ago

Due to the lack of activity, the current issue is marked as stale and will be closed after 20 days, any update will remove the stale label