私は現在、OrientDBを使用して認証システムを実装していますが、私は辺の矢印の表記に問題があります。orientdb複数の可能な辺に一致する
グラフは、4つの異なる頂点の種類があります。
- ユーザー
- グループ
- 役割
- リソース
そして、四つの異なるエッジタイプ:
- IN_GROUP
- HAS_ROLE
- CAN_ACCESSは
を継承し、構造は次のとおりです。
- ユーザー-IN_GROUP->グループ
- グループ-HAS_ROLE->ロール
- 役割-CAN_ACCESS->リソース
- ロール-INHERITS->ロール
ロールは他のロールを継承することがあります。これは、ロールAがロールCを継承するロールBを継承する可能性があることを意味します。「特定のユーザーに対して、継承したものを含め、すべてのロールを私に与えてください」と言うことができるオリエントクエリーを作成します。
現在私はこれをやっている役割を継承したロールを得るが、それは唯一の継承されたノードの最初のレベルを取得します。 match {class:User, where:(name='Sean')} -IN_GROUP-> {class:Group} -HAS_ROLE-> {} -INHERITS-> {class:Role, as:role} return role.name
私が取得しようとしている何、この最初の役割が継承するノードのチェーン全体で誰も私を助けることができますこれでどうですか?あなたがここに必要なもの