(57)【要約】      （修正有）【課題】格納データアクセス制御装置、方法及びプログラムを提供する。【解決手段】グラフデータを符号化しデータ記憶装置に格納されたデータアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有し、データ記憶装置に格納されたデータアイテムの指定されたサブセットをクエリ結果として要求するクエリを受信するよう構成され、及びデータ記憶装置から前記指定されたサブセットに属するデータアイテムを予備クエリ結果として得るよう構成される、クエリモジュールと、クエリモジュールから予備クエリ結果を得て、予備クエリ結果からの情報を選択的に抑制することにより予備クエリ結果の改訂バージョンを生成し、及び受信されたクエリに応答して前記要求されたクエリ結果として、予備クエリ結果の改訂バージョンを出力するよう構成される、抑制モジュールと、を有する。【選択図】図１
2015133097.tif 000002
【特許請求の範囲】
【請求項１】
格納データアクセス制御装置であって、グラフデータを符号化しデータ記憶装置に格納されたデータアイテムへのアクセスを制御するよう構成され、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有し、前記格納データアクセス制御装置は、
データ記憶装置に格納された前記データアイテムの指定されたサブセットをクエリ結果として要求するクエリを受信するよう構成され、及び前記データ記憶装置から前記指定されたサブセットに属するデータアイテムを予備クエリ結果として得るよう構成される、クエリモジュールと、
前記クエリモジュールから前記予備クエリ結果を得て、前記予備クエリ結果からの情報を選択的に抑制することにより前記予備クエリ結果の改訂バージョンを生成し、及び前記受信されたクエリに応答して前記要求されたクエリ結果として、前記予備クエリ結果の前記改訂バージョンを出力するよう構成される、抑制モジュールと、
を有し、
情報の選択的な抑制は、前記の又は１若しくは複数のグラフノードの各々について、前記グラフノードと別のグラフノードとの間のラベル付きリンクのラベルの属性であるアクセス制御情報に従って、前記グラフノードを表すデータ値を抑制し、前記グラフノードは、前記ラベル付きリンクによりリンク付けされる前記主語グラフノード又は前記目的語グラフノードである、格納データアクセス制御装置。
【請求項２】
前記ラベルの属性であるアクセス制御情報に従って、前記符号化されたグラフデータから複数のラベル付きリンクの各々のラベルを格納するよう構成される、述語オントロジ記憶ユニット、
を更に有する請求項１に記載の格納データアクセス制御装置。
【請求項３】
ラベル付きリンクのラベルの属性であるアクセス制御情報は、主語として前記ラベル付きリンクのラベルと目的語として前記アクセス制御情報を識別するデータとを含むトリプルの形式を有するデータアイテムにより識別される、請求項１に記載の格納データアクセス制御装置。
【請求項４】
データ値の抑制は、データ値の削除及び／又はデータ値の匿名化を有する、請求項１に記載の格納データアクセス制御装置。
【請求項５】
前記アクセス制御情報は抑制条件を有し、アクセス制御情報に従う前記グラフノードを表すデータ値の抑制は、前記抑制条件の抽出と、前記抑制条件が満たされるか否かの決定と、及び前記抑制条件が満たされる場合に前記データ値の抑制と、を有する、請求項１に記載の格納データアクセス制御装置。
【請求項６】
前記クエリは、前記クエリの発信元を識別する要求側ＩＤを有し、
前記抑制モジュールは、前記要求側ＩＤに関連付けられたアクセス属性を得るよう動作し、
前記抑制条件は、前記要求側ＩＤに関連付けられた前記アクセス属性に依存する少なくとも１つの基準を有する、
請求項５に記載の格納データアクセス制御装置。
【請求項７】
前記アクセス属性は、要求側アクセスレベルの段階的シーケンスの中の要求側アクセスレベルを有し、
前記抑制条件は、前記要求側アクセスレベルの段階的シーケンスの中の要求側アクセスレベルを指定する要求側アクセスレベル基準を有し、
前記抑制モジュールは、前記指定された要求側アクセスレベルを前記要求側の属性である要求側アクセスレベルと比較し、前記の比較の結果に依存して、前記要求側アクセスレベル基準が満たされるか否かを決定するよう構成される、
請求項６に記載の格納データアクセス制御装置。
【請求項８】
前記データアイテムは、それぞれ３つのトリプル要素の各々のデータ値を有するトリプルであり、前記３つのトリプル要素は、
前記データアイテムにより符号化される前記ラベル付きリンクによりリンク付けされる前記主語グラフノードを識別する主語と、
前記データアイテムにより符号化される前記ラベル付きリンクによりリンク付けされる前記目的語グラフノードを識別する目的語と、
前記データアイテムにより符号化される前記ラベル付きリンクの前記ラベルである述語と、
である、請求項１に記載の格納データアクセス制御装置。
【請求項９】
情報の選択的な抑制は、データアクセスポリシの実施を含み、前記データアクセスポリシは、前記抑制モジュールにより適用可能な１又は複数のルールを有し、前記１又は複数のルールは、前記予備クエリ結果の中からどの情報を抑制すべきかを決定するために前記抑制モジュールにより実施可能である、請求項１に記載の格納データアクセス制御装置。
【請求項１０】
前記データアイテムは、１より多いグラフデータベースを符号化し、前記１より多いグラフデータベースの各々は、個々の検索及びデータ検索機能を有する異なるデータ記憶装置に格納される、請求項１に記載の格納データアクセス制御装置。
【請求項１１】
１つのラベルの属性である前記アクセス制御情報は、前記述語オントロジ記憶ユニット内に前記１つのラベルの子として格納される他のラベルにより継承される、請求項１に記載の格納データアクセス制御装置。
【請求項１２】
グラフデータを符号化するデータアイテムを格納するよう構成されるデータ記憶装置であって、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有する、データ記憶装置と、
グラフデータを符号化しデータ記憶装置に格納されたデータアイテムへのアクセスを制御するよう構成される格納データアクセス制御装置であって、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有する、格納データアクセス制御装置と、
を有し、前記格納データアクセス制御装置は、
データ記憶装置に格納された前記データアイテムの指定されたサブセットをクエリ結果として要求するクエリを受信するよう構成され、及び前記データ記憶装置から前記指定されたサブセットに属するデータアイテムを予備クエリ結果として得るよう構成される、クエリモジュールと、
前記クエリモジュールから前記予備クエリ結果を得て、前記予備クエリ結果からの情報を選択的に抑制することにより前記予備クエリ結果の改訂バージョンを生成し、及び前記受信されたクエリに応答して前記要求されたクエリ結果として、前記予備クエリ結果の前記改訂バージョンを出力するよう構成される、抑制モジュールと、
を有し、
情報の選択的な抑制は、前記の又は１若しくは複数のグラフノードの各々について、前記グラフノードと別のグラフノードとの間のラベル付きリンクのラベルの属性であるアクセス制御情報に従って、前記グラフノードを表すデータ値を抑制し、前記グラフノードは、前記ラベル付きリンクによりリンク付けされる前記主語グラフノード又は前記目的語グラフノードである、
データ記憶システム。
【請求項１３】
データアクセス制御方法であって、グラフデータを符号化しデータ記憶装置に格納されたデータアイテムへのアクセスを制御し、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有し、前記方法は、
データ記憶装置に格納された前記データアイテムの指定されたサブセットをクエリ結果として要求するクエリを受信し、及び前記データ記憶装置から前記指定されたサブセットに属するデータアイテムを予備クエリ結果として得るステップと、
前記予備クエリ結果からの情報を選択的に抑制することにより前記予備クエリ結果の改訂バージョンを生成するステップと、
前記受信されたクエリに応答して前記要求されたクエリ結果として、前記予備クエリ結果の前記改訂バージョンを出力するステップと、
を有し、
情報の選択的な抑制は、前記の又は１若しくは複数のグラフノードの各々について、前記グラフノードと別のグラフノードとの間のラベル付きリンクのラベルの属性であるアクセス制御情報に従って、前記グラフノードを表すデータ値を抑制し、前記グラフノードは、前記ラベル付きリンクによりリンク付けされる前記主語グラフノード又は前記目的語グラフノードである、
方法。
【請求項１４】
コンピューティング装置により実行されると前記コンピューティング装置にデータアクセス制御方法を実行させるコンピュータプログラムを格納する非一時的記憶媒体であって、グラフデータを符号化しデータ記憶装置に格納されたデータアイテムへのアクセスを制御し、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有し、前記方法は、
データ記憶装置に格納された前記データアイテムの指定されたサブセットをクエリ結果として要求するクエリを受信し、及び前記データ記憶装置から前記指定されたサブセットに属するデータアイテムを予備クエリ結果として得るステップと、
前記予備クエリ結果からの情報を選択的に抑制することにより前記予備クエリ結果の改訂バージョンを生成するステップと、
前記受信されたクエリに応答して前記要求されたクエリ結果として、前記予備クエリ結果の前記改訂バージョンを出力するステップと、
を有し、
情報の選択的な抑制は、前記の又は１若しくは複数のグラフノードの各々について、前記グラフノードと別のグラフノードとの間のラベル付きリンクのラベルの属性であるアクセス制御情報に従って、前記グラフノードを表すデータ値を抑制し、前記グラフノードは、前記ラベル付きリンクによりリンク付けされる前記主語グラフノード又は前記目的語グラフノードである、
記憶媒体。
【請求項１５】
コンピューティング装置により実行されると前記コンピューティング装置を格納データアクセス制御装置として動作させるコンピュータプログラムを格納する非一時的記憶媒体であって、グラフデータを符号化しデータ記憶装置に格納されるデータアイテムへのアクセスを制御するよう構成され、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有し、前記格納データアクセス制御装置は、
データ記憶装置に格納された前記データアイテムの指定されたサブセットをクエリ結果として要求するクエリを受信するよう構成され、及び前記データ記憶装置から前記指定されたサブセットに属するデータアイテムを予備クエリ結果として得るよう構成される、クエリモジュールと、
前記クエリモジュールから前記予備クエリ結果を得て、前記予備クエリ結果からの情報を選択的に抑制することにより前記予備クエリ結果の改訂バージョンを生成し、及び前記受信されたクエリに応答して前記要求されたクエリ結果として、前記予備クエリ結果の前記改訂バージョンを出力するよう構成される、抑制モジュールと、
を有し、
情報の選択的な抑制は、前記の又は１若しくは複数のグラフノードの各々について、前記グラフノードと別のグラフノードとの間のラベル付きリンクのラベルの属性であるアクセス制御情報に従って、前記グラフノードを表すデータ値を抑制し、前記グラフノードは、前記ラベル付きリンクによりリンク付けされる前記主語グラフノード又は前記目的語グラフノードである、
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース管理システムに関する。特に、本発明の実施形態は、アクセス制御を適用することによりクエリに対する応答で供給されるデータの制御に関連する。
【背景技術】
【０００２】
リソース、特にデータは、未認可アクセスから保護される必要がある。このプロセスを実装するアーキテクチャは、「アクセス制御」と呼ばれ、ＡＡＡセキュリティプロトコル（Authentication,  Authorization,  and  Audit）で中央の「Ａ」の実装である。アクセス制御は、幾つかのアーキテクチャ的に独立した活動に分解できる。アクセス制御プロセスにおける主な役割は、ＲＦＣ２０９４に記載されている。これらの概念は、グラフ構造データベース内の個々のデータ要素として格納される又はそれにより表されるリソースへのアクセスを制御するために、ＸＡＣＭＬ標準で用いられる。以下のリストは、ＸＡＣＭＬで用いられるとき、これらの役割を強調表示し、実施形態が実施されうる状況を提供する。
【０００３】
ポリシ管理ポイント（Policy  administration  point：ＰＡＰ）：ポリシ又はポリシセットを生成するシステムエンティティ；
ポリシ決定ポイント（Policy  decision  point：ＰＤＰ）：適用可能ポリシを評価し及び認証決定を行うシステムエンティティ。この用語は、ＲＦＣ３１９８で、IETF  Policy  Framework  Working  Group  and  the  Distributed  Management  Task  Force  (DMTF)/Common  Information  Model  (CIM)による共同作業で定められている。この用語は、ＩＳＯ１０１８１−３における「アクセス決定機能（Access  Decision  Function：ＡＤＦ）」；ポリシ実施ポイント（Policy  enforcement  point：PEP）：決定要求を生成し認証決定を実施することによりアクセス制御を実行するシステムエンティティに対応する。この用語は、ＲＦＣ３１９８で、IETF  Policy  Framework  Working  Group  and  the  Distributed  Management  Task  Force  (DMTF)/Common  Information  Model  (CIM)による共同作業で定められている。この用語は、ＩＳＯ１０１８１−３における「アクセス実施機能（Access  Enforcement  Function：ＡＥＦ）」；ポリシ情報ポイント（Policy  information  point：ＰＩＰ）：属性値のソースとして動作するシステムエンティティに対応する。
【０００４】
図４は、ＸＡＣＭＬアクセス制御アーキテクチャにおける例示的なデータフローを示す。ステップＳ１〜Ｓ１３は、アクセス制御エンティティ間の情報の順序付けられたフローを表す。本発明の実施形態は、ＰＥＰ及びＰＤＰの機能を提供するためにＸＡＣＭＬ環境で実施されても良い。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、格納データアクセス制御装置、データ記憶システム、データアクセス制御方法及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、格納データアクセス制御装置であって、グラフデータを符号化しデータ記憶装置に格納されたデータアイテムへのアクセスを制御するよう構成され、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有し、前記格納データアクセス制御装置は、データ記憶装置に格納された前記データアイテムの指定されたサブセットをクエリ結果として要求するクエリを受信するよう構成され、及び前記データ記憶装置から前記指定されたサブセットに属するデータアイテムを予備クエリ結果として得るよう構成される、クエリモジュールと、前記クエリモジュールから前記予備クエリ結果を得て、前記予備クエリ結果からの情報を選択的に抑制することにより前記予備クエリ結果の改訂バージョンを生成し、及び前記受信されたクエリに応答して前記要求されたクエリ結果として、前記予備クエリ結果の前記改訂バージョンを出力するよう構成される、抑制モジュールと、を有し、情報の選択的な抑制は、前記の又は１若しくは複数のグラフノードの各々について、前記グラフノードと別のグラフノードとの間のラベル付きリンクのラベルの属性であるアクセス制御情報に従って、前記グラフノードを表すデータ値を抑制し、前記グラフノードは、前記ラベル付きリンクによりリンク付けされる前記主語グラフノード又は前記目的語グラフノードである、格納データアクセス制御装置を含む。
【０００７】
有利なことに、実施形態は、データ値へのアクセスを精細レベルで制御することを可能にし、各データ値又は各データアイテムのコアに格納されるアクセス制御詳細情報を含むためにデータベーススキームの如何なる拡張も必要としない。
【０００８】
抑制を実行する前に予備クエリ結果を得ることは、データアイテムからのデータ値がクエリ結果内に出力されるべきでない場合でも、データアイテム数のような特定の情報を予備クエリ結果から抽出することを可能にする。
【０００９】
本発明の実施形態は、アクセス制御情報を含むため又はアクセス制御情報の識別情報を含むために、２つのグラフノード間の述語又はラベル付きリンクの意味を拡張する。抑制モジュールは、ラベル付きリンクを特定のアクセス制御情報が予備クエリ結果に適用されるべきであると示すと解釈するよう構成される。アクセス制御情報は、ラベル付きリンクのラベルに関連付けられて記憶ユニットに又はデータグラフの部分として格納されても良い。代替で、例えば、アクセス制御情報識別子は、ラベル付きリンクのラベルに関連付けられ、抑制モジュールは該識別子をキーとして用いることによりアクセス制御情報を検索するよう構成されても良い。例えば、識別子は、「アクセス制御レベル  ｘ」であり、ｘは値の範囲を取り、各アクセス制御レベルはいつ及びどのようにラベル付きリンクによりリンク付けされたグラフノードが予備クエリ結果から抑制されるべきかを決定する異なる条件セットに対応しても良い。
【００１０】
グラフノード及び該グラフノードがラベル付きリンクによりリンク付けされる別のグラフノードは、主語及び目的語の対を形成する。したがって、２つのノードのうちの一方は主語グラフノードであり、２つのノードのうちの他方は目的語グラフノードである。勿論、１つのあるラベル付き関係の主語であるノードは別のラベル付き関係の目的語であっても良く、逆も同様である、主語グラフノード又は目的語グラフノードとしてのグラフノードのアイデンティティは、対象となる関係に依存する相対的特性である。したがって、ラベル付きリンクによりリンク付けされる主語グラフノード及び目的語グラフノードの両者は、「グラフノード」と考えられ、プレフィックス「主語」又は「目的語」は関係毎にグラフノードに起因する。
【００１１】
クエリは、クエリ結果に含まれるべきデータアイテムについて、データアイテムの特定の要素のデータ値が包含されなければならない境界を定めることによりサブセットを指定する。クエリ結果は、１又は複数のデータアイテムのコピー、又はデータアイテム内の要素の１又は複数のデータ値のコピーの形式であっても良い。代替又は追加で、クエリ結果は、クエリ内で指定された条件を満たすデータアイテム数のカウントのような、データアイテムから導出される情報を有しても良い。したがって、クエリ結果は、データアイテム及び／又はデータ値自体であっても良い情報、及び／又はデータ値の評価若しくは分析から導出される情報を有する。
【００１２】
本発明の実施形態は、抑制モジュールにおいて、クエリ結果から情報を抑制することによりデータへのアクセスを制御する。抑制モジュールにおけるクエリ結果からの情報の抑制は、グラフノードを含むグラフノード対の間のラベル付きリンクのラベルに属するアクセス制御情報に従って実行される。グラフノードは、主語グラフノード及び目的語グラフノードのための集合的用語である。情報の抑制は、クエリ結果からのデータ値の除去、データ値からの情報の匿名化若しくは除去（例えば、データ値を、カウント又はデータ値が存在することを示す「true」ラベルで置き換える）を含み、したがって、情報がクエリ結果に含まれるのを防ぐ。抑制は、グラフノード間のラベル付きリンクのラベルの属性であるアクセス制御情報に従う。言い換えると、２つのグラフノード間の関係の種類は、適用されるべきアクセス制御情報を決定する。アクセス制御情報は、特定のラベルを有するラベル付き関係によりリンク付けされる主語又は目的語ノードを抑制すべきか否か、又はどのように抑制すべきかを抑制モジュールに単に指示しても良い。さらに、アクセス制御情報は、より複雑であっても良く、予備クエリ結果から情報を抑制すべきか否か又は場合によってはどのように抑制すべきかを決定するために抑制モジュールが適用しなければならない１又は複数の条件を有しても良い。ラベル付き関係は、主語グラフノードの特性を効率的に定め、目的語グラフノードは主語グラフノードの定められた特性の範囲（又は値）を定める。これらの用語では、実施形態は、抑制モジュールが、予備クエリ結果がセキュア特性又は規制特性を記述する情報を含むときを識別し及びこれらの状況において特定のアクセス制御を実行することを効率的に可能にする。アクセス制御情報は、アクセス制御情報が属性であるラベル付きリンクのラベルを有するデータアイテムを形成するデータ値のうちの任意のもの又は全部に適用されても良い。データアイテム全体が抑制されても良く、データアイテムを有する個々のデータ値のうちの１又は複数が抑制されても良い。
【００１３】
ラベル付きリンクは、述語と表されても良く、２つのグラフノード又はリソース間の定められた関係である。ラベル付きリンクのラベルは、どのような関係、及びグラフレイアウト、つまりラベル付きリンクによりリンク付けされた２つのノードが、どのグラフノードが該関係を共有するかを定める。データグラフを符号化するデータアイテムのフォーマットは、ラベル付きリンクによりリンク付けされた２つのグラフノード及びラベル付きリンクのラベルが、それぞれデータアイテム内のデータ値により定められるようなものであっても良い。各データ値は、目的語と考えられ、ストリングオブジェクトであっても良い。ラベル付きリンクのラベルは、ラベル付きリンク又は述語の型、名称、又は定義としても表される。
【００１４】
実施形態は、前記ラベルの属性であるアクセス制御情報に従って、前記符号化されたグラフデータから複数のラベル付きリンクの各々のラベルを格納するよう構成される、述語オントロジ記憶ユニット、を更に有しても良い。
【００１５】
有利なことに、述語オントロジ記憶ユニットは、格納されたデータ内のラベル付きリンクのラベルに従ってアクセス制御情報を格納するメカニズムを提供する。述語オントロジ記憶ユニットは、予備クエリ結果の述語／ラベル付きリンクを解釈し及びいつ又はどのように予備クエリ結果から情報を抑制するかを決定するために、抑制モジュールにより参照可能である。
【００１６】
記述すべき特性の属性（アクセス制御情報）は、オントロジとしてそれ自体に格納できる。述語オントロジ記憶ユニットは、符号化グラフデータとは別個であっても良く、又はグラフの拡張として拡張グラフデータと一緒に格納されても良い。グラフデータの主体のフォーマットは、述語オントロジ記憶ユニットの包含により分離されない。しかし、特定のラベル付きリンク又は１又は複数のラベル付きリンクに与えられるラベルが主語であり及びアクセス制御情報（又はそれへの参照若しくはその識別情報）が目的語である追加データアイテムは、格納されるデータに含まれる。特に、実施形態は、以下であっても良い。
【００１７】
ラベル付きリンクのラベルの属性であるアクセス制御情報は、主語としてラベル付きリンクを及び目的語としてアクセス制御情報を識別するデータを有するデータアイテムにより識別されても良い。
【００１８】
有利なことに、符号化データグラフのデータフォーマット内にアクセス制御情報を含めることは、精細レベルでアクセス制御情報を組み込むためのメカニズムを効率的に処理することを提供する。例えば、ラベル付きリンクが特定のラベルを有する場合、（２つの特定のグラフノード間の関係である）ラベル付きリンクは、特定のラベルのインスタンスであると考えられ、特定のラベルのインスタンスの属性となる特定の特性（アクセス制御情報）は、特定のラベルと関連付けられて述語オントロジ記憶ユニットに格納される。述語オントロジ記憶ユニットは、抑制モジュールに、ラベル付きリンクのラベル又は述語を表すデータ要素の特定のデータ値を有するデータアイテムをどのように扱うか（つまり、どのような抑制を適用すべきか）を指示するアクセス制御情報を格納するよう構成される。
【００１９】
あるラベルの属性であるアクセス制御情報は、述語オントロジ記憶ユニットに該あるラベルの子供として格納された他のラベルにより継承される。
【００２０】
ラベルの属性であるアクセス制御情報は、特に、ラベルを有するラベル付きリンクによりリンク付けされる目的語グラフノード（を表すデータ値）を（予備クエリ結果から）抑制すべきか否か、ラベルを有するラベル付きリンクによりリンク付けされる主語グラフノードを抑制すべきか否か、及び／又はグラフノードを表すデータ値をどのように抑制すべきか、を指定しても（又はこれらを決定するために適用されるべき条件を含んでも）良い。
【００２１】
任意で、データ値の抑制は、データ値の除去、及び／又はデータ値の匿名化を有する。
【００２２】
データ値の匿名化は、「１」又は「true」のような所定の固定値によるデータ値の修正を有しても良い。したがって、予備クエリ結果の改訂バージョンでは、データ値が存在することが決定できるが、どんなデータ値がグラフ内に格納されているかは分からない。代替で、特定のデータ値が予備クエリ結果から単に除去されても良い。したがって、予備クエリ結果の改訂バージョン（クエリに応答して出力されるバージョン）には、データ値は存在せず、それらの存在の指示もない。
【００２３】
アクセス制御情報は、特定のラベルを有するラベル付きリンクによりリンク付けされるグラフノードについてどのように及びどのデータ値を抑制すべきかに関する無条件の指示を有しても良い。さらに、アクセス制御情報は、特定の条件又は基準（単数又は複数）が満たされ又は適用する場合に適用されるべき条件付き指示を有しても良い。
【００２４】
前記アクセス制御情報は抑制条件を有し、アクセス制御情報に従う前記グラフノードを表すデータ値の抑制は、前記抑制条件の抽出と、前記抑制条件が満たされるか否かの決定と、及び前記抑制条件が満たされる場合に前記データ値の抑制と、を有しても良い。
【００２５】
代替の実施形態では、目的語ノードと個々の主語ノードとの間のラベル付きリンクのラベルの属性であるアクセス制御情報に従って目的語ノードを表すデータ値を抑制することは、予備クエリ結果内の目的語ノードを符号化する各データ値について、目的語ノードと個々の主語ノードとの間のラベル付きリンクのラベルを識別することと、ラベルの属性であるアクセス制御情報が抑制条件を有するか否かを決定し、有する場合にアクセス制御情報から抑制条件を抽出し、抑制条件が満たされる場合にデータ値を抑制することと、を有する。
【００２６】
条件は、要求側の属性に、特定の範囲のデータ値に（主語（Subject）＝「Fred」の場合、目的語（Object）を抑制する）、予備クエリ結果の内容に（ResultCount＜５の場合、目的語（Object）を抑制する）、又は予備クエリ結果の改訂バージョンに、又は環境条件に（時刻＞１９：００の場合、目的語（Object）を抑制する）、適用されても良い。
【００２７】
どのデータ値を抑制すべきか及び／又はそれらをどのように抑制するかを決定するために抑制モジュールにより適用されるされるべき条件は、予備クエリ結果を形成するデータの内容に依存しても良く、及び／又は要求側の属性のようなデータの外部の要因に依存しても良い。任意で、実施形態は、前記クエリは、前記クエリの発信元を識別する要求側ＩＤを有するクエリを処理するよう構成される格納データアクセス制御装置を有しても良い。このような実施形態では、前記抑制モジュールは、前記要求側ＩＤに関連付けられたアクセス属性を得るよう動作し、前記抑制条件は、前記要求側ＩＤに関連付けられた前記アクセス属性に依存する少なくとも１つの基準を有する。
【００２８】
有利なことに、要求側を識別であることは、抑制モジュールが個々の要求側に対して抑制を調整することを可能にする。例えば、要求側、つまり格納データを問い合わせるインタフェースのユーザは、アクセスレベルを有し、ラベルの属性であるアクセス制御情報は、（主語グラフノード又は目的語グラフノードの一方又は両方の）データ値が抑制されるべき要求側の最大アクセスレベルを指定する。基準が要求側ＩＤと関連するアクセス属性に依存することは、基準が満たされる又は適合すると考えられるか否かがアクセス属性により決定されることを意味する。
【００２９】
任意で、前記アクセス属性は、要求側アクセスレベルの段階的シーケンスの中の要求側アクセスレベルを有し、前記抑制条件は、前記要求側アクセスレベルの段階的シーケンスの中の要求側アクセスレベルを指定する要求側アクセスレベル基準を有し、前記抑制モジュールは、前記指定された要求側アクセスレベルを前記要求側の属性である要求側アクセスレベルと比較し、前記の比較の結果に依存して、前記要求側アクセスレベル基準が満たされるか否かを決定するよう構成される。
【００３０】
例えば、要求側アクセスレベル基準は、データ値が抑制される最大要求側アクセスレベルであっても良い。最大要求側アクセスレベルを超える要求側アクセスレベルは、要求側アクセスレベル基準を満たさず、その場合にはデータ値は抑制されないだろう。
【００３１】
実施形態では、前記データアイテムは、それぞれ３つのトリプル要素の各々のデータ値を有するトリプルであっても良く、前記３つのトリプル要素は、前記データアイテムにより符号化される前記ラベル付きリンクによりリンク付けされる前記主語グラフノードを識別する主語と、前記データアイテムにより符号化される前記ラベル付きリンクによりリンク付けされる前記目的語グラフノードを識別する目的語と、前記データアイテムにより符号化される前記ラベル付きリンクの前記ラベルである述語と、である。
【００３２】
特に、データアイテムは、ＲＤＦトリプル、つまりトリプルのＲＤＦ標準形式のデータ構造に従うトリプルであっても良い。トリプルは、グラフデータを複数の主語−述語−目的語表現として特徴付けることにより、グラフデータを符号化するのに適するデータアイテムフォーマットを提供する。この文脈では、主語及び述語は、グラフデータのグラフノードであり、オブジェクト、インスタンス又はコンセプトのようなエンティティであり、述語又はラベル付きリンクは、主語と目的語の間の関係の表現である。述語は、目的語への特定の種類のリンクを提供することにより、主語に関する何かを断言する。例えば、主語は、（例えば、ＵＲＩを介して）ウェブリソースを示しても良く、述語はリソースの個々の特性、特徴又は状況を示し、目的語は、該特性、特徴又は状況のインスタンスを示す。言い換えると、トリプルステートメントの集合は、元来、方向性グラフデータを表す。ＲＤＦ標準は、このようなトリプルの形式化された構造を提供する。
【００３３】
実施形態は、格納されたデータへのアクセスを制御する認証スキームを提供する。例えば、ＸＡＣＭＬ標準の観点で、実施形態は、ポリシ実施ポイント（policy  enforcement  point：ＰＥＰ）を提供し、この目的のために、ポリシ管理ポイント（policy  administration  point：ＰＡＰ）、ポリシ決定ポイント（policy  decision  point：ＰＤＰ）、ポリシ情報ポイント（policy  information  point：ＰＩＰ）、及び１又は複数の他の機能ユニット若しくはモジュールのような他の機能ユニットに従って動作するよう構成されても良い。例えば、次の通りである。情報の選択的な抑制は、データアクセスポリシの実施を更に含んでも良く、前記データアクセスポリシは、前記抑制モジュールにより適用可能な１又は複数のルールを有し、前記１又は複数のルールは、前記予備クエリ結果の中からどの情報を抑制すべきかを決定するために前記抑制モジュールにより実施可能である。
【００３４】
変化するスキーム及び異なるデータアクセス制御方法を有する幾つかのデータベースを一緒に結合することは、問題があり、処理の遅いクエリを生じ、単一データアクセスポリシを実施することが困難である。有利なことに、実施形態は、アクセス制御情報をデータアイテム自体に埋め込むのではなく、アクセス制御情報をラベル付きリンクのラベルの属性とすることにより、データベーススキームから独立したアクセス制御技術を提供する。さらに、実施形態は、格納されたデータ自体を更新することなく、データアクセス実施ルールを時間をかけて変更することを可能にする。
【００３５】
格納されたデータが単一データベースではなく連合データベースである、特定の実施形態が実現され得る。例えば、データアイテムは、１より多いグラフデータベースを符号化し、１より多いグラフデータベースの各々は、個々の探索及びデータ検索機能を有する。
【００３６】
さらに、１より多いグラフデータベースの各々は、異なるデータ記憶ユニットに格納されても良い。データベースは、別個の専用探索及び検索機能を介してアクセス可能であっても良い。該探索及び検索機能は、抑制モジュールに予備クエリ結果を返すよう構成される。次に、抑制モジュールは、予備クエリ結果に含まれるデータアイテムのラベル付きリンクのラベルの属性であるアクセス制御情報に従ってデータ値を抑制することにより、予備クエリ結果に含まれるデータアイテムのラベル付きリンクのラベルに基づきアクセス制御を適用し、予備クエリ結果から情報が除去された、予備クエリ結果の改訂バージョンを生成する。改訂バージョンは出力される。抑制モジュールは、１より多いグラフデータベースに対して集約され、したがって個々のデータベーススキームとは独立である。
【００３７】
実施形態は、上述の及び請求項中に定められるようなデータアクセス制御装置を有し、追加で、記憶ユニットを備えたハードディスク又はサーバのようなデータ記憶装置を有しても良い。例えば、このようなデータ記憶装置は、クエリを受信し及び応答し及び抑制モジュールに予備クエリ結果を提供するよう構成されるデータベース管理システムを有しても良い。
【００３８】
別の態様の実施形態は、グラフデータを符号化するデータアイテムを格納するよう構成されるデータ記憶装置であって、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有する、データ記憶装置と、格納データアクセス制御装置の請求項中で定められるような格納データアクセス制御装置と、を有するデータ記憶システムを有する。
【００３９】
別の態様の実施形態は、データアクセス制御方法であって、グラフデータを符号化しデータ記憶装置に格納されたデータアイテムへのアクセスを制御し、各データアイテムは主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有し、前記方法は、データ記憶装置に格納された前記データアイテムの指定されたサブセットをクエリ結果として要求するクエリを受信し、及び前記データ記憶装置から前記指定されたサブセットに属するデータアイテムを予備クエリ結果として得るステップと、前記予備クエリ結果からの情報を選択的に抑制することにより前記予備クエリ結果の改訂バージョンを生成するステップと、前記受信されたクエリに応答して前記要求されたクエリ結果として、前記予備クエリ結果の前記改訂バージョンを出力するステップと、を有し、情報の選択的な抑制は、前記の又は１若しくは複数のグラフノードの各々について、前記グラフノードと別のグラフノードとの間のラベル付きリンクのラベルの属性であるアクセス制御情報に従って、前記グラフノードを表すデータ値を抑制し、前記グラフノードは、前記主語グラフノード又は前記目的語グラフノードである、方法を含む。
【００４０】
別の態様の実施形態は、コンピューティング装置により実行されると、該コンピューティング装置に上述の方法を実行させるコンピュータプログラムを有する。
【００４１】
このようなコンピューティング装置は、サーバ又は記憶ユニット又は他のコンピュータであっても良く、処理は、コンピュータプログラムとして格納された命令セットをメモリにロードし及びそれらをプロセッサで実行することにより実行されても良い。したがって、モジュールは、ソフトウェアを実行するハードウェアコンポーネントにより実現される機能モジュールである。該ソフトウェア自体は、本発明の一実施形態であっても良い。本発明を実施するコンピューティング装置は、メモリ、記憶装置、プロセッサ、及び／又はＩ／Ｏ装置のうちの１又は複数を有しても良い。
【００４２】
別の態様の実施形態は、コンピューティング装置により実行されると、該コンピューティング装置に請求項中に定められるような格納データアクセス制御装置として機能させるコンピュータプログラムを有する。
【００４３】
態様（ソフトウェア／方法／装置）が別個に議論されたが、１つの態様に関連して議論されたその特徴及び影響は、他の態様にも等しく適用できる。したがって、方法の特徴が議論される場合、装置の実施形態はその特徴を実行する又は適切な機能を提供するよう構成されるユニット又は装置を有すること、及びプログラムは該プログラムが実行されるコンピューティング装置に前記方法の特徴を実行させるものと解釈される。
【００４４】
上述の態様のいずれにおいても、種々の特徴は、ハードウェアで、又は１又は複数のプロセッサで動作するソフトウェアモジュールとして実装されても良い。一態様の特徴は、他の態様のいずれにも適用できる。
【００４５】
本発明は、上述の任意の方法を実行するコンピュータプログラム又はコンピュータプログラムプロダクト、及び上述の任意の方法を実行するプログラムを格納しているコンピュータ可読媒体も提供する。本発明を実施するコンピュータプログラムは、コンピュータ可読媒体に格納されてもよい。或いは、例えば、インターネットウェブサイトから提供されるダウンロード可能なデータ信号のような信号形式又は任意の他の形式であってもよい。
【００４６】
本発明の実施形態の詳細な説明は、添付の図面を参照して以下に提供される。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施形態における格納データアクセス制御装置及び情報のフローを示す。
【図２】本発明の実施形態の代替のアーキテクチャを示す。
【図３】本発明の実施形態が適用可能な例示的な格納されたデ―タを示す。
【図４】ＸＡＣＭＬに準拠するアクセス制御システムにおけるデータのフローを示す。
【発明を実施するための形態】
【００４８】
図１は、本発明を具現化する格納データアクセス制御装置１０を示す。格納データアクセス制御装置１０は、専用ハードウェアにより、又はＣＰＵ、メモリ、記憶装置、及びＩ／Ｏユニットを含む汎用コンピュータハードウェアで動作するソフトウェアにより実現されても良い。ソフトウェアとして、格納データアクセス制御装置は、符号化されたメモリ、一時的記憶媒体に格納された命令セット、非一時的記憶媒体に格納された命令セット、又は任意の形式のコンピュータプログラムであっても良い。格納データアクセス制御装置は、データベース管理システムの又は格納データ管理システムのコンポーネントとして提供されても良い。格納データアクセス制御装置は、単一のデータベースのための又は複数のデータベースのための格納データアクセス制御装置として実装されても良い。
【００４９】
格納データアクセス制御装置は、クエリモジュール１２及び抑制モジュール１４を有する。クエリモジュール１２及び／又は抑制モジュール１４は、機能モジュールであり、専用ハードウェアにより又は汎用ハードウェアで動作する（又はにより実行される）ソフトウェアにより実現されても良い。納データアクセス制御装置１０は、クエリモジュール１２及び抑制モジュール１４の和であっても良く、又は追加機能モジュール、例えばＸＡＣＭＬ標準準拠のデータアクセス制御装置を実装するために必要な１又は複数の機能モジュールを有しても良い。
【００５０】
格納データアクセス制御装置１０は、データ記憶装置２０と関連して示される。データ記憶装置２０は、１又は複数のデータベースのための管理エンティティに加えて、符号化されたグラフデータを格納する該１又は複数のデータベースを有しても良い。管理エンティティは、格納データアクセス制御装置１０のような制御装置により指示されるとリード又はライト要求を実行するよう構成されても良い。例えば、このような管理機能は、クエリモジュール１２の代わりにクエリ基準に適合するデータアイテムのコピーを返すよう構成されても良い。データ記憶装置２０は、グラフデータを符号化するデータアイテムを格納するよう構成される。各データアイテムは、主語グラフノードと目的語グラフノードとの間のラベル付きリンクを符号化するデータ値を有する。格納データアクセス制御装置１０は、これらの格納されたデータアイテムへのアクセスを制御するよう構成される。格納データへのアクセスを制御することは、クエリを受信することと、出力される応答が格納データアイテムからの情報を含むクエリ結果である又はヌルである確率にかかわらず、応答を出力することにより各クエリに応答することと、を含む。
【００５１】
データアイテムからの情報は、データアイテムを含むデータ値、例えばデータアイテムからの１又は複数のデータ要素、又は該データ値から引き出されるデータを有する混合表現であると考えられる。該データ値から引き出されるデータは、例えば、データ値若しくはデータアイテムの数のカウント、マスク／ハッシュされた若しくは特定の他の形式の削減されたバージョンのデータ値、又は格納データ値を記述する特定の他の形式のデータを有しても良い。
【００５２】
クエリモジュール１２は、クエリ結果として、データ記憶装置２０に格納されたデータアイテムの特定のサブセットを要求するクエリを受信するよう構成されても良い。クエリモジュール１２は、予備クエリ結果としてデータ記憶装置２０からの特定のサブセットに属するデータアイテムを得るよう更に構成されても良い。クエリモジュール１２は、受信されたクエリを、データ記憶装置２０へ提出するのに適した形式に適応するために、特定の処理を実行するよう構成されても良い。このような処理は、データ記憶装置が１より多いデータベースを有する実装において、各データベース毎に変更されても良い。受信したクエリに含まれるサブセットの指定は、任意的に変更された形式にかかわらず、クエリモジュールによりデータ記憶装置へ提出される。データ記憶装置２０は、特定のサブセットに属するデータアイテムで、クエリモジュール１２に応答するよう構成される。この提出及び応答は、図１中の双方向矢印により表される。
【００５３】
クエリモジュール１２は、別の機械からユーザにより動作されているアプリケーションから、又はサブセットを定め又は指定できるようにする任意の形式のインタフェースを介して、クエリを受信しても良い。クエリは、１又は複数の境界又は範囲、又はクエリに応答してデータアイテムがクエリ結果出力に含まれるために格納データアイテム内の特定のデータ要素のデータ値が満たさなければならない他の基準を設定しても良い。しかしながら、データアイテムがクエリ結果として出力される前に、データアイテムに適用される追加基準が存在しても良い。この追加基準は、抑制モジュール１４により適用されるような、要求側（ユーザ又はアプリケーション）の制御の範囲外である。受信されたクエリに従ってデータ記憶装置から検索される情報は、予備クエリ結果であると考えられ得る。抑制モジュール１４による抑制に従う予備クエリ結果からの残りの情報は、出力クエリ結果と考えられ得る。
【００５４】
受信されたクエリは、どんな形式で、及びどんな場所へ、要求されたクエリ結果が送信され又は書き込まれるべきかを指定しても良い。代替又は追加で、要求されたクエリ結果は、単に要求側エンティティへ返されても良い。
【００５５】
クエリモジュール１２は、データ記憶装置から受信されたデータアイテムに対して特定の処理を実行するよう構成されても良い。例えば、データアイテム自体のコピーの代わりに又はそれに加えて、データアイテムのサブセットに関する、クエリが要求した情報、例えば特定の基準を満たすデータアイテムのデータ値の１又は複数の境界、又は特定の基準を満たすデータアイテムのカウントであっても良い。このような情報（関連情報として参照されても良い）は、クエリモジュール１２により集められ又は生成されても良い。データ記憶装置２０から検索されたデータアイテム及び任意の関連情報を含む予備クエリ結果は、抑制モジュール１４に渡される。代替で、このような処理は、抑制モジュール１４により実行されても良い。
【００５６】
抑制モジュール１４は、クエリモジュール１２から予備クエリ結果を得て、予備クエリ結果からの情報を選択的に抑制することにより予備クエリ結果の改訂バージョンを生成し、受信されたクエリに応答して要求されたクエリ結果として、予備クエリ結果の改訂バージョンを出力するよう構成される。情報を選択的に抑制することは、１又は複数のグラフノード（主語グラフノード又は目的語グラフノード）の各々について、グラフノードと別のグラフノードとの間のラベル付きリンクのラベルの原因となったアクセス制御情報に従ってグラフノードを表すデータ値を抑制することを含み、グラフノードは、主語グラフノード又は目的語グラフノードである。つまり、情報を選択的に抑制することの選択的要素は、アクセス制御情報がデータ値（又はそれが表すグラフノード）を別のデータ値（又はそれが表すグラフノード）にリンク付けするラベル付きリンク（又は述語の名称）の原因となったか否かに又は何が原因となったに依存して、どのデータ値を抑制すべきかの選択である。抑制モジュール１４は、予備クエリ結果に関連するアクセス制御情報について、データ記憶装置２０に問い合わせるよう構成される。事実上、グラフノード間の特定の種類の関係（ラベル付きリンクのラベル）は制限され、又はセキュアな関係及びこれらの関係によりリンク付けされるグラフノードが規制されるべき方法を設定する情報（アクセス制御情報）は、関係の識別子（ラベル又は名称）に従って格納される。抑制モジュール１４は、予備クエリ結果に含まれるラベル付きリンクのラベルの属性であるアクセス制御情報を検索し、特定の情報（例えば、データ値）が抑制される予備クエリ結果の改訂バージョンを生成するために、検索したアクセス制御情報に従って処理を実行するよう構成される。要求されたクエリ結果として出力されるのは、予備クエリ結果の改訂バージョンである。したがって、データ記憶装置２０は、データアイテムとアクセス制御情報の両方を、別個のデータソースとして又はアクセス制御情報がデータアイテムに埋め込まれる単一の統一データソースとして格納するよう構成される一般的データ記憶装置である。
【００５７】
図２は、更なる実施形態を示す。格納データアクセス制御装置１０は、図２に明示されないが、クエリモジュール１２、抑制モジュール１４、及び任意で述語オントロジ３０を有する。述語オントロジ３０は、格納データアクセス制御装置１０の部分として格納されても良く、又は格納データアクセス制御装置１０の外部に設けられ格納データアクセス制御装置１０により（リードアクセスのために）アクセス可能であっても良い。
【００５８】
データベース３０は、２つのグラフノード間のラベル付きリンクのラベルを表すデータ値を有するデータアイテムを格納する。ラベルは、抑制モジュール１４によりデータアイテムに適用されるアクセス制御情報を決定する。したがって、データベースに格納されるデータアイテムは、事実上、データアクセスポリシ実施部で実装される（図１の統一された例に移動され得る）。
【００５９】
述語オントロジ３０は、管理システム及び格納データを有する記憶ユニットとして実装されても良く、又は単に格納データ自体であっても良い。述語オントロジ３０は、本願明細書のどこかで言及される述語オントロジ記憶ユニットと機能的に等価であり、符号化されたグラフデータからの複数のラベル付きリンクの各々のラベルを該ラベルの属性となるアクセス制御情報と関連付けて格納するよう構成される。アクセス制御情報と特定のラベルとの間の関連付けの形式は、トリプル、例えばＲＤＦトリプルにより実現されても良い。ここで、データグラフ内のラベル付きリンクのラベルは主語であり、アクセス制御情報又はその識別子は目的語である。述語オントロジ３０は、抑制モジュール１４にアクセス可能である。例えば、抑制モジュール１４は、ラベルを含むクエリを述語オントロジ３０へ提出しても良い。述語オントロジは、いかなるアクセス制御情報もラベルと関連しない場合にはヌル、又は述語オントロジ３０内にラベルと関連して格納された制御情報へのアクセス、又は述語オントロジ内にラベルと関連して格納された識別子、を返す。該識別子はどのアクセス制御情報をラベルを有するデータアイテムに適用すべきかを決定するために用いることができる。
【００６０】
クエリモジュール１２は、クエリ処理ユニット、クエリ処理システム、又はクエリエンジンとして参照されても良い。図２のクエリモジュール１２は、図１のクエリモジュール１２と機能的に等価である。
【００６１】
抑制モジュール１４は、抑制システム又は抑制ユニットとして参照されても良い。図２の抑制モジュール１４は、図１の抑制モジュール１４と機能的に等価である。
【００６２】
抑制モジュール１４は、図２ではポリシ実施ポイント（policy  enforcement  point：ＰＥＰ）又はポリシ決定ポイント（policy  decision  point：ＰＤＰ）としてラベル付けされる。抑制モジュール１４は、ＸＡＣＭＬ実装で一方又は両方の役割を満たしても良い。ポリシ実施ポイントは、ポリシ決定ポイントに、データへのアクセスを認可するか否かを決定するよう要求する。実施形態の状況では、抑制モジュール１４は、クエリモジュール１２から予備クエリ結果を得るよう構成される。クエリモジュール１２は、予備クエリ結果内の情報のいずれかが出力クエリ結果から削除されるべきか否かに関する決定を行うことをトリガする。ポリシ決定ポイント（policy  decision  point：ＰＤＰ）は、適用可能ポリシを評価し、許可決定を提供する。実施形態の状況では、抑制モジュール１４は、予備クエリ結果に含まれる各データアイテムからのデータ値が、ラベルの属性となる及び述語オントロジ３０に格納されたアクセス制御情報を得るために、データアイテム内のラベル付きリンクのラベルと共に述語オントロジ３０に問い合わせることにより抑制されるべきか否か（及びどのように及びどのデータ値が）に関する決定を行うよう構成される。アクセス制御情報は、抑制モジュール１４が、出力クエリ結果からのデータアイテムからデータ値を抑制すべきか否かを決定するために必要な情報を有しても良い。代替で、述語オントロジ３０から検索されたアクセス制御情報は、データ値をデータアイテムから抑制すべきか否かを決定するために必要な情報を生成するために、抑制モジュール１４においてポリシ情報ポイントから受信された適用されるルールと結合される識別子を有しても良い。出力クエリ結果内のデータアイテムからデータ値を抑制すべきか否かを決定するために必要な情報に加えて、アクセス制御情報は、抑制モジュール１４がどの場合に抑制が実行されるべきか否かを決定できるようにする条件を定めるための情報、どのデータ値がデータアイテムから抑制されるべきかを決定するための情報、及び／又は抑制の形式を決定するための情報を定め又は識別しても良い。
【００６３】
データ記憶装置２０は、データベース１２０として又は特定の他の形式で実装されるかに関わらず、符号化グラフデータを格納するよう構成される。関係型データベースは、データを行と列で格納する。行及び列は、データを格納する前に定める必要のあるテーブルを構成する。テーブルの定義及びこれらのテーブルに含まれるデータ間の関係は、スキーマと称される。関係型データベースは、固定スキーマを用いる。グラフデータベースは、データをノード及びアークの形式で格納することにより、関係型データベースの重要な拡張を表す。ここで、ノードはエンティティ又はインスタンスを表し、アークは任意の２個のノード間の特定種類の関係を表す。無向グラフでは、ノードＡからノードＢへのアークは、ノードＢからノードＡへのアークと同じであると考えられる。有向グラフでは、２つの方向は別のアークとして扱われる。
【００６４】
グラフデータベースは、概して２つの主な種類に分類できる広範な種類の異なるアプリケーションで用いられる。第１の種類は、知的意思決定支援及び自己学習のようなクラス記述子の大規模な集合体（「知識ベースアプリケーション」と称される）を有する複雑な知識ベースシステムを有する。第２の種類は、社会的データ及びビジネスインテリジェンスのようなトランザクションデータに対するグラフ検索の実行を含むアプリケーション（「トランザクションデータアプリケーション」と称される）を有する。多くのアプリケーションは、両方の種類を表し得る。しかしながら、大部分のアプリケーションは、主に知識ベース又はトランザクションデータアプリケーションのいずれかで特徴付けられ得る。グラフデータベースは、種々の分野の膨大な構造化又は非構造化データを格納できる大規模な「意味ネットワーク」を維持するために用いることができる。意味ネットワークは、知識表現の形式として用いられ、コンセプトを表すノード及びコンセプト間の意味関係を表すアークを有する有向グラフである。
【００６５】
幾つかの種類のグラフ表現がある。グラフデータは、多次元アレイとして又は他のシンボルにリンク付けされたシンボルとしてメモリに格納されても良い。別の形式のグラフ表現は、各々指定された種類のオブジェクトの有限シーケンス又は順序付きリストである「タプル」の使用である。ｎ個のオブジェクトを含むタプルは、「ｎタプル」として知られる。ここで、ｎは零より大きい任意の非負整数である。長さ２のタプル（２タプル）は、通常、ペアと呼ばれる。３タプルはトリプルと呼ばれ、４タプルはクワドラプルと呼ばれ、以降同様である。
【００６６】
ＲＤＦ（Resource  Description  Framework）は、概念記述又は意味ネットワークの標準である情報のモデル化のための一般的方法である。今日利用可能なＲＤＦデータの量は、増大しており、既に単一のサーバに格納することが不可能である。膨大な量のデータを格納し検索可能にするために、データは複数のサーバに保持されなければならない。データの追加、削除及び検索は、分散システムのために特注されたアルゴリズム及びデータ構造を用いて協調的方法で行われなければならない。コンピュータ的に効率的にデータの検索、保守及び操作を可能にするような方法でグラフデータを格納することが望ましい。
【００６７】
任意で、トリプルは、ＲＤＦ（Resource  Description  Framework）トリプルであっても良い。本願明細書を通じて、「ＲＤＦトリプル」への特定の参照が行われるとき、それはＲＤＦ標準に準拠するトリプルの例示的形式であることが理解されるべきである。さらに、「トリプル」への参照は、問題のトリプルがＲＤＦトリプルである可能性を有する。
【００６８】
ＲＤＦ（Resource  Description  Framework）は、概念記述又は意味ネットワークの標準である情報のモデル化のための一般的方法である。意味ネットワークにおける情報のモデル化の標準化は、共通の意味ネットワークで動作するアプリケーション間の相互接続性を可能にする。ＲＤＦは、ＲＤＦスキーマ（ＲＤＦＳ）をＲＤＦ内の語彙を記述するための言語として提供することにより、一義的な形式意味論と共に語彙を保持する。
【００６９】
トリプルは、グラフデータを複数の主語−述語−目的語の表現として特徴付けることにより、グラフデータのエンコードを提供する。この文脈では、主語及び述語は、グラフデータのグラフノードであり、オブジェクト、インスタンス又はコンセプトのようなエンティティであり、述語は、主語と目的語の間の関係の表現である。述語は、目的語への特定の種類のリンクを提供することにより、主語に関する何かを断言する。例えば、主語は、（例えば、ＵＲＩを介して）ウェブリソースを示しても良く、述語はリソースの個々の特性、特徴又は状況を示し、目的語は、該特性、特徴又は状況のインスタンスを示す。言い換えると、トリプルステートメントの集合は、元来、方向性グラフデータを表す。ＲＤＦ標準は、このようなトリプルの形式化された構造を提供する。
【００７０】
任意で、トリプルの１又は複数の要素のうちの各々は（要素は、述語、目的語又は主語である）、ＵＲＩ（Uniform  Resource  Identifier）である。ＲＤＦ及び他のトリプルの形式は、識別するものの概念（つまり、オブジェクト、リソース又はインスタンス）を前提として、ＵＲＩのようなウェブ識別子を用い、それら識別される「もの」を簡易な特性及び特性値の観点で記述する。トリプルの観点では、そのトリプルのウェブリソースの具体化において、主語はエンティティを記述するウェブリソースを特定するＵＲＩであっても良く、述語は特性の種類（例えば、色）を特定するＵＲＩであっても良く、目的語は問題のエンティティに起因する特性の種類の特定のインスタンスを指定するＵＲＩであっても良い。ＵＲＩの使用は、トリプルに、個々の特性及び値と同様に、リソースを表すノード及びアークのグラフのようなリソースに関する簡易なステートメントを表すことを可能にする。ＲＤＦグラフは、SPARQLプロトコル及びＲＤＦクエリ言語（SPARQL）を用いて問い合わせることができる。SPARQLは、World  Wide  Web  ConsortiumのRDF  Data  Access  Working  Group  (DAWG)により標準化され、主要なセマンティックウェブ技術と考えられている。SPARQLは、クエリがトリプルのパターン、連結、分離、任意のパターンを有することを許容する。
【００７１】
トリプルは、グラフ中の情報を表す単純なデータユニットである。実装に依存して、トリプルは小さいサイズであっても良い。トリプルは、例えばウェブソースに関する情報を表しても良い。DBPediaは、現実世界のエンティティに関する情報を表すオンラインデータ記憶である。以下のＲＤＦトリプルは、本発明の実施形態においてトリプルがデータアイテムに格納され得る形式の例である。以下のＲＤＦトリプルｉ）−ｉｖ）は、http://dbpedia.org/resource/Aristotleにウェブリソースとして格納されたAristotle（現実世界のエンティティ）に関する情報を表す。
【００７２】
i)  "http://dbpedia.org/resource/Aristotle  http://dbpedia.org/ontology/birthPlace  http://dbpedia.org/resource/Stageira"
ii)  "http://dbpedia.org/resource/Aristotle  http://purl.org/dc/elements/１.１/description
\"Greekphilosopher\"@en"
iii)  "http://dbpedia.org/resource/Aristotle  http://www.w３.org/１９９９/０２/２２−rdf−syntax−ns#type  http://xmlns.com/foaf/０.１/Person"
iv)  "http://dbpedia.org/resource/Aristotle  http://xmlns.com/foaf/０.１/name
\"Aristotle\"@en"
各トリプルは、Aristotleに関する特定の情報を表す。例えば、ｉ）は、ＵＲＩ  http://dbpedia.org/resource/Aristotle（主語）により表されるリソースが別のリソースへのリンク、つまりhttp://dbpedia.org/ontology/birthPlaceに定められた関係種類である出生地を定めているリンク（述語）を有し、「出生地（birthplace）」関係により主語にリンク付けられた目的語はＵＲＩ  http://dbpedia.org/resource/Stageiraにより表されるリソースであるという記述を表す。言い換えると、トリプルｉ）は、Aristotleが彼の出生地としてStageiraにリンク付けられるという情報を表す。同様に、トリプルｉｉ）は、ウェブリソース…Aristotle（主語）が記述（述語）として…“Greek  Philosopher”（目的語）にリンク付けられるという情報を表す。同様に、トリプルiｉｉ）は、ウェブリソース…Aristotle（主語）が人（目的語）型のリソース（述語）であるという情報を表す。トリプルｉｖ）は、ＵＲＩ…Aristotleに見付かったウェブリソース（主語）が文字列の目的語「Aristotle」（目的語）に関係「名前（name）」（述語）によりリンク付けられるという情報を表す。述語「名前」は、関連付けられたアクセス制御情報と共に述語オントロジ３０に格納されても良い。
【００７３】
図３は、本発明の実施形態のデータ記憶装置２０に格納される例示的なデータグラフを示す。図３のデータグラフは、データアイテム（トリプル）内に符号化されたデータグラフを述語オントロジデータと結合する。この述語オントロジデータは、別個の専用記憶ユニットに格納されても良い。破線のボックス内の情報は、述語オントロジ内に格納される。ラベル付きリンクのラベル「名前」は、主データグラフに及び述語オントロジ３０の部分として格納される。
【００７４】
図３のデータグラフは、「Ｓ」として識別される主語に関する知識を表す。さらに、データグラフは、述語オントロジ３０からの情報により格納される。この情報は、アクセス制御情報をラベル付きリンクのうちの１つのラベルの属性とする。グラフノードを接続するラベル付き矢印は、接続されるグラフノード間のラベル付きリンクを表し、ラベルはラベル付きリンクのラベル又は述語である。２つのグラフノード間の各ラベル付きリンクは、それらのグラフノード間の関係を表し、関係の特性／型／名前は、ラベルにより定められる。（尖った角又は丸い角を有する）ボックスは、グラフノードを表す。データグラフ内で定められる各関係では、矢印の宛先グラフノードは、ラベル付きリンクの目的語であり、始点グラフノードはラベル付きリンクの主語である。ボックス内部のテキストはデータ値を表し、ラベルもデータ値を表す。データグラフを符号化するデータアイテムは、３つのデータ値（又は３つのデータエレメントの値）を有する。１つは主語グラフノードのデータ値、１つは目的語グラフノードのデータ値、及び主語グラフノードと目的語グラフノードとの間のラベル付きリンクのラベルのデータ値である。
【００７５】
述語オントロジの部分を形成するデータは、グラフノードではなくラベルであるラベル付きリンクの始点にあるデータエレメントにより主データグラフから構造的に区別される。この意味で、ラベル自体は、述語オントロジ３０のグラフノードであると考えられるが、主データグラフの文脈ではラベルである。
【００７６】
使用例として、クエリモジュール１２は、主語「Ｓ」の全ての特性をサブセットとして指定するクエリを受信しても良い。クエリモジュール１２は、データ記憶装置２０に問い合わせ、以下の４つのデータアイテムを得る。
【００７７】
S,  class,  Person
S,  name,  Dave
S,  has,  HiV
S,  insured,  False
これら４つのデータアイテム（又はそれらのコピー）は、予備クエリ結果として抑制モジュール１４へ転送される。抑制モジュール１４は、（抑制モジュール１４の外部であっても良い又は抑制モジュールのコンポーネントとして設けられても良い）述語オントロジ３０に、ラベル付きリンクのラベルの各々と共に問い合わせ、該ラベルの属性であるアクセス制御情報について調べる。
【００７８】
ラベル「class」、「has」、「insured」の場合、クエリ応答はヌルである。したがって、これらのラベルの属性である、述語オントロジ３０に格納されたアクセス制御情報は存在しない。したがって、これらのラベルを含むデータアイテムは、抑制モジュール１４によるアクセス制御の対象ではない。他方で、「name」の場合には、クエリは、アクセス制御情報「Private」を返す。抑制モジュール１４は、（例えば、ポリシ情報ポイントにより供給される）ルールを格納し、識別子「Private」を用いて、ラベルが識別子「Private」に属するデータアイテムに適用すべきアクセス制御ルールを得る。アクセス制御ルールは、アクセス制御情報の一例である。一例として、ルールは、「ラベル＝Privateの場合、クエリ結果からデータアイテムを削除する」であっても良い。
【００７９】
したがって、抑制モジュール１４は、アクセス制御情報に従って予備クエリ結果の改訂バージョンを生成するよう構成される。したがって、改訂バージョンには、データアイテム「S,  name,  Dave」は現れない。抑制モジュール１４は、クエリが受信されたエンティティに応答してクエリ結果として、以下を出力するよう構成される。
【００８０】
S,  class,  Person
S,  has,  HiV
S,  insured,  False
図３のデータが問い合わせられる更なる使用例として、以下の疑似クエリにより表されるクエリがクエリモジュール１２により受信される。
【００８１】
{    (s?  insured  False)    &&
(s?  has  HiV)    &&
(S?  name  D*)}  count−>１
つまり、未知の主語に関する３つの条件が満たされる場合、カウントは１だけ増大する。アクセス制御情報がデータアイテムは「Private」であると示す場合に抑制モジュール１４が適用するよう構成されるルールは、実装に依存する。この例では、「Private」として指定されたラベルを有するデータアイテムのデータ値はクエリ結果に含まれないが、該データアイテムは、カウントをコンパイルする際に依然として使用可能である。したがって、出力クエリ結果は「１」である。予備クエリ結果はクエリにより指定されたデータアイテムを含み、抑制モジュール１４は、カウント及びデータアイテムに関する他の情報をコンパイルするよう構成される。代替で、如何なるラベルも予備クエリ結果に含まれず、如何なるアクセス制御情報も検索されず、及びカウントは予備クエリ結果に現れる形式で出力されるので、カウントはクエリモジュール１２によりコンパイルされても良い。
【００８２】
次の利用例では、図３のデータが再び問い合わせられる。この場合、特定のデータ値、つまり、特性「insured  false」、「has  HiV」を有する任意の主語の識別子、及びラベル「name」を有するラベル付きリンクにより該主語にリンク付けされた目的語グラフノードが、クエリ内で要求される。クエリは、以下の疑似クエリにより表される。
【００８３】
{    (s?  insured  False)    &&
(s?  has  HiV)    &&
(s?  name  o?)  }
クエリモジュール１２により組み立てられ及び抑制モジュール１４に出力される予備クエリ結果は、「S  Dave」である。
【００８４】
ラベルに属するアクセス制御情報に従う抑制に加えて、全ての予備クエリ結果に適用される汎用フィルタリングルールがあっても良い。例えば、次の通りである。
【００８５】
[１]  If  (s?  class  Person)  suppress  s?
このルールは次のように解釈できる。ラベル「class」を有するラベル付きリンクにより「Person」にリンク付けされた主語が問い合わせられる場合、該主語のデータ値をクエリ結果から抑制する。フィルタリングルール［１］が予備クエリ結果「S  Dave」に適用された場合、予備クエリ結果の改訂バージョンは、「Dave」になるだろう。
【００８６】
代替又は追加で、フィルタリングルールは、ラベルの属性であるアクセス制御情報に依存して生成され得る。例えば、以下のフィルタリングルールを検討する。
【００８７】
[２]  If  (s?  class  Person)  suppress  o?  where  {(s?  p?  o?)  &&  (p?  access  Private)}
このルールは次のように解釈できる。ラベル「class」を有するラベル付きリンクにより「Person」にリンク付けされた主語が問い合わせられる場合、アクセス制御情報「Private」が述語（ラベル付きリンクのラベル）の属性であるデータアイテムの目的語データ値を抑制する。したがって、「name」は属性がアクセス制御情報「Private」であるラベルなので、条件は満たされ、ラベル「name」によりリンク付けされた目的語グラフノードのデータ値は、改訂バージョンを生成する際に予備クエリ結果から抑制されるべきである。フィルタリングルール［２］が予備クエリ結果「S  Dave」に適用された場合、予備クエリ結果の改訂バージョンは、「S」になるだろう。
【００８８】
フィルタリングルールの第３の例として、情報の匿名化、ランダム化、又はハッシュの可能性を検討する。
【００８９】
[３]  If  (s?  class  Person)  hash  s?
このルールは次のように解釈できる。ラベル「class」を有するラベル付きリンクにより「Person」にリンク付けされた主語が問い合わせられる場合、該主語グラフノードを表すデータ値を予備クエリ結果からハッシュする。予備クエリ結果が「S  Dave」である本使用例では、予備クエリ結果の改訂バージョンは「(#  of  S)  Dave」になるだろう。
【００９０】
第４の例は、前述のフィルタリングルールの減速を結合する。本例では、「private」特性がクエリ結果に含まれている場合に実行される抑制は、アクセス制御情報「Private」を属性に持つラベル付きリンクによりリンク付けされた目的語グラフノードのデータ値をハッシュすることであり、該データ値を予備クエリ結果から完全に削除するのではない。
【００９１】
[４]  If  (s?  class  Person)  suppress  o?  [o?  =  “true”]  where  {(s?  p?  o?)  &&  (p?  access  Private)}
このルールは、フィルタリングルール［２］と同様に解釈できる。但し、ルール［４］では、抑制モジュール１４は、o?を完全に削除するのではなく、o?の実際のデータ値を所定の固定値（「true」）で置き換えることにより、クエリ結果からo?を抑制するよう指示される点を除く。フィルタリングルール［４］を予備クエリ結果「S  Dave」に適用すると、改訂予備クエリ結果「S  true」を生成するだろう。
【００９２】
更なる例として、フィルタリングルールは結合できる。例えば、以下のフィルタリングルールを検討する。
【００９３】
[５]  If  [１]  and  [２]
これは、フィルタリングルール［１］及び［２］が適用されることを要求していると解釈できる。フィルタリングルール［５］を予備クエリ結果「S  Dave」に適用した結果は、「」になるだろう。つまり、予備クエリ結果からの両方の値が、出力改訂バージョンから削除されるだろう。
【００９４】
格納データが単一データベースではなく連合データベースである実装では、等価な複数のラベル名が同じアクセス制御情報の属性であっても良い。図３の例では、特性「name」が存在しないが、「first_name」及び「family_name」が存在する連合した例である。述語オントロジ３０は、アクセス制御情報「Private」を有するラベル「first_name」及び「family_name」の一方又は両方を格納しても良い。代替で、述語オントロジ３０は、等価リンクにより又はサブクラスリンクにより、「first_name」及び／又は「family_name」を「name」にリンク付けしても良い。等価リンク及びサブクラスリンクのいずれも、「name」からのアクセス制御情報の継承を示す。
【符号の説明】
【００９５】
１０  格納データアクセス制御装置
１２  クエリモジュール
１４  抑制モジュール
２０  データ記憶装置
３０  述語オントロジ
１２０  データベース
【図１】
2015133097.tif 000003
【図２】
2015133097.tif 000004
【図３】
2015133097.tif 000005
【図４】
2015133097.tif 000006