JP2014526082A - 自動化されたリレーショナルクエリのためのデータドリブンナチュラルインターフェイス - Google Patents

自動化されたリレーショナルクエリのためのデータドリブンナチュラルインターフェイス Download PDF

Info

Publication number
JP2014526082A
JP2014526082A JP2014518568A JP2014518568A JP2014526082A JP 2014526082 A JP2014526082 A JP 2014526082A JP 2014518568 A JP2014518568 A JP 2014518568A JP 2014518568 A JP2014518568 A JP 2014518568A JP 2014526082 A JP2014526082 A JP 2014526082A
Authority
JP
Japan
Prior art keywords
data
query
data set
data sets
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014518568A
Other languages
English (en)
Inventor
マクファーソン,ジョナサン
ルイス,ロデリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014526082A publication Critical patent/JP2014526082A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2423Interactive query statement specification based on a database schema

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

自動化されたリレーショナルクエリのためのデータドリブンナチュラルインターフェイスが提供される。複数のデータセットが、容易に選択可能な方法で表面上に表示される。別の表面へのデータセットの選択及び移動を検出すると、移動されたデータは他の表面上に提示される。別のデータセットの他の表面への選択及び移動を検出すると、移動されたデータセット間の結合パスが計算され、データセットが結合され、結果が他の表面上に表示される。システムは、新しいデータセットが他の表面へと移動されるときに新たに選択されたデータを既存のデータと結合し続けて、クエリをテストしたり実行したりする必要なしに、クエリの結果がユーザーの目の前で形になることを可能にする。

Description

本発明は、自動化されたリレーショナルクエリのためのデータドリブンナチュラルインターフェイスに関する。
[0001]現在の技術は、ユーザーのさまざまな要求を満たすために、出先での迅速なコンピューティングを可能にしてきた。技術の進歩は、携帯デバイスなどのさまざまなプラットフォームにわたって集積回路に浸透してきた。技術は、自動車などの機械の有用性を拡大してきた。技術的拡張はシステムの複雑さの増加につながっている。複雑さの増加は、一般的な日常のタスクや情報の消費においてさらなる多様性をもたらした。多様な世界では、デバイスのグローバルネットワークは、文明においてこれまで経験したことのない、増大し続ける速度でデータベースに格納された情報を生成し、消費し続ける。
[0002]従来のデータベースクライアントでは、ユーザーは、特定のクエリを使用してデータベーステーブルとインタラクトし、データベーステーブルを組み合わせることができる。標準化された構文が、ユーザーの要求に応じてデータセットを組み合わせるためにクエリを構築するために利用される。しかし、複雑なデータベーステーブルの組み合わせの要求はデータベースエキスパートユーザーリソースに負荷をかける。限られたデータベースエキスパートユーザーの利用可能性は、下流のプロジェクトの進捗に影響を与え、生産性を低下させることがある。
データ中心の世界では、データ消費者の需要がそのような要求を受け入れるための事務処理能力(business capacity)を上回る場合には、特定のデータドリブンソリューションを提供することは、事業の存続に影響を与えることがある。
[0003]この概要は、詳細な説明で以下にさらに説明される概念の選択を簡略化した形で紹介するために提供される。この概要は、特許請求される主題の重要な特徴又は不可欠な特徴を排他的に特定するよう意図されるものではなく、特許請求される主題の範囲を決定する際の助けとしても意図されない。
[0004]実施例は、自動化されたリレーショナルクエリのためのデータドリブンナチュラルインターフェイス(natural interface)を提供することに関する。アプリケーションは、表面(サーフェス、surface)上に簡単に選択可能な方法で複数のデータセットを表示することができる。別の表面に対するデータセットの選択及び移動を検出すると、移動されるデータは、他の表面上に提示されてもよい。他の表面に対する別のデータセットの選択及び移動を検出すると、移動されるデータセット間の結合パスを計算することができ、データセットが結合され、結果が当該他の表面に表示される。いくつかの実施例によれば、システムは、新しいデータセットが他の表面へと移動されるときに新たに選択されたデータを既存のデータと結合し続けて、クエリをテストしたり実行したりする必要なしに、クエリの結果がユーザーの目の前で形になることを可能にすることができる。
[0005]これら及び他の特徴及び利点は、以下の詳細な説明を読み、関連する図表面を検討することで明らかになるであろう。前述の一般的説明及び以下の詳細な説明の両方が説明のためのものであり、特許請求される態様を制限しないことを理解すべきである。
[0006]クライアントアプリケーションにおいてリレーショナルクエリを自動的に構成して実行するためのデータドリブンナチュラルインターフェイスを使用するシステムの例示的なコンポーネントを示す図である。 [0007]リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスの例示的なアクション図を示す。 [0008]いくつかの実施例による、リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスを提供する例を示す。 いくつかの実施例による、リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスを提供する例を示す。 いくつかの実施例による、リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスを提供する例を示す。 [0009]実施例によるシステムを実施することができるネットワーク化された環境である。 [0008]実施例を実施することができる例示的なコンピューティング動作環境のブロック図である。 [0011]実施例による、リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスを使用するプロセスの論理フロー図を示す。
[0012]簡単に上述したように、データドリブンナチュラルインターフェイスは、リレーショナルクエリを自動的に作成するためにクライアントアプリケーションで使用することができる。複数のデータセットが表面(サーフェス、surface)上に表示されてもよい。データセットは、表面から他の表面へのデータセットのドラッグを検出すると、別の表面上に表示することができる。他の表面への別のデータセットのドラッグを検出すると、ドラッグされたデータセット間で結合動作が実行されて、手動の介入やクエリ構築なしに、他の表面上に結果が提示されてもよい。以下の詳細な説明では、本明細書の一部を形成する添付の図面が参照され、特定の実施例又は例が例として示される。これらの態様は、組み合わされてもよく、他の態様が利用されてもよく、本開示の趣旨や範囲から逸脱することなく構造的な変更を行うことができる。したがって、以下の詳細な説明は、限定的な意味に解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲及びその均等物によって定義される。
[0013]実施例は、コンピューティングデバイス上のオペレーティングシステム上で動作するアプリケーションプログラムと共に実行するプログラムモジュールの一般的な文脈で説明されるが、当業者は、態様が他のプログラムモジュールと組み合わせて実施されてもよいことを認識するであろう。
[0014]一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データ型を実施する、ルーチン、プログラム、コンポーネント、データ構造、及び他のタイプの構造を含む。さらに、当業者であれば、実施例が、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベース又はプログラム可能な家庭用電化製品、ミニコンピューター、メインフレームコンピューター、及び同等のコンピューティングデバイスを含む他のコンピューターシステム構成で実施できることを理解するであろう。実施例はまた、タスクが通信ネットワークを介してリンクされるリモート処理デバイスによって実行される分散コンピューティング環境で実施することができる。分散コンピューティング環境において、プログラムモジュールは、ローカル及びリモートのメモリーストレージデバイスの両方に配置することができる。
[0015]実施例は、コンピューターにより実施されるプロセス(方法)、コンピューティングシステム、又はコンピュータープログラム製品やコンピューター読み取り可能な媒体などの製品として実施することができる。コンピュータープログラム製品は、コンピューターシステムによって読み取り可能であり、コンピューター又はコンピューティングシステムに例示的なプロセスを実行させるための命令を含むコンピュータープログラムを符号化する、コンピューター記憶媒体であってもよい。コンピューター読み取り可能な記憶媒体は、持続性のコンピューター読み取り可能な記憶デバイスである。例えば、コンピューター読み取り可能な記憶媒体は、1つ又は複数の揮発性コンピューターメモリー、不揮発性メモリー、ハードドライブ、フラッシュドライブ、フロッピー(登録商標)ディスク、コンパクトディスク、及び同等の物理的記憶媒体を介して実施されてもよい。
[0016]本明細書を通して、「プラットフォーム」という用語は、リレーショナルクエリを構成するためのデータドリブンナチュラルインターフェイスを利用するソフトウェア及びハードウェアコンポーネントの組み合わせであってもよい。プラットフォームの例は、限定はしないが、複数のサーバーを介して実行されるホストされるサービス、単一のサーバー上で実行されるアプリケーション、及び同等のシステムを含む。「サーバー」という用語は、一般に、典型的にはネットワーク化された環境内で1つ又は複数のソフトウェアプログラムを実行するコンピューティングデバイスを指す。しかし、サーバーはまた、ネットワーク上のサーバーと見なされる1つ又は複数のコンピューティングデバイス上で実行される仮想サーバー(ソフトウェアプログラム)として実施されてもよい。これらの技術及び動作例についての詳細は以下に提供される。
[0017]いくつかの実施例によるユーザーインターフェイスは、実施例による2ペイン(two-pane)インターフェイスであってもよい。ペインは互いに隣接していてもよい。ペインは調整可能な分割線(ディバイダー、divider)で分割されてもよい。ペインのうちの1つは、データベースからのデータテーブルなどのデータセットを示してもよい。データセットは個々の記録によってポピュレートすることができる。ユーザーインターフェイスを管理するアプリケーションは、データベースに格納されたデータセットの全てがペインに収まるようにデータセットのサイズをスケーリング(拡大縮小)することができる。アプリケーションはまた、データセットがペインに収まることを可能にするためにスクロール可能なデータテーブル構造を表示してもよい。あるいは、アプリケーションは、ユーザーが、表示されるべき数だけのデータセットを選択することを可能にしてもよい。一例では、アプリケーションは、ドロップダウンメニューなどの選択コントロールにデータセット名をロードし、ペインに表示するデータセット名をユーザーがクリックすることを可能にしてもよい。他の実施例では、データセットを表示するための表面が、任意の形状又はサイズを有していてもよい。例えば、選択されるべきデータセットを表示するための第1の表面が境界ペイン(bound pane)であってもよい一方で第2の表面は選択されたデータセットを表示していてもよく、結合の結果はデスクトップ上の位置であってもよい。
[0018]さらに、実施例は、データベースからデータセットを取得することに限定されない。データセットを保持するデータストアは、データセット内のデータレコードを格納する任意のエンティティであってもよい。このようなデータストアは、ファイル、データサービス、データサーバーなどの集合を含んでもよい。例示的なデータストアは、拡張可能マークアップ言語(XML)ファイルの集合であってもよい。他の例は、リレーショナルデータベースサービス及びオブジェクト指向データベースサービスを含んでもよい。データベースの例は、限定的な意味で提供されるものではなく、他の実施例を含むことができる。
[0019]実施例は、リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスを可能にする。データドリブンナチュラルインターフェイスは、クエリ構築義務をユーザーからデータベースへシフトすることができる。ユーザーは、クエリを書くことなしに所望のデータセットを単に選択して結合することが可能である。データベースは、クエリの実行とデータセットの提示などの従来のデータベース機能に加えて、クエリの構築を担当することができる。明細書及び特許請求の範囲全体を通してクライアントアプリケーションとデータベースが参照されるが、実施例は、特定のクライアントアプリケーションやデータベースに限定されない。任意のアプリケーションとデータストアを使用して本明細書に記載の原理を適用することができる。
[0020]図1は、クライアントアプリケーションにおいてリレーショナルクエリを自動的に構成して実行するためのデータドリブンナチュラルインターフェイスを使用するシステムの例示的なコンポーネントを示す図である。100において、サーバーは、クライアントに情報サービスを提供するデータストアなどのデータベース102をホストすることができる。例示的なナチュラルユーザーインターフェイスは、ユーザーに、データベース102内の格納されたデータセットを提示することができる。データベース102は、データセットを検索するためのクエリなどの要求を受け取って実行してもよい。1つの例示的な実施例では、クエリはSQLクエリ言語構文で提供されてもよい。
[0021]いくつかの実施例は、クエリを書く必要なしにデータセットの結合に基づくジェスチャーを可能にする。データベース102をホストするサーバーはデータセット内にレコードを格納することができる。クライアントアプリケーション106は、表面(ユーザーインターフェイス)上にデータテーブルなどのデータセットを表示することができる。ユーザーは、別の表面にデータセットをドラッグアンドドロップすることができる。ユーザーが他の表面へと別のデータセットをドラッグアンドドロップすると、クライアントアプリケーション106はデータベース102からの結合されたデータセットを要求してもよい。要求は結合クエリ(join query)の形であってもよい。データベース102は、どのデータセットを結合するかなどの要求のパラメーターに基づいて結合クエリを構築することができる。あるいは、クライアントアプリケーション106は、クエリを構築し、結合されたデータセットの要求としてデータベース102にクエリを送信することができる。
[0022]ネットワーク104は、ローカルネットワークであってもよいし、インターネットベースのインフラストラクチャーなどの外部のエンティティであってもよい。これは有線又は無線接続を提供することができる。クライアントアプリケーション106及びデータベース102は、セキュアでない又はセキュアな接続を介して互いに接続することができる。セキュアな接続の例は、クライアント及び暗号化通信を利用したデータサービスの間で確立される仮想プライベートネットワーク(VPN)である。
[0023]代替的な実施例では、データベース102は、リモート又はローカルのデータベースとすることができる。ローカルデータベースは、クライアントアプリケーションを実行するシステムにとって利用可能な、CPU、メモリー、ストレージリソースなどのローカルコンピューティングリソースに限定されてもよい。リモートデータベースは、コンピューティングリソースに関して制限がより少なくてもよく、ローカルでないコンピューティングリソースを利用することができる。しかし、リモートデータベースを利用する場合、全体的なシステムは、ネットワーク待ち時間について最適化されなければならないことがある。あるいは、クライアントアプリケーション106は、データベース102をクライアントアプリケーションのコンポーネントとしてホストすることができる。実施例は、クライアント/サーバーアーキテクチャーやピアツーピアアーキテクチャーに限定されるものではない。クライアントアプリケーションにおいてリレーショナルクエリを構成するためのデータドリブンナチュラルインターフェイスの使用は、他のアーキテクチャーを使用して達成することができる。
[0024]図2は、リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスの例示的なアクション図である。アプリケーション210は、第1の表面上で、データベース230から取得したデータセットを表示することができる。第1の表面は、任意の形状及び形態であってもよい。アプリケーションは表示可能な第1の表面に合うようにデータセットのサイズを変更することができる。データセットは複数のレコードを格納することができる。各レコードはデータ行に含まれてもよい。各データ行は、さらに、個々のデータセルに分割されてもよい。データセルはデータ列と呼ばれるデータセットのエンティティに属していてもよい。グリッド内の各データ列は、データセットの属性を表すことができる。リレーショナルデータベース内のデータセットの共通の属性は主キー(primary key)である。主キーは、データ行を参照するために使用される一意の数字である。リレーショナルデータベース内の別の共通のエンティティは外部キー(foreign key)である。外部キーは、データセットと他のデータセットとの間の関係を作成するために、他のデータセットからの主キーを格納する。
[0025]ユーザーは、アプリケーション210を係合することにより、200において動作を開始することができる。アプリケーションは、第1の表面上でデータベース230からのデータセットを表示していてもよい。第1の表面は分割線によって第2の表面から分離されてもよいし、表面はユーザーのデスクトップ上の別個の位置にあってもよい。アプリケーション210は、第1の表面から第2の表面上への第1のデータセットのドラッグアンドドロップなどの第1のユーザーアクションを検出することができる(212)。アプリケーションは、第1のユーザーのアクションが完了すると、第2の表面上にデータセットのレコードを表示してもよい。
[0026]次に、アプリケーション210は、第1の表面214から第2の表面への第2のデータセットのドラッグアンドドロップなどの第2のユーザーアクションを検出することができる。第2のユーザーアクションを検出すると、アプリケーション210は、第1及び第2のデータセットを結合するためにクエリを構成して実行するようにデータベース230に要求することができる(216)。データベース230は、要求を実行し、組み合わされたデータセットをアプリケーション210に送信することができる。アプリケーション210は、第2の表面上で第1のデータセットの最初の表示に上書きされる組み合わされたデータセットを表示することができる(218)。また、アプリケーションは、クエリを表示して、組み合わせたデータセットにおいて表示されるレコードを変更するために、ユーザーがクエリとインタラクトすることを可能にしてもよい。
[0027]リレーショナルクエリを作成するための説明されるデータドリブンナチュラルインターフェイスは説明の目的のためものである。他のデータドリブンナチュラルインターフェイスがリレーショナルクエリを構成して実行するために使用されてもよい。さらに、データベース(例えばリレーショナルデータベース、オブジェクト指向データベース、スプレッドシートアプリケーション、ウェブサービス、XMLファイル等)は、通信可能に接続されたサービスの代わりに、コンピューティングデバイス自体の上で実行されるアプリケーションによって格納されてもよい。例えば、第1の表面から2つのデータセットを第2の表面に組み合わせるユーザーアクションは、ローカルに格納されたデータベースからの組み合わせられたデータセットの取得を引き起こしてもよい。
[0028]図3Aから図3Cは、いくつかの実施例による、リレーショナルクエリを自動的に構成して実行するためのデータドリブンナチュラルインターフェイスを提供する例を示す。図3Aは、リレーショナルクエリを構成するための2つの表面を有する例示的なユーザーインターフェイスを表示する。第1の表面310は2つのデータセット「製品」データテーブル312及び「オーダー」データテーブルを表示する。第2の表面330は、分割線320によって第1の表面310から分割される。
[0029]第1の表面310は、第2の表面330に隣接して配置することができる。第1の表面は第2の表面の左に配置されてもよい。あるいは、第1の表面は、第2の表面の上に配置されてもよいし、ユーザーのデスクトップ上の別の場所に配置されてもよい。他の実施例では、第1及び第2の表面の位置は、メニュー内の位置切り替えボタンや切り替えオプションをクリックするなどの別のユーザーアクションによって切り替えることができる。さらに、第1及び第2の表面の位置は、画面サイズなどの所定のデバイス設定によって切り替えてもよい。モバイルデバイス上の画面サイズの制限は、複雑なデータセット結合動作をユーザーが達成することを可能にするために第2の表面により大きな画面スペース(screen estate)を割り当てるかどうかを決定することができる。
[0030]図3Bは第1のユーザーアクションを示す。ユーザーは、第1のデータテーブル312から第1のデータ列を選択することにより、第1のユーザーアクションを達成することができる。ユーザーは、第1のデータ列から、「名前」などの第1のデータヘッダーをつかんで移動することができる(334)。ドラッグアンドドロップが完了すると、アプリケーションは、第2の表面上にデータセット332の内容を表示してもよい。あるいは、ユーザーは、行に対応する主キーをつかんで移動することによってレコードの行をドラッグアンドドロップすることを選択してもよい。さらに別の例では、ユーザーは単一のデータセルをつかんで移動してもよい。第1のデータセットの例は、データ列、行又はセルに限定されず、各々の単数又は複数の組み合わせであってもよい。
[0031]さらに、第1のユーザーアクションが完了すると、第2の表面は、第2の表面上に表示される第1のデータセットを取得するためにデータベースによって実行されるクエリをリアルタイムで表示してもよい。アプリケーションは、ユーザーがクエリを変更し、第2の表面上に得られたデータセットをリアルタイムで表示することを可能にしてもよい。
[0032]図3Cにおいて、アプリケーションは、第2の表面上に第2のデータセットをドラッグアンドドロップする第2のユーザーアクションを検出することができる。第1のユーザーのアクションと同様に、ユーザーは、「オーダー」データテーブルからデータセットをドラッグアンドドロップすることができる(338)。データセットは、データセル、データ行、又はデータ列であってもよい。第2のユーザーアクションは、第1の表面から第2の表面へと第2のデータセットをドラッグするために第2のデータ列(例えば、「数量」)の第2のデータヘッダーをつかんで移動することであってもよい。ドラッグアンドドロップアクションは、選択されたデータセットを、第1の表面上に既にある第1のデータセットの隣に又は単に第1の表面上の任意の場所に移動させることを含んでもよい。
[0033]ドラッグアンドドロップアクション338が完了すると、アプリケーションは組み合わされたデータセット336を要求してもよい。データベースは、組み合わせるデータテーブル及び列の名前を含み得る要求の詳細に従ってクエリを生成し実行することができる。データベースは、第2のデータセットにおいて第1のデータセットの外部キー上で第1のデータセットを第2のデータセットと結合する一対多結合タイプのクエリを実行してもよい。代替的な実施例では、第1及び第2のデータセットの役割を逆にしてもよく、データベースは、第1のデータセットにおいて第2のデータセットの外部キー上で第1のデータセットを第2のデータセットに結合する多対一結合タイプのクエリを実行してもよい。さらに別の実施例では、第1及び第2のデータセットは、他の外部キーを有していなくてもよい。このようなシナリオでは、データベースは、結合パスを第1のデータセットから第2のものへと作成することができる中間テーブルのセットを見つけることを試み、それが見つかった場合にこの結合パスを使用してもよい。このようなパスが見つからない場合には、第2のデータセットの各要素との第1のデータセットの各要素についての行列を作成することによって、第1のデータセットを第2のデータセットと結合する多対多結合タイプのクエリを実行してもよい。クエリタイプの決定は、データセットの選択及びデータセットが互いにどのように関連するかに依存してもよい。組み合わされたデータセットのクエリは、第2の表面上に第1の表面からデータセットをドラッグアンドドロップする任意のユーザーアクションに関連して、リアルタイムで第2の表面上に表示されてもよい。
[0034]実施例は、第1及び第2のユーザーのアクションに限定されない。クライアントアプリケーションは、第1の表面から他のデータセットを第2の表面へとドラッグアンドドロップすることによって新たな組み合わされたデータセットを表示するために、ユーザーがさらなるユーザーアクションを達成することを可能にしてもよい。クライアントアプリケーションは、さらなるユーザーアクションが完了すると新たな再結合されたデータセットを表示するために、新しい組み合わされたデータセットと新しいクエリを要求することができる。
[0035]上述のシナリオは例示的な実施例として提供される。他のシナリオを、本明細書で説明する原理を使用してクライアントアプリケーション内でリレーショナルクエリを自動的に構成して実行するためのデータドリブンナチュラルインターフェイスを提供するために使用することができる。
[0036]図4は、実施例を実施することができる例示的なネットワーク化された環境である。データサービスは、1つ又は複数のサーバー414又はホストされたサービスなどの単一サーバー(例えばウェブサーバー)416を介して実行されるソフトウェアを介して提供することができる。プラットフォームは、ネットワーク410を介して、スマートフォン413、ラップトップコンピューター412、又はタブレットコンピューター411(「クライアントデバイス」)などの個々のコンピューティングデバイス上のクライアントアプリケーションと通信することができる。
[0037]上述したように、クライアントアプリケーションは、リレーショナルクエリを構成するためのデータドリブンナチュラルインターフェイスを可能にすることができる。データセットは、クライアントデバイス411−413上でドラッグアンドドロップのユーザーアクションによって組み合わせることができる。データセットを組み合わせるためのクエリは、組み合わされたデータセットとともに表示することができる。ユーザーは、組み合わされたデータセットを変更するためにクエリを変更できるようにされてもよい。
[0038]前述のように、クライアントデバイス411−413は、リモートサーバー(例えばサーバー414のうちの1つ)上で実行されるアプリケーションへのアクセスを可能にしてもよい。サーバーは、直接的に又はデータベースサーバー418を介して、データストア419との間で、関連するデータを取得又は格納することができる。
[0039]ネットワーク410は、任意のトポロジーのサーバー、クライアント、インターネットサービスプロバイダー、及び通信媒体を含むことができる。実施例によるシステムは、静的又は動的トポロジーを有してもよい。ネットワーク410は、企業ネットワークなどのセキュアなネットワーク、無線オープンネットワークなどのセキュアでないネットワーク、又はインターネットを含んでもよい。ネットワーク410はまた、公衆交換電話網(PSTN)やセルラーネットワークなどの他のネットワークを介して通信を調整することができる。さらに、ネットワーク410は、Bluetooth(登録商標)又は同様のものなどの短距離無線ネットワークを含むことができる。ネットワーク410は、本明細書に記載のノード間の通信を提供する。例として、限定はしないが、ネットワーク410は、音響、RF、赤外線及び他の無線媒体などの無線媒体を含むことができる。
[0040]多くの他の構成のコンピューティングデバイス、アプリケーション、データソース、データ配信システムが、リレーショナルクエリを構成して実行するためのデータドリブンナチュラルインターフェイスのために用いることができる。さらに、図4で説明されるネットワーク化された環境は説明の目的だけのためのものである。実施例は、例示的なアプリケーション、モジュール又はプロセスに限定されるものではない。
[0041]図5及び関連する説明は、実施例を実施できる適切なコンピューティング環境の簡潔で一般的な説明を提供することを意図している。図5を参照すると、コンピューティングデバイス500などの、実施例による用途のための例示的なコンピューティング動作環境のブロック図が示される。基本構成では、コンピューティングデバイス500は、少なくとも1つの処理ユニット502及びシステムメモリー504を含むことができる。コンピューティングデバイス500はまた、プログラムを実行する際に協働する複数の処理ユニットを含むことができる。コンピューティングデバイスの正確な構成及びタイプに応じて、システムメモリー504は、(RAMなどの)揮発性、(ROM、フラッシュメモリーなどの)不揮発性、又はその2つの何らかの組み合わせであってもよい。システムメモリー504は、典型的には、ワシントン州レドモンドのマイクロソフト社のWINDOWS(登録商標)オペレーティングシステムなどの、プラットフォームの動作を制御するのに適したオペレーティングシステム505を含む。システムメモリー504はまた、プログラムモジュール506、ユーザーインターフェイスモジュール522、データインターフェイスモジュール524などの1つ又は複数のソフトウェアアプリケーションを含んでもよい。
[0042]ユーザーインターフェイスモジュール522は、データプレゼンテーション、計算、分析、及び同様のサービスを提供するサービスの一部であってもよい。データインターフェイスモジュール524は、ユーザーインターフェイスモジュール522によって提示されるある表面から別の表面へのデータセットについてのユーザー選択及び移動に応答してデータセットを取得するために、データベースとインタラクトすることができる。両方のモジュールを管理するアプリケーションは、データセットを組み合わせて、組み合わされたデータセットを生成したクエリを表示してもよい。この基本的な構成は、点線508内でそれらのコンポーネントによって図5に示される。
[0043]コンピューティングデバイス500は、さらなる特徴又は機能を有してもよい。例えば、コンピューティングデバイス500はまた、例えば、磁気ディスク、光ディスク、又はテープなどのさらなるデータ記憶デバイス(取り外し可能及び/又は取り外し不能)、を含むことができる。このようなさらなる記憶装置が、取り外し可能なストレージ509及び取り外し不能なストレージ510によって図5に示されている。コンピューター読み取り可能な記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータなどの情報の記憶のための、任意の方法又は技術で実施される揮発性及び不揮発性、取り外し可能及び取り外し不能な媒体を含むことができる。コンピューター読み取り可能な記憶媒体は持続性のコンピューター読み取り可能な記憶デバイスである。システムメモリー504、取り外し可能ストレージ509及び取り外し不能なストレージ510は、すべて、コンピューター読み取り可能な記憶媒体の例である。コンピューター読み取り可能な記憶媒体は、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリー又は他のメモリー技術、CD−ROM、デジタル多用途ディスク(DVD)又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができ、コンピューティングデバイス500によってアクセスすることができる、他の任意の媒体を含む。任意のこのようなコンピューター読み取り可能な記憶媒体は、コンピューティングデバイス500の一部であってもよい。コンピューティングデバイス500はまた、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、及び同等の入力デバイスなどの入力デバイス512を有していてもよい。ディスプレイ、スピーカー、プリンター、及び他のタイプの出力デバイスなどの出力デバイス514もまた含まれてもよい。これらのデバイスは、当技術分野において周知であり、ここで詳細に説明する必要はない。
[0044]コンピューティングデバイス500はまた、分散コンピューティング環境における無線ネットワーク、衛星リンク、セルラーリンク、及び同等の機構を介するなどして、デバイスが他のデバイス518と通信することを可能にする通信接続516を含んでもよい。他のデバイス518は、通信アプリケーション、ストレージサーバー、及び同等のデバイスを実行するコンピューターデバイスを含んでもよい。通信接続516は通信媒体の一例である。通信媒体は、その中に、搬送波や他の伝送メカニズムなどの変調されたデータ信号でのコンピューター読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータを含んでもよく、任意の情報配信媒体を含む。「変調データ信号」という用語は、情報を信号に符号化するような方法で設定又は変更された1つ又は複数の特性を有する信号を意味する。例として、限定はしないが、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、並びに音響、RF、赤外線及び他の無線媒体などの無線媒体を含む。
[0045]例示的な実施例はまた方法を含む。これらの方法は、本明細書に記載された構造を含む任意の数の方法で実施することができる。1つのそのような方法は、本明細書に記載されるタイプのデバイスの機械動作によるものである。
[0046]別の任意の方法は、動作を実行する1人又はそれ以上の人間のオペレーターとともに実行される方法の個々の動作のうちの1つ又は複数のためのものである。これらの人間のオペレーターは、互いに同じ場所に位置する必要はなく、それぞれがプログラムの一部を実行するマシンを有するにすぎなくてもよい。
[0047]図6は、実施例による、リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスを使用するプロセスの論理フロー図を示す。プロセス600は、任意のコンピューティングデバイス上でローカルにインストールされ又はホストされるアプリケーションによって実施されてもよい。
[0048]プロセス600は動作610で開始することができ、第1の表面から第1のデータセットを第2の表面に移動する第1のユーザーアクションが検出される。動作610に続いて、動作620において第2の表面上に第1のデータセットを表示してもよい。アプリケーションは、動作630において、第1の表面から別のデータセットを第2の表面上に移動する第2のユーザーアクション(例えば、データテーブルからのデータ列のドラッグアンドドロップ)を検出してもよい。
[0049]アプリケーションは、動作640において、移動されるデータセット間の結合パスを計算したり、結合パスを決定するようデータベースに要求したりすることができる。動作650が動作640に続いてもよく、結合動作が実行される。結合動作(クエリ実行)の結果は、動作660において、第2の表面上に表示されてもよい。ユーザーが第2の表面にさらなるデータセットを移動する場合、さらなる結合動作が実行されてもよく(すなわち、クエリが形成され、実行される)、その結果は、動作660と630との間のループによって示されるように、ユーザーからの手動の介入を必要とすることなく表示される。
[0050]いくつかの実施例は、通信モジュール、メモリー、及びプロセッサーを含むコンピューティングデバイスで実施することができ、プロセッサーは、メモリーに格納された命令と関連して、上述した方法や同等のものを実行する。他の実施例は、上述のような方法や同様のものを実行するために格納された命令を有するコンピューター読み取り可能な記憶媒体として実施することができる。
[0051]プロセス600に含まれる動作は例示の目的のためのものである。実施例によるクライアントアプリケーション上でリレーショナルクエリを構成するためのデータドリブンナチュラルインターフェイスは、より少ない又はさらなるステップを有する同様のプロセスで実施することができ、ならびに本明細書に記載の原理を用いて異なる順序の動作で実施することもできる。
[0052]上記の明細書、例及びデータは、実施例の構成の製造及び使用についての完全な説明を提供する。主題は構造的特徴及び/又は方法論的動作に特有の言葉で説明されたが、添付の特許請求の範囲で定義される主題は、必ずしも上述の特定の特徴又は動作に限定されないことを理解すべきである。むしろ、上述の特定の特徴及び行為は、特許請求の範囲及び実施例を実施する例示的形態として開示される。

Claims (10)

  1. リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスを提供するためにコンピューティングデバイスによって少なくとも部分的に実行される方法であって、
    第1の表面上に複数のデータセットを表示するステップと、
    前記第1の表面上の前記複数のデータセットからの第1のデータセットに関連付けられる第1のユーザーアクションを検出するステップと、
    前記第1の表面上の前記複数のデータセットからの第2のデータセットに関連付けられる第2のユーザーアクションを検出するステップと、
    前記第1及び第2のデータセットを組み合わせるためのクエリを構築するステップと、
    前記クエリを実行するステップと、
    前記第1及び第2のデータセット並びに前記クエリの結果を第2の表面上に表示するステップと
    を含む方法。
  2. 前記第1の表面上の前記複数のデータセットからの別のデータセットに関連付けられる別のユーザーアクションを検出するステップと、
    前記他のデータセットを既存のクエリの結果と組み合わせるための新しいクエリを構築するステップと、
    前記新しいクエリを実行するステップと、
    ユーザーが前記クエリを手動でテストし実行することを必要とすることなく、前記新しいクエリの結果を表示するステップと
    を含む請求項1に記載の方法。
  3. 前記第1及び第2のユーザーアクションは、それぞれのデータセットを選択して前記第2の表面に移動することを含む請求項1に記載の方法。
  4. データセットを選択して前記第2の表面に移動することは、ユーザーがデータ列ヘッダーをつかんで前記第2の表面にドラッグすることを可能にすることを含む請求項3に記載の方法。
  5. データセットを選択して前記第2の表面に移動することは、ユーザーが複数のデータセルをつかんで前記第2の表面にドラッグすることを可能にすることを含む請求項3に記載の方法。
  6. 前記クエリを構築するステップは、前記第1及び第2のデータセット間の結合パスを計算するステップを含む請求項1に記載の方法。
  7. 列ヘッダーを有するグリッドの形式で前記複数のデータセットを前記第1の表面上に表示するステップ
    をさらに含む請求項1に記載の方法。
  8. リレーショナルクエリを自動的に構成するためのデータドリブンナチュラルインターフェイスを提供することができるコンピューティングデバイスであって、
    メモリーと、
    前記メモリーに結合され、前記メモリーに格納された命令とともにアプリケーションを実行するプロセッサーであって、前記アプリケーションは、
    第1の表面上に複数のデータセットを表示し、
    前記複数のデータセットからの第1のデータセットを前記第1の表面から第2の表面に移動する第1のユーザーアクションを検出し、
    前記複数のデータセットからの第2のデータセットを前記第1の表面から前記第2の表面に移動する第2のユーザーアクションを検出し、
    前記第1及び第2のデータセットを組み合わせるためのクエリをデータストアに構築させ、
    前記データストアに前記クエリを実行させ、
    前記データストアから前記クエリの結果を受け取り、
    前記第1及び第2のデータセット並びに前記クエリの結果を前記第2の表面上に表示する
    ように構成される、プロセッサーと
    を備えるコンピューティングデバイス。
  9. 前記クエリは、
    前記第2のデータセットにおいて前記第1のデータセットの外部キーについて前記第1のデータセットを前記第2のデータセットと結合する一対多結合クエリ、
    前記第1のデータセットにおいて前記第2のデータセットの外部キーについて前記第1のデータセットを前記第2のデータセットと結合する多対一結合クエリ、及び
    前記第2のデータセットの各要素との前記第1のデータセットの各要素についての行列を作成することによって、前記第1のデータセットを前記第2のデータセットと結合する多対多結合クエリ
    のうちの1つである請求項8に記載のコンピューティングデバイス。
  10. リレーショナルクエリを自動的に構成するデータドリブンナチュラルインターフェイスを提供するための命令が格納されたコンピューター読み取り可能なメモリーデバイスであって、前記命令は、
    列ヘッダーを有するグリッドの形式で複数のデータセットを第1の表面上に表示するステップと、
    前記複数のデータセットからの第1のデータセットを前記第1の表面から第2の表面に移動する第1のユーザーアクションを検出するステップと、
    前記複数のデータセットからの第2のデータセットを前記第1の表面から前記第2の表面に移動する第2のユーザーアクションを検出するステップと、
    前記第1及び第2のデータセット間の結合動作を実行するためのクエリをデータストアに構築させるステップと、
    前記データストアに前記クエリを実行させるステップと、
    前記データストアから前記クエリの結果を受け取るステップと、
    前記第1及び第2のデータセット並びに前記クエリの結果を前記第2の表面上に表示するステップと
    を含むコンピューター読み取り可能なメモリーデバイス。
JP2014518568A 2011-06-29 2012-05-28 自動化されたリレーショナルクエリのためのデータドリブンナチュラルインターフェイス Pending JP2014526082A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/172,627 2011-06-29
US13/172,627 US20130006961A1 (en) 2011-06-29 2011-06-29 Data driven natural interface for automated relational queries
PCT/US2012/039786 WO2013002931A1 (en) 2011-06-29 2012-05-28 Data driven natural interface for automated relational queries

Publications (1)

Publication Number Publication Date
JP2014526082A true JP2014526082A (ja) 2014-10-02

Family

ID=47391652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014518568A Pending JP2014526082A (ja) 2011-06-29 2012-05-28 自動化されたリレーショナルクエリのためのデータドリブンナチュラルインターフェイス

Country Status (6)

Country Link
US (1) US20130006961A1 (ja)
EP (1) EP2727029A4 (ja)
JP (1) JP2014526082A (ja)
KR (1) KR20140041601A (ja)
CN (1) CN103620603A (ja)
WO (1) WO2013002931A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6455466B2 (ja) * 2016-03-02 2019-01-23 京セラドキュメントソリューションズ株式会社 表示操作装置およびプログラム
CN107066482A (zh) * 2016-12-21 2017-08-18 晶赞广告(上海)有限公司 多源数据监测方法、装置及终端
CN106802926B (zh) * 2016-12-21 2019-11-22 上海数据交易中心有限公司 一种多方数据查询系统和方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2711204B2 (ja) * 1992-03-09 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション リレーショナルデータベースのユーザインターフェースを生成する方法
US7054858B2 (en) * 2001-08-01 2006-05-30 Oic Acquisition Corporation System and method for retrieval of objects from object to relational mappings
US7085757B2 (en) * 2003-07-11 2006-08-01 International Business Machines Corporation Abstract data linking and joining interface
AU2004313454B2 (en) * 2003-11-17 2011-05-26 The Bureau Of National Affairs, Inc. Legal research system
US7546291B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Data source task pane
JP2006277497A (ja) * 2005-03-30 2006-10-12 Toshiba Corp 表示制御方法および情報処理装置
CN101401062A (zh) * 2006-02-16 2009-04-01 移动容量网络公司 确定相关来源、查询及合并多个内容来源的结果的方法和系统
US20070260582A1 (en) * 2006-05-05 2007-11-08 Inetsoft Technology Method and System for Visual Query Construction and Representation
US7747562B2 (en) * 2006-08-15 2010-06-29 International Business Machines Corporation Virtual multidimensional datasets for enterprise software systems
US8156107B2 (en) * 2007-02-02 2012-04-10 Teradata Us, Inc. System and method for join-partitioning for local computability of query over shared-nothing clusters
US20080228700A1 (en) * 2007-03-16 2008-09-18 Expanse Networks, Inc. Attribute Combination Discovery
US20090254588A1 (en) * 2007-06-19 2009-10-08 Zhong Li Multi-Dimensional Data Merge
US8860754B2 (en) * 2008-06-22 2014-10-14 Tableau Software, Inc. Methods and systems of automatically generating marks in a graphical view
US8001154B2 (en) * 2008-06-26 2011-08-16 Microsoft Corporation Library description of the user interface for federated search results
KR101781416B1 (ko) * 2010-06-22 2017-09-25 아브 이니티오 테크놀로지 엘엘시 관련 데이터세트의 처리

Also Published As

Publication number Publication date
WO2013002931A1 (en) 2013-01-03
EP2727029A4 (en) 2015-04-29
KR20140041601A (ko) 2014-04-04
US20130006961A1 (en) 2013-01-03
EP2727029A1 (en) 2014-05-07
CN103620603A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
US11949759B2 (en) Adaptive computation and faster computer operation
JP7005600B2 (ja) マイクロバッチストリーミングのための複合イベント処理
US10691299B2 (en) Display of hierarchical datasets using high-water mark scrolling
US10824403B2 (en) Application builder with automated data objects creation
CN105229678B (zh) 进程建模和界面
CN104699742B (zh) 使能扩展大型数据集的极端可视化的方法、系统和产品
JP2019537083A (ja) 電子ドキュメントにおけるヘッダの表示を管理するための技術
US20160092530A1 (en) Cross visualization interaction between data visualizations
JP2016539427A (ja) 多重入力データストリームにわたるパターンマッチング
US20160011911A1 (en) Managing parallel processes for application-level partitions
WO2015017227A1 (en) Three dimensional conditional formatting
EP2994842A1 (en) Recommending context based actions for data visualizations
EP2725503B1 (en) Generic semantic layer for in-memory database reporting
US11860832B2 (en) Custom columns for static logical models
CA2850425A1 (en) Coupled application extensions for collaborative remote application sharing
US9015608B2 (en) Regenerating a user interface area
US10712913B2 (en) Event-based architecture for expand-collapse operations
CA2967994A1 (en) Presentation of content from within spreadsheet application
US10725638B1 (en) System and method for creation of marketing analytic dashboards
US20170212942A1 (en) Database grid search methods and systems
US9965597B2 (en) Collaborative drug discovery system
Raj A detailed analysis of nosql and newsql databases for bigdata analytics and distributed computing
JP2014526082A (ja) 自動化されたリレーショナルクエリのためのデータドリブンナチュラルインターフェイス
US20120159376A1 (en) Editing data records associated with static images
US9400584B2 (en) Alias selection in multiple-aliased animations