Orientdb - 如何使用边缘属性筛选匹配项

时间:2016-07-18 18:21:02

标签: orientdb

查看比赛

    SELECT PSQ_psq_nome AS nome, INS_ins_nome AS instituicao, COUNT(PUB_pub_id) AS qtdpub, * FROM (
    MATCH 
       {class:Pais, as:PAI,  where:(pai_id=1)} <-NASCEU- {class:Pesquisador, as:PSQ} -PUBLICOU-> {class:Publicacao, as:PUB, where: (pub_data_publicacao_int > 20141231)},
       {as:PSQ} -ATUOU-> {class:Instituicao, as:INS}
    RETURN PSQ.psq_nome AS nome, INS.ins_nome AS instituicao, PUB.pub_id, PUBLICOU.ordem )

GROUP BY PSQ_psq_nome, INS_ins_nome
ORDER BY qtdpub DESC, nome

我需要为边缘PUBLICOU使用属性ordem,输入integer。可能吗?

类似的东西(见PUBLICOU)

SELECT PSQ_psq_nome AS nome, INS_ins_nome AS instituicao, COUNT(PUB_pub_id) AS qtdpub, * FROM (
MATCH 
   {class:Pais, as:PAI,  where:(pai_id=1)} <-NASCEU- {class:Pesquisador, as:PSQ} -PUBLICOU { where: (ordem = 1) -> {class:Publicacao, as:PUB, where: (pub_data_publicacao_int > 20141231)},
   {as:PSQ} -ATUOU-> {class:Instituicao, as:INS}
RETURN PSQ.psq_nome AS nome, INS.ins_nome AS instituicao, PUB.pub_id, PUBLICOU.ordem )

GROUP BY PSQ_psq_nome, INS_ins_nome
ORDER BY qtdpub DESC, nome

1 个答案:

答案 0 :(得分:2)

当然,但你不能使用箭头符号,例如。你必须替换

 {class:Pesquisador, as:PSQ} -PUBLICOU-> {class:Publicacao ...}

 {class:Pesquisador, as:PSQ} .outE("PUBLICOU"){where:(ordem = 1)}.inV() {class:Publicacao ...}

如果希望

,您还可以为边缘指定别名并将其返回到结果集中