Sparql 限制每个类别的图形数据库响应

Sparql 限制每个类别的图形数据库响应,sparql,graph-databases,gremlin,tinkerpop,Sparql,Graph Databases,Gremlin,Tinkerpop,我肯定已经有一个问题问了同样的问题,但我一直找不到。也许我只是不知道用什么词来恰当地表达这个问题。一些背景:我正在决定AWS海王星是否适合即将到来的项目。因此,我显然可以访问SPARQL引擎和Tinkerpop/Gremlin引擎,如果这有助于回答这个问题的话 假设我有一个图形数据库中的项目。这些项目有一个名为类别的“属性”。是否可以从每个不同类别中最多获得20件物品 我已经搜索了各种SPARQL资源(例如),但没有找到任何描述这种功能的内容,而且在我以前的SPARQL遭遇中我从来没有这样做过。

我肯定已经有一个问题问了同样的问题,但我一直找不到。也许我只是不知道用什么词来恰当地表达这个问题。一些背景:我正在决定AWS海王星是否适合即将到来的项目。因此,我显然可以访问SPARQL引擎和Tinkerpop/Gremlin引擎,如果这有助于回答这个问题的话

假设我有一个图形数据库中的项目。这些项目有一个名为类别的“属性”。是否可以从每个不同类别中最多获得20件物品


我已经搜索了各种SPARQL资源(例如),但没有找到任何描述这种功能的内容,而且在我以前的SPARQL遭遇中我从来没有这样做过。不熟悉小叮当和小精灵,但我最初的阅读资料也没有涉及到这一点。

小精灵很简单。使用具有每个机场的区域属性的航线图。下面的查询将返回加利福尼亚州和德克萨斯州的五个或更少的机场(图中每个州的机场数超过5个)

已编辑:添加了未查找特定区域的其他示例

gremlin> g.V().hasLabel('airport').
               limit(50).
               group().
                 by('region').
                 by(identity().limit(5).fold())

==>[US-FL:[v[9],v[15],v[16],v[19],v[25]],US-NV:[v[30]],US-HI:[v[37]],US-TX:[v[3],v[8],v[11],v[33],v[38]],US-WA:[v[22]],US-NY:[v[12],v[14],v[32],v[35]],US-NC:[v[21]],US-LA:[v[34]],GB-ENG:[v[49],v[50]],US-PA:[v[45]],US-DC:[v[7]],US-NM:[v[44]],US-AZ:[v[20],v[43]],US-TN:[v[4]],CA-BC:[v[48]],CA-ON:[v[47]],PR-U-A:[v[40]],US-MN:[v[17]],US-IL:[v[18]],US-AK:[v[2]],US-VA:[v[10]],US-CO:[v[31]],US-MD:[v[6]],US-IA:[v[36]],US-MA:[v[5]],US-CA:[v[13],v[23],v[24],v[26],v[27]],US-UT:[v[29]],US-OH:[v[41]],US-GA:[v[1]],US-MI:[v[46]]]

我怀疑这在SPARQL中是可能的,你想要的基本上是“每个组n个项目”-即使在SQL中,这也需要窗口函数
row_number()
partition by
-相结合-我不知道SPARQL中的这些特性-显然我可能是错的SPARQL:,Gremlin:?好的,对每个类别的每个项目使用count很有趣,但它看起来相当昂贵好吧,很高兴知道它可以用小精灵很好地表达出来。有没有可能不提前知道区域?有没有可能不提前知道区域?有。我添加了第二个示例,该示例获得了50个机场,并在不了解任何地区的情况下应用相同的分组策略。我在第一个示例中使用显式区域只是为了保持简单。
gremlin> g.V().hasLabel('airport').
               limit(50).
               group().
                 by('region').
                 by(identity().limit(5).fold())

==>[US-FL:[v[9],v[15],v[16],v[19],v[25]],US-NV:[v[30]],US-HI:[v[37]],US-TX:[v[3],v[8],v[11],v[33],v[38]],US-WA:[v[22]],US-NY:[v[12],v[14],v[32],v[35]],US-NC:[v[21]],US-LA:[v[34]],GB-ENG:[v[49],v[50]],US-PA:[v[45]],US-DC:[v[7]],US-NM:[v[44]],US-AZ:[v[20],v[43]],US-TN:[v[4]],CA-BC:[v[48]],CA-ON:[v[47]],PR-U-A:[v[40]],US-MN:[v[17]],US-IL:[v[18]],US-AK:[v[2]],US-VA:[v[10]],US-CO:[v[31]],US-MD:[v[6]],US-IA:[v[36]],US-MA:[v[5]],US-CA:[v[13],v[23],v[24],v[26],v[27]],US-UT:[v[29]],US-OH:[v[41]],US-GA:[v[1]],US-MI:[v[46]]]