我有以下疑問在OrientDB中查詢。OrientDB查詢比較
我有三個頂點用戶,事件和運動。
第一個用戶選擇運動,並在那一點創建has_sport邊緣,它具有用戶的'出'和運動的'入'。
並且有一些事件由其他用戶註冊如下,users-> events-> sports,用戶創建邊緣'out'和'in'事件和事件邊緣'out'和'in'運動。
現在,如何做查詢的問題,我想做一個查詢,根據他選擇的運動向用戶返回事件。換句話說,看用戶體育是否等於賽事運動。
頂點:用戶,事件,體育 邊緣:has_sport,has_event
對不起我的英文不好嘿嘿
謝謝
編輯
SELECT expand(event) FROM (
MATCH
{class:users, as:user, where:(userId = ?)} -has_sport-> {as:sport},
{class:events, as:event} -has_sport-> {as:sport},
{as:user} -has_sport-> {as:sport}
RETURN event
)
查看模型,我不確定這是否有道理...我的意思是,用戶可以選擇一項運動,但有事件匹配他沒有選擇的其他運動...也許我得到了有什麼不對,但是我希望你對如何編寫查詢有了一個想法 –
嗨路易吉,謝謝你的回答和消化。 我把圖形的圖像,以獲得更好的主意。 這個想法是以下用戶在系統中註冊並選擇它喜歡的運動。 如果有其他用戶創建的事件與同一項運動呈現給他參與。 否則沒有任何顯示。 然後,我想在此查詢中驗證用戶的運動是否與事件的運動相同。 感謝您向我展示「MATCH」我會繼續在這裏以其他方式進行測試,但這仍然不理想。 – estevammr
Luigi,我在這個問題的「編輯」下面提出了一個針對我需要的內容的查詢。 我希望你看看這個查詢是否符合OrientDB的最佳實踐。 謝謝 – estevammr