JP2016184400A - データのファイルをアップデートするコンピュータ装置、方法、及びコンピュータプログラム - Google Patents

データのファイルをアップデートするコンピュータ装置、方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP2016184400A
JP2016184400A JP2016034431A JP2016034431A JP2016184400A JP 2016184400 A JP2016184400 A JP 2016184400A JP 2016034431 A JP2016034431 A JP 2016034431A JP 2016034431 A JP2016034431 A JP 2016034431A JP 2016184400 A JP2016184400 A JP 2016184400A
Authority
JP
Japan
Prior art keywords
triple
subject
count
file
new
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
JP2016034431A
Other languages
English (en)
Inventor
バット・アイシャ ナスィール
Naseer Butt Aisha
バット・アイシャ ナスィール
照宣 粂
Terunobu Kume
照宣 粂
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2016184400A publication Critical patent/JP2016184400A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】データのファイルをアップデートするコンピュータ装置等を提供する。【解決手段】装置は、サブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造においてそれらを定義するコンパクトフォーマットにおける新しいファイルを用いて、トリプル構造を有するデータのファイルをアップデートするよう構成される。装置は、サブジェクト、プレディケート及びオブジェクトを明示的に含むトリプルを常に挙げる拡張フォーマットへと新しいファイルを変換する前処理を実行し、拡張フォーマットにおけるトリプルを組に分けるフォーマット変換モジュールと、各組のトリプルを数えてトリプルカウントを生成し、ファイル内の同じ組についての前のトリプルカウントと比較し、差がある場合はファイルのデータをアップデートし、そうでない場合はアップデートしない計数及びアップデートモジュールとを有する。【選択図】図2

Description

本発明は、データ、特にLODデータをアップデートする方法に関する。それは、データ管理において広範な技術用途を有する。
オープン・リンクト・データ(LOD)は、様々なソースからのリンクト・データがアプリケーションに利用可能にされるパラダイムである。よって、本書のために、“リンクト・データ”及び“オープン・リンクト・データ”(すなわち、“LOD”)は、事実上同義的に使用されてよい。
LODの核心には、データの意味論的なマークアップを提供する簡単なグラフに基づくデータモデリング言語であるリソース記述フレームワーク(RDF)がある。RDFによれば、LODは、データサイロをつなぎ合わせ、現在の群島様のデータのランドスケープを連結データグラフに変換しようとする。連結データグラフに対しては、複雑なデータ解析及びビジネスインテリジェンスアプリケーションが構築され得る。
グラフデータベースは、ノード及びアークの形でデータを記憶する。ノードは、エンティティ又はインスタンスを表し、アークは、いずれか2つのノードの間の何らかのタイプの関係を表す。無向グラフにおいては、ノードAからノードBへのアークは、ノードBからノードAへのアークと同じであると見なされる。有向グラフにおいては、2つの方向は、相異なるアークとして扱われる。
グラフデータベースは、様々なフィールドにおいて膨大な構造化されたデータ及び構造化されてないデータを記憶することができる大規模な“セマンティックネットワーク”を保持するために使用され得る。セマンティックネットワークは、知識表現の形として使用され、概念を表すノードと、概念間の意味論的な関係を表すアークとから成る有向グラフである。
いくつかのタイプのグラフ表現が存在する。グラフデータは、多次元配列として、又は他のシンボルにリンクされたシンボルとして、メモリにおいて記憶されてよい。他の形式のグラフ表現は、“タプル”の使用である。タプルは、夫々が特定のタイプであるオブジェクトの順序付きリスト又は有限列である。n個の対象物を含むタプルは“nタプル”として知られている。なお、nは、ゼロよりも大きい如何なる負でない整数であることもできる。長さ2のタプル(2タプル)は一般的にペアと呼ばれ、3タプルはトリプルと呼ばれ、4タプルはクアドラプルと呼ばれ、以降続く。トリプルは、最も広く使用されているタプルである。
任意に、トリプルは、リソース記述フレームワーク(RDF)トリプルであってよい。リソース記述フレームワーク(RDF)は、情報の概念的な記述又はモデリングのための一般法を具現するスキーマであって、セマンティックネットワークのための標準である。それは、多種多様な方法において表され得る。図1は、RDFデータモデルが、マシン処理に有効である拡張マークアップ言語XML符号化と、推論に有効であるトリプルと、人が見るのに有効であるグラフとを如何にして包含するのかを示す。
本書を通して、“RDFトリプル”への具体的な言及がなされる場合に、それは、RDF表現に従うトリプルの例となる形であることが理解されるべきである。更には、“トリプル”への言及は、問題となっているトリプルがRDFステートメントである可能性を含む。
トリプルは、複数のサブジェクト(主語)−プレディケート(述語)−オブジェクト(目的語)表現としてグラフデータを特徴付けることによって、グラフデータの符号化を提供する。それに関連して、サブジェクト及びオブジェクトは、グラフデータのグラフノードであり、そのようなものとして、エンティティ、対象物、インスタンス、又は概念であり、プレディケートは、サブジェクトとオブジェクトとの間の関係の表現である。プレディケートは、オブジェクトへの特定のタイプのリンクを提供することによって、サブジェクトに関する何らかのものをアサートする。例えば、サブジェクトはウェブリソース(例えば、統一資源識別子(URI)を介する)を表してよく、プレディケートはリソースの特定の特性、特徴、又は側面(場合により、URIも)を表し、オブジェクトはその特性、特徴、又は側面のインスタンス(場合により、URIも)を表す。すなわち、トリプルステートメントの一群は、有向グラフデータを本質的に表現する。RDF標準は、そのようなトリプルのための様式化された構造を提供する。
Notation3(すなわち、N3)は、そのシンタックスがXMLと本質的に等価でありながら、記述及び理解がより容易である簡易言語である。N3は、RDFモデルを拡張するいくつかの特徴を有しており、RDF実施に制限されない。
N3のいくつかのバージョンは、読むことをより容易にすること及び/又は表現することをより短くすることができる“シンタックスシュガー”又は“ショートカットシンタックス”を含む。例えば、同じサブジェクトに関していくつかのステートメントがある場合に、コンパクトフォーマットを与えるための2つのショートカットが存在する。セミコロン(又は新しい行)は、同じサブジェクトの他のプロパティを導入することができ、コンマは、同じプレディケート及びサブジェクトを有して他のオブジェクトを導入することができる。そのようなショートカットは、このフォーマットの読みやすさ及び書きやすさを支援する。
N3に関する更なる情報のために、読者は、“Notation3 (N3): A readable RDF syntax”(http://www.w3.org/TeamSubmission/n3/)及び“Primer: Getting into RDF & Semantic Web using N3”(http://www.w3.org/2000/10/swap/Primer.html)を参照される。
トリプルを使用する言語の他の例は、タートル(Turtle)(Terse RDF Triple Language)である。実際に、タートルは、N3の簡易なRDF専用のサブセットであって、トリプルの部分を省略して、コンパクトフォーマットを有することができる。
Nトリプル(N-Triple)は、Notation3及びタートルよりも簡単なフォーマットであるよう設計された代替のフォーマットであり、従って、ソフトウェアがパース及び生成するのがより容易である。しかし、それは、他のRDFシリアライゼーションによって提供されるショートカットのいくつかを欠いているので、Nトリプルは、多大なデータを手で打ち込むことを煩わしくすることがあり得、そして、このフォーマットは、読むのが困難であり得る。Nトリプルにおいては、ファイルの各行は、コメント又はステートメントのいずれかの形を有する。Nトリプルのステートメントは、余白によって分けられた3つの部分、すなわち、サブジェクト、プレディケート及びオブジェクトから成り、ピリオドにより終了される。Nトリプルは、サブジェクト、プレディケート又はオブジェクトを省略することができる(よって、コンパクトフォーマットを有することができる。)。
上記のRDFのXML符号化(RDF−XML)は、機械読み出しに有効であって、やはりコンパクトフォーマットを有することができるフォーマットである。例えば、それは、同じサブジェクトが新しいトリプルにおいて繰り返される場合にサブジェクトを再記述することを省略することができる。
LODデータセットに対してバルクアップデートを行うことは、困難なタスクであり、(数十億のトリプルに関する)膨大なデータに起因して途方もない時間を必要とする。これは、トリプルごとに特定のデータセットをアップデートするのに最大数日間を要することがあり得るので、システムの性能を妨げる。ほとんどの場合に、全てのトリプルが当初のバージョンからアップデートすることを必要とするわけではない。おそらくは、ほんの1つか2つのみがアップデートされる必要がある。故に、明らかに、トリプルストアにおいて必要とされるアップデートは、それを達成するのに必要とされる処理の量と比べて非常に小さくてよい。しかし、特に、上記の様々なフォーマットを考えると、アップデートすることを必要とする特定のトリプルのみに関する情報を見出す解決法は目下ない。
"Notation3 (N3): A readable RDF syntax",[Online],インターネット(http://www.w3.org/TeamSubmission/n3/) "Primer: Getting into RDF & Semantic Web using N3",[Online],インターネット(http://www.w3.org/2000/10/swap/Primer.html)
本発明の一態様の実施形態は、各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするよう構成されるコンピュータ装置を提供する。従って、ファイルは、N3のバージョンにあってよく、例えば、コンパクトフォーマットを提供するよう個々のトリプルにおいてサブジェクト及び/又はオブジェクト及び/又はプレディケートを省略することができる。省略は、例えば、同じサブジェクト及び/又はプレディケート及び/又はオブジェクトを有する2つの以上のトリプルを結合するショートカットシンタックスを用いて、よりコンパクトな形でありながら、完全なトリプルと同じ情報を持ち続けることによって、達成されてよい。
当該コンピュータ装置は、トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行し、前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割するよう構成されるフォーマット変換モジュールと、夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成し、夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較し、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしないよう構成される計数及びアップデートモジュールとを有することができる。
当該コンピュータ装置は、前記コンパクトフォーマットにおける前記新しいファイルを得るよう構成されるクローラーモジュールを更に有してよい。
当該コンピュータ装置は、例えばPCのようなローカルコンピュータ、又はサーバであってよく、例えば、ウェブクローラーを用いて、インターネット上で前記新しいファイルにアクセスしてよい。前記新しいファイルは、単一のファイルとして、あるいは、(それどころか)様々なファイル及び/又は場所において、LODクラウドに記憶されてよい。アップデートされるファイルは、ローカルに又は外部に(例えば、クラウドに)記憶されてよい。それは、望ましくは、前記拡張フォーマットに既にある。
前記ファイルの前記コンパクトフォーマット及び前記変換された(明示的な)フォーマットは、上記の定義に適合する如何なるフォーマットであってもよい。いくつかの実施形態では、両方のフォーマットは、N3又はRDF−XMLタイプのフォーマットである。ファイルの両方のバージョンは、同じ言語にある必要がある。
前記トリプルカウントは、トリプル又はそれらのコンテンツの如何なる適切なカウントであってもよい。望ましくは、1つの組についてのトリプルカウントは、同じサブジェクトに関連する、よって、1つの組における、トリプルの数である。各トリプルは、3つのURI(1×サブジェクト;1×プレディケート;1×オブジェクト)から構成されてよい。同じサブジェクトに関連する1つよりも多いプレディケート又はオブジェクトがある場合は、それは別のトリプルであり、+1をカウントされるべきである。いくつかのそのようなトリプルは、本質的に同じサブジェクトを有しており、その特定のサブジェクトについて組を構成する。トリプルカウントは、単に、トリプルの総数である。行ごとに1つのトリプルがある場合は、行の数が数えられ得る。ある組についてのトリプルカウントは、同じサブジェクトを有するその組内のトリプルの総数である。
望ましくは、前記前のトリプルカウントは、トリプルカウントストアにおいて保持される。前記トリプルカウントは、前記ファイルにおける組にあらゆるアップデートを反映させるよう(例えば、処理されている組がアップデートされると、又は全てのアップデートの後)アップデートされてよい。これは、トリプルカウントストアが、アップデートされたファイルと合わせられることを可能にする。アップデートされたファイルは、ファイルを置換するよう記憶されてよい。
前記拡張フォーマットを(ショートカットシンタックスの知識を用いて)提供するよう変換/変更され得る前記コンパクトフォーマットには様々なショートカットが存在し得る。変換のための特定のファイルは、それらのショートカットのいずれか又は全てを含んでよく、よって、以下で詳述される変換の確認及び修正のいずれか又は全ては実行されてよい。また、前記変換が更に無効にすることができる前記フォーマットのコンパクト性に関連しない他の潜在的な問題(例えば、重複又は略記)が存在することがある。従って、たとえ前記新しいファイルがコンパクトフォーマットにないとしても、そのような問題を解消するためにフォーマット変換モジュールを用いることには多少の利点が存在し得る。
一実施形態において、例えば、新しい行及び/又はセミコロンが同じサブジェクトについて新しいプレディケート及びオブジェクトを導入する場合に、前記変換は、省略されたサブジェクトを確認、修正する。この場合に、修正は、サブジェクトが省略されている場合に該サブジェクトを加えることであってよい。
他の実施形態において、例えば、コンマが同じサブジェクト及びプレディケートを有して2つ以上のオブジェクトを分ける場合に、前記変換は、複数のオブジェクトを確認、修正する。この場合に、修正は、複数のオブジェクトの夫々を別の行に入れ、同じサブジェクト及びプレディケートをそれに加えることであってよい。
他の実施形態において、例えば、新しい行が、同じ行において(且つ同じサブジェクト及びプレディケートを有して)2つ以上のオブジェクトが続く同じサブジェクトについての新しいプレディケートを導入する場合に、前記変換は、サブジェクトがない1つの行において複数のオブジェクト目的語を確認、修正する。この場合に、修正は、各オブジェクトを別の行に入れ、同じサブジェクト及び新しいプレディケートをそれに加えることであってよい。
他の実施形態において、前記変換は、同じサブジェクトのインスタンスが1つ以上の他のサブジェクトのインスタンスによって分けられるフォーマットを確認、修正する。この場合に、修正は、(例えば、組への分割の前に)サブジェクトによって前記ファイルをソート(し、組への分割の処理を容易に)することであってよい。
他の実施形態において、前記変換は、重なり合ったトリプル(同じトリプルの2つ以上のインスタンス)を確認、修正して、該トリプルが、夫々の組についての前記新しいトリプルカウントをその組についての前記前のトリプルカウントと比較する前に、1つの残りのトリプルを残すよう捨てられるようにする。
当該コンピュータ装置は、ローカルで記憶され得るアップデートされるべき前記ファイル(又はデータセット)との比較のために前記新しいファイル(又はデータセット)をダウンロードするよう構成されてよい。
本発明の他の態様の実施形態は、各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするようコンピュータにより実施される方法を提供する。
当該方法は、トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行する工程と、前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割する工程と、夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成する工程と、夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較する工程と、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしない工程とを有してよい。
当該方法の終わりに、前記アップデートされたファイルは記憶されてよく、前記新しいファイルは捨てられてよい。
本発明の他の態様の実施形態は、コンピュータで実行される場合に、該コンピュータに、各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするようコンピュータにより実施される方法であって、トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行する工程と、前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割する工程と、夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成する工程と、夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較する工程と、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしない工程とを有する方法を実行させるコンピュータプログラムを提供する。
1つよりも多いコンピュータプログラムは、方法を実行するよう提供されてよい。例えば、コンピュータプログラムの組は、前記フォーマット変換モジュールを提供するプログラムと、前記計数及びアップデートモジュールを提供するプログラムとを含んでよい。
本発明は、デジタル電子回路構成において、若しくはコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実施され得る。本発明は、1つ以上のハードウェアモジュールによる実行のために、又はその動作を制御するために、コンピュータプログラム又はコンピュータプログラムプロダクト、すなわち、情報担体において、例えば、機械により読み出し可能な記憶デバイスにおいて又は伝搬信号において有形に具現されているコンピュータプログラムとして、実施され得る。コンピュータプログラムは、スタンドアローンのプログラム、コンピュータプログラム部分、又は1つよりも多いコンピュータプログラムの形をとることができ、コンパイルされた又は解釈された言語を含む如何なる形式のプログラミング言語においても記述され得、そして、それは、スタンドアローンのプログラムとして、又はデータ処理環境での使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとしてを含め、如何なる形においても展開され得る。コンピュータプログラムは、一箇所で1つのモジュール又は複数のモジュールにおいて実行されるよう展開されるか、あるいは、複数の場所にわたって分配されて、通信ネットワークによって相互接続され得る。
本発明の方法ステップは、入力されたデータに対して作用して、出力を生成することによって本発明の機能を実行するようコンピュータプログラム(複数を含む。)を実行する1つ以上のプログラム可能なプロセッサによって実行され得る。本発明の装置は、例えば、FPGA(field programmable gate array)又はASIC(application-specific integrated circuit)を含め、プログラムされたハードウェアとして又は特別目的の論理回路構成として実施され得る。
コンピュータプログラムの実行に適したプロセッサには、一例として、汎用及び専用の両方のマイクロプロセッサと、あらゆる種類のデジタルコンピュータのあらゆる1つ以上のプロセッサとがある。一般に、プロセッサは、読出専用メモリ(ROM)若しくはランダムアクセスメモリ(RAM)又はその両方から命令及びデータを受信する。コンピュータ装置の必須の要素は、命令を及びデータを記憶する1つ以上のメモリデバイスへ結合されて命令を実行するプロセッサである。
テストスクリプト及びスクリプトオブジェクトは、様々なコンピュータ言語において生成され得る。プラットフォームと無関係の言語、例えば、拡張マークアップ言語(XML)においてテストスクリプト及びスクリプトオブジェクトを表すことは、種々のタイプのコンピュータプラットフォームで使用され得るテストスクリプトを提供することができるようにする。
本発明は、特定の実施形態に関して記載される。他の実施形態は、特許請求の範囲の適用範囲内にある。例えば、本発明のステップは、異なった順序で実行され、依然として望ましい結果を達成することができる。複数のテストスクリプトバージョンは、オブジェクト指向のプログラミングテクノロジを用いずに一体として編集され、呼び出され得る。例えば、あるスクリプトオブジェクトの要素は、構造化されたデータベース又はファイルシステムにおいて編成され得、そのスクリプトオブジェクトによって実行されるものとして記述されている動作は、テスト制御プログラムによって実行され得る。
本発明の好適な実施形態に従う方法は、上記の装置態様の如何なる組み合わせも有することができる。あらゆる実施形態に従う方法は、それらがプロセッシング及びメモリ機能を必要とする点で、コンピュータにより実施されるものとして記載され得る。
好適な実施形態に従う装置及びその機能モジュールは、特定の機能を実行するよう構成又は配置されるものとして記載される。この構成又は配置は、ハードウェア若しくはミドルウェア又はあらゆる他の適切なメッソドロジの使用によってよい。好適な実施形態において、構成又は配置はソフトウェアにより、モジュールはソフトウェアモジュールである。
更なる態様に従って、コンピュータ装置又はシステムにロードされる場合に、該装置を、上記の方法の定義のいずれか又はそれらのいずれかの組み合わせに従う方法ステップを実行するよう構成するプログラムが提供される。
一般に、記載されるハードウェアは、定義されている機能を提供するよう構成又は配置されるものとして挙げられているモジュールを有してよい。例えば、このハードウェアは、装置(ローカルハードウェア装置)をインターネット/クラウドへ接続するメモリ、プロセッシング、及び通信回路構成を含んでよい。
本発明の要素は、語「モジュール」を用いて記載されてよい。当業者に明らかなように、この語及びそれに対応する語は、空間的に別々でありながら、定義されている機能を提供するよう組み合わさる装置の部分を指してよい。同様に、システムの同じ物理部分は、定義されている機能の2つ以上を提供してよい。例えば、別々に定義されているモジュールは、必要に応じて同じメモリ及び/又はプロセッサを用いて実施されてよい。
本発明の制限されない且つ例となる実施形態は、これより、添付の図を参照して記載される。
RDFデータモデルの図式的概観である。 本発明の実施形態の概要を示すフローチャートである。 本発明の実施形態に従うシステムを示す略ハードウェア図である。 本発明の実施形態のモジュール図である。 本発明の実施形態に従うフォーマット変換メカニズムのフローチャートである。 具体的なステップを用いてトリプル計数メカニズムを示すフローチャートである。 本発明の実施形態に従うLODデータセットのスマートアップデートの例である。
本発明の実施形態は、データセット、例えば、リンクト・オープン・データ(LOD)クラウドにおけるデータセットのスマートアップデートを実行するコンピュータ装置、方法及びコンピュータプログラムを提供することができる。URI/トリプルの計数は、スマートアップデートを可能にする方法として開示される。
実施形態は、データセットのアップデートを行う前に如何なる新しい(又は削除された)トリプルも強調するようデータセット内のトリプルのURIに基づく計数を行うために、2つの技術的態様を扱うことができる。
以下の記載は、N3ファイルに関するが、解決される必要がある起こり得るフォーマッティング問題、及び/又はより率直若しくは明快なシンタックスを用いて表現されるファイルとの容易な比較のために変換を必要とする“シンタックスシュガー”を含む他のフォーマットに同様に適用可能である。
本発明の実施形態は、3つの重要な機能を使用することができる:
・フォーマット変換−N3フォーマットされたファイルにおける如何なるフォーマット問題も処理し、ファイルを確認してN3フォーマッティングルール(コンピュータが記憶しているか又はアクセス可能であるべき。)により略記の意味を認識し、如何なる省略された部分も補完する(付け加える)こと。
・URIに基づくトリプルの計数−古いN3ファイルと新しいN3ファイルとを比較して差を評価すること。
・部分アップデート機能−カウントの差がゼロでないトリプルのみをアップデートすること。
重要な革新のいくつかは、様々な本発明の実施形態の以下の態様において理解され得る。
実施形態は、N3フォーマット(又は他のフォーマット)のファイルのフォーマット変換を可能にするメカニズムを提供してよい。実施形態は、効率的なアップデートを確かにするようトリプルのURIに基づく計数を可能にするメカニズムを提供してよい。最後に、実施形態は、LODデータセットの部分アップデートを可能にし及び/又は(アップデートされるべき古いデータセット及び新しいデータセットの2つのカウントの間の)差がない場合に‘アップデート無し’を提案するメカニズムを提供してよい。
本発明者は、最先端における次の効率の悪さを確認している。
・いくつかのN3フォーマットされたファイル(及び他の言語における同等のもの)に対してトリプルを数えることは困難である。
・多くのデータベースをアップデートするために使用される現在のバルクアップデートは必要とされないことがある。
・効率的なアップデートは、大容量のデータを扱う場合に必要とされる。
本発明者は、トリプルのURIに基づく又はトリプルカウントに基づくアップデートが適切であり得るとの認識にたどり着いた。
図2は、本発明の概略の実施形態のフローチャートである。実施形態は、ウェブリンクを用いてローカルで実行されてよい。実施形態は、新しいファイルを読み込む。ステップS10で、コンパクトフォーマットを完全なリストに拡張する前処理が行われる。このステップは、更に、フォーマットがコンパクトであろうとなかろうと、例えば、繰り返されるトリプルのような、不正な形式のデータを削除することもできる。
ステップS20で、拡張/訂正されたファイルは、サブジェクトを単位として組に分けられる。ステップS30で、組ごとのトリプルカウントが得られる。例えば、第1のサブジェクト(すなわち、ファイル内の第1の組)についてのURIの数が数えられる。
ステップS40で、第1の組についての新しいトリプルカウントは、(古い)ファイル内のその組についての前のカウントと比較される。ステップS50で、カウントが同じであるかどうかが判定され、そうである場合は、ファイル及び新しいファイルにおける組は同じであると考えられるので、データアップデートは行われない。この場合に、プロセスはステップS70を続け、検討する組を次の組へインクリメントするか、あるいは、処理されるべき組がそれ以上ない場合は方法を終了する。ステップS50においてカウントが異なる場合は、ステップS60において、データファイルにおいてその組についてのみデータアップデートが行われ、次いで、プロセスはステップS70を続ける。
この実施形態のわずかの変更において、計数及びアップデート処理の全体がまとまって組ごとに実行されるのではなくむしろ、組ごとの数は、比較及び起こり得るアップデートが組ごとに実行され得る前に数えられてよい。
図3は、本発明の実施形態に従うシステムを示す略ハードウェア図である。コンピュータ装置10は、LODスマートアップデートを実行することができるモジュールを設けられている。装置は、LODクラウド20として示されているインターネット/クラウドへ接続するとともに、キーボード/GUIなどを介したユーザ入力を可能にし且つディスプレイ上の出力及び結果の他の出力を可能にするよう、メモリ、プロセッシング、及び通信回路構成(図示せず。)を含む全ての標準的な機能性を具備する。
コンピュータは、WAN30として示されているネットワークを介してLODクラウド20へLODデータセット(この場合にN3ファイル)の複数の要求を送信し、見返りとしてファイルを受信する。
図4は、本発明の実施形態のモジュール図である。モジュールは、LODスマートアップデートを提供するよう装置10を用いて実行されるソフトウェアモジュールである。スマートアップデートモジュール40は、フォーマット変換モジュール50と、トリプル計数及びデータセットアップデートモジュール60とを含む。クローラーモジュール70は、最新のN3ファイルの要求をLODクラウド20へ送信し、提供された最新のN3ファイルをスマートアップデートモジュール40へ転送する。N3ファイルは、フォーマット変換モジュール50に読み込まれる。フォーマット変換モジュール50は、メモリ80において示されているN3フォーマットされたファイルを生成する。N3フォーマットされたファイルは、トリプル計数及びデータセットアップデートモジュール60に読み込まれる。このファイル内の組ごとのトリプルカウントは、メモリ90において示されている既存のN3フォーマット変換されたファイルの組ごとのトリプルカウントと比較され、既存のファイルデータセットは、トリプルカウントの違いに応じて、必要な場合にのみアップデートされる。アップデート後に、新しいファイルは捨てられてよく、アップデートされた既存のファイルは必要に応じてローカルで記憶されてよい。
次の項は、前処理/変換機能並びにトリプル計数及びデータセットアップデート機能の詳細を与える。
[フォーマット変換−計数のための前処理]
いくつかのN3フォーマットされたファイルに対してトリプルを数えることは困難であり得る。従って、計数の前に、本発明の実施形態は、N3フォーマットされたファイルにおける如何なるフォーマット問題も解決するという意味において前処理を行うことができる。
フォーマット変換機能は、N3フォーマットルールを用いて表記の意味を認識するようファイルを確認し、省略された部分を補完(復元)する。この補完の後、ファイルは、サブジェクトを単位としてソートされ、一意のトリプルを確認され、次いで、トリプルは数えられ得る。
N3(及び他)フォーマットされたファイルにおいて起こり得る様々な技術的課題(例えば、省略、不適切な順序付け、及び重複の形をとる。)が存在する。そのいくつかは、完全なトリプルを提供する解決法とともに、以下で表1において詳述される。表1は、簡単のために、N3表記自体を用いずに課題を明示する。
トリプルを表すために使用される略記はSN−サブジェクト数N、P−プレディケート数N、及びO−オブジェクト数Nである。なお、Nは整数カウンタである。読者は、そのような略記が理解の容易のために実際のデータの代わりに使用されること、及び実際のファイルが、例えば、@接頭辞(prefix) 名前空間(namespace) セクション(section)のような、更なる特徴を含む可能性が高いことを理解するであろう。N3文法により近いリテラルオブジェクトを含むトリプルのための略記システムは、<URI><URI>“ON”であってよい。
Figure 2016184400
一実施形態に従って前処理を行う具体的なモジュールを用いたフォーマット変換メカニズムのフローは、図5において示される。フローチャートは、課題1から課題4(以下で記載されるモジュールa)からd)に対応。)の順序において先に挙げられた課題を示すが、確認は如何なる順でも行われ得る。
アップデート動作が行われる前にN3フォーマットされたファイルの前処理を実行する4つのモジュールa)からd)が示されている。それらのモジュールは、次のようである:
a)サブジェクト補間モジュール(課題1)
N3フォーマットは、次の行において同じサブジェクトが使用される場合に、そのサブジェクトの省略を許す。従って、このモジュールは、前の行のサブジェクトを、そのサブジェクトが省略されている如何なるトリプルにも加える。
b)オブジェクト分離モジュール(課題2)
N3フォーマットは、1つの行における2つよりも多いオブジェクトの書き込みを許す。従って、このモジュールは、各オブジェクトを別の行に入れ、元の行と同じようにその別の行に同じサブジェクト及びプレディケートを加える。
c)サブジェクトソートモジュール(課題3及び4)
サブジェクトソートモジュールは、サブジェクトがない1つの行において2つのオブジェクトを区別する。
課題3では、サブジェクトS2は見当たらず、O3及びO4は単一の行にある。それは、課題1及び課題2とは異なる問題であり、別個に扱われる(図示せず。)。
N3フォーマットは、ファイル内のどこでも同じサブジェクトを書き込むことを許す。従って、このモジュールはサブジェクトによってソートし、それにより、同じサブジェクトを持った全てのトリプルはまとまる。サブジェクトソートモジュールは、課題3又は課題4のどちらか一方が検出された後に使用されるが、トリプル確認モジュール(以下に記載)は、課題4のためにのみ使用される。
d)トリプル確認モジュール(課題4)
データは、ときどき、繰り返されるトリプルのような、不正な形式のデータを含む。従って、このモジュールは、そのようなデータを検出し、斯様な不正な形式のデータを削除する。
[トリプル計数及びデータセットアップデート]
本発明の実施形態は、データセット(N3ファイル)の古いバージョン及び新しいバージョンを比較し、同じサブジェクトを持ったURIを探す。そのようなURIは数えられ、古いファイルにおけるURIと比較される。
実施形態は、データセットファイルの古いバージョンからのトリプルの数を保持するローカルのメタデータストアを使用してよい。カウント数が同じである場合は、ポインタは、次のサブジェクトを持ったURIへ動かされ、アップデートは行われない。しかし、カウント数が増加又は減少する場合は(図6を参照)、アップデート機能は、その特定のサブジェクトに関連した夫々のトリプルを読み出して確認し、それらのトリプルを書き換える(アップデートする)。
LODデータセットのためのアップデートを実行することができる具体的なモジュールによるトリプル計数メカニズムのフローは、図6において示される。ステップS100で、N3フォーマット変換されたファイルは、ローカルメモリにおけるストアから読み出される。ステップS110で、同じサブジェクトを持ったURIの次の組はフェッチされる(例えば、S1)。ステップS120で、プロセスは、その組における行を数える。ステップS130で、新しいカウントは、トリプルカウントストアからの同じサブジェクトについての古いトリプルカウントと比較される。ステップS140で、カウントに差があるかどうかに関する質問がなされる。そうである場合は、プロセスは、ステップS150で、特定の組におけるトリプルの組のアップデートと、トリプルカウントストアにおけるその組についてのトリプルカウントのアップデートとを続け、次いで、次の組の検索(図示せず。)が続き、あるいは、それが最後の組である場合は終了する。差がない場合は、プロセスはステップS110へ戻り、次の組を検索し、それが最後の組である場合は終了する(図示せず。)。
トリプルカウントメタデータストアは、古いN3ファイルと新しいN3ファイルとの間で総数を比較するために使用されることが図6から分かる。特定のトリプルをアップデートした後、トリプル計数モジュールは、トリプルカウントメタデータストアもアップデートする。
LODデータセットのためのスマートアップデートの例は、図7において表される。図7は、N3ファイルの部分の2つのバージョン、すなわち、古いバージョン及び新しいバージョンを表す。
ファイルの古いバージョンは、サブジェクトS1を持ったURIについての5つのトリプルと、サブジェクトS2を持ったURIについての4つのトリプルとを有している。システムは、カウントメタデータトリプルストアにおいて、古いN3ファイルからのサブジェクトS1を持ったトリプルの数、この例では、5(図7を参照)を既にセーブしている。システムが新しいN3ファイルを読み出し、サブジェクトS1を持ったトリプルの総数を比較する場合に、それはカウントの差を探す。
この例では、図7は、新しいN3ファイルにおけるサブジェクトS1を持ったトリプルの数が6であって、古いN3ファイルにおけるトリプルの総数と異なることを示す。2つのファイルからのトリプルのカウントには差があるので、システムは、サブジェクトS1を持ったそのようなトリプルのみによりデータセットを更新する要求を生成する(S1,P6,O6が加えられる。)。図7に示されるように、サブジェクトS2を持ったトリプルに関しては、カウントの差は、古いN3ファイルと新しいN3ファイルとの間でゼロであり、どちらのファイルも同数のトリプル(この例では、それは4である。)を有する。従って、アップデートは行われない。この実施形態において斯様なトリプルを識別するために、
同じサブジェクトを持ったトリプルのカウントの数
異なるサブジェクトを持ったトリプルのカウントの数
を活用することによって、トリプルが新たに加えられる場合を判断することが不可欠である。
更には、システムは、同じサブジェクトを持ったトリプルのURIカウントに基づきLODデータセットの部分アップデートを行うことが可能である。方法は、データセットN3ファイルの古いバージョン及び新しいバージョンにおける差を考慮し、次いで、必要に応じてアップデートを実行する。
本発明の実施形態は、次の利点をもたらすことができる。
ユーザ便益:
・ユーザは、より短時間でLODデータセットに対してバルクアップデートを行うことができる。
・ユーザは、データセット全体をアップデートする必要がなく、変更されたトリプルのみをアップデートする。
技術的利点:
・本発明のメッソドロジは、LODデータセットのためのデータアップデート動作の猛烈な加速を提供する。
・システムの性能の改善。
上記の実施形態に加えて、以下の付記を開示する。
(付記1)
各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするよう構成されるコンピュータ装置であって、
トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行し、前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割するよう構成されるフォーマット変換モジュールと、
夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成し、夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較し、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしないよう構成される計数及びアップデートモジュールと
を有するコンピュータ装置。
(付記2)
前記コンパクトフォーマットにおける前記新しいファイルを得るよう構成されるクローラーモジュール
を更に有する付記1に記載のコンピュータ装置。
(付記3)
前記ファイルの前記コンパクトフォーマット及び前記変換されたフォーマットは、N3又はRDF−XMLタイプのフォーマットである、
付記1又は2に記載のコンピュータ装置。
(付記4)
前記トリプルカウントは、前記拡張されたファイルにおける組に含まれるトリプルの数である、
付記1乃至3のうちいずれか一つに記載のコンピュータ装置。
(付記5)
前記トリプルカウントは、前記ファイルにおける組にあらゆるアップデートを反映させるようアップデートされる、
付記1乃至4のうちいずれか一つに記載のコンピュータ装置。
(付記6)
前記拡張フォーマットを提供するよう変換され得る前記コンパクトフォーマットには複数の潜在的なショートカットが存在し、前記変換が更に無効にすることができる前記フォーマットのコンパクト性に関連しない他の潜在的な問題が存在する、
付記1乃至5のうちいずれか一つに記載のコンピュータ装置。
(付記7)
新しい行及び/又はセミコロンが同じサブジェクトについて新しいプレディケート及びオブジェクトを導入する場合に、前記変換は、省略されたサブジェクトを確認、修正する、
付記1乃至6のうちいずれか一つに記載のコンピュータ装置。
(付記8)
コンマが同じサブジェクト及びプレディケートを有して2つ以上のオブジェクトを分ける場合に、前記変換は、複数のオブジェクトを確認、修正する、
付記1乃至7のうちいずれか一つに記載のコンピュータ装置。
(付記9)
新しい行が、同じ行において2つ以上のオブジェクトが続く同じサブジェクトについての新しいプレディケートを導入する場合に、前記変換は、サブジェクトがない1つの行において複数のオブジェクト目的語を確認、修正する、
付記1乃至8のうちいずれか一つに記載のコンピュータ装置。
(付記10)
前記変換は、同じサブジェクトのインスタンスが1つ以上の他のサブジェクトのインスタンスによって分けられるフォーマットを確認、修正する、
付記1乃至9のうちいずれか一つに記載のコンピュータ装置。
(付記11)
前記変換は、同じトリプルの2つ以上のインスタンスの形をとる重なり合ったトリプルを確認、修正して、該トリプルが、夫々の組についての前記新しいトリプルカウントをその組についての前記前のトリプルカウントと比較する前に、1つの残りのトリプルを残すよう捨てられるようにする、
付記1乃至10のうちいずれか一つに記載のコンピュータ装置。
(付記12)
当該コンピュータ装置は、ローカルで記憶され得るアップデートされるべき前記ファイルとの比較のために前記新しいファイルをダウンロードするよう構成される、
付記1乃至11のうちいずれか一つに記載のコンピュータ装置。
(付記13)
各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするようコンピュータにより実施される方法であって、
トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行し、
前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割し、
夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成し、
夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較し、
前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしない
ことを有する方法。
(付記14)
当該方法の終わりに、前記アップデートされたファイルは記憶され、前記新しいファイルは捨てられる、
付記13に記載の方法。
(付記15)
コンピュータで実行される場合に、該コンピュータに、
各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするようコンピュータにより実施される方法であって、
トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行し、
前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割し、
夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成し、
夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較し、
前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしない
ことを有する方法を実行させるコンピュータプログラム。
10 コンピュータ装置
20 LODクラウド
30 WAN
40 スマートアップデートモジュール
50 フォーマット変換モジュール
60 トリプル計数及びデータセットアップデートモジュール
70 クローラーモジュール
80,90 メモリ

Claims (15)

  1. 各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするよう構成されるコンピュータ装置であって、
    トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行し、前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割するよう構成されるフォーマット変換モジュールと、
    夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成し、夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較し、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしないよう構成される計数及びアップデートモジュールと
    を有するコンピュータ装置。
  2. 前記コンパクトフォーマットにおける前記新しいファイルを得るよう構成されるクローラーモジュール
    を更に有する請求項1に記載のコンピュータ装置。
  3. 前記ファイルの前記コンパクトフォーマット及び前記変換されたフォーマットは、N3又はRDF−XMLタイプのフォーマットである、
    請求項1又は2に記載のコンピュータ装置。
  4. 前記トリプルカウントは、前記拡張されたファイルにおける組に含まれるトリプルの数である、
    請求項1乃至3のうちいずれか一項に記載のコンピュータ装置。
  5. 前記トリプルカウントは、前記ファイルにおける組にあらゆるアップデートを反映させるようアップデートされる、
    請求項1乃至4のうちいずれか一項に記載のコンピュータ装置。
  6. 前記拡張フォーマットを提供するよう変換され得る前記コンパクトフォーマットには複数の潜在的なショートカットが存在し、前記変換が更に無効にすることができる前記フォーマットのコンパクト性に関連しない他の潜在的な問題が存在する、
    請求項1乃至5のうちいずれか一項に記載のコンピュータ装置。
  7. 新しい行及び/又はセミコロンが同じサブジェクトについて新しいプレディケート及びオブジェクトを導入する場合に、前記変換は、省略されたサブジェクトを確認、修正する、
    請求項1乃至6のうちいずれか一項に記載のコンピュータ装置。
  8. コンマが同じサブジェクト及びプレディケートを有して2つ以上のオブジェクトを分ける場合に、前記変換は、複数のオブジェクトを確認、修正する、
    請求項1乃至7のうちいずれか一項に記載のコンピュータ装置。
  9. 新しい行が、同じ行において2つ以上のオブジェクトが続く同じサブジェクトについての新しいプレディケートを導入する場合に、前記変換は、サブジェクトがない1つの行において複数のオブジェクト目的語を確認、修正する、
    請求項1乃至8のうちいずれか一項に記載のコンピュータ装置。
  10. 前記変換は、同じサブジェクトのインスタンスが1つ以上の他のサブジェクトのインスタンスによって分けられるフォーマットを確認、修正する、
    請求項1乃至9のうちいずれか一項に記載のコンピュータ装置。
  11. 前記変換は、同じトリプルの2つ以上のインスタンスの形をとる重なり合ったトリプルを確認、修正して、該トリプルが、夫々の組についての前記新しいトリプルカウントをその組についての前記前のトリプルカウントと比較する前に、1つの残りのトリプルを残すよう捨てられるようにする、
    請求項1乃至10のうちいずれか一項に記載のコンピュータ装置。
  12. 当該コンピュータ装置は、ローカルで記憶され得るアップデートされるべき前記ファイルとの比較のために前記新しいファイルをダウンロードするよう構成される、
    請求項1乃至11のうちいずれか一項に記載のコンピュータ装置。
  13. 各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするようコンピュータにより実施される方法であって、
    トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行し、
    前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割し、
    夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成し、
    夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較し、
    前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしない
    ことを有する方法。
  14. 当該方法の終わりに、前記アップデートされたファイルは記憶され、前記新しいファイルは捨てられる、
    請求項13に記載の方法。
  15. コンピュータで実行される場合に、該コンピュータに、
    各トリプルにおいてサブジェクト、プレディケート及びオブジェクトを明示的に挙げずにトリプルを定義する構造において前記サブジェクト、プレディケート及びオブジェクトを定義するコンパクトフォーマットにおける新しいファイルを用いて、サブジェクト−プレディケート−オブジェクト・トリプル構造を有するデータのファイルをアップデートするようコンピュータにより実施される方法であって、
    トリプルのサブジェクト、プレディケート及びオブジェクトを明示的に含む夫々の別個のサブジェクト−プレディケート−オブジェクト・トリプルを常に挙げる拡張フォーマットへと前記コンパクトフォーマットにおける前記新しいファイルを変換するよう前処理を実行し、
    前記拡張フォーマットにおけるトリプルを、夫々のサブジェクトについてひと組である組に分割し、
    夫々の組におけるトリプルを数えて、当該組についての新しいトリプルカウントを生成し、
    夫々の組についての前記新しいトリプルカウントを、前記ファイルにおける同じ組についての前のトリプルカウントと比較し、
    前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がある場合に前記ファイルのいずれかの組においてデータをアップデートし、前記新しいトリプルカウントと前記前のトリプルカウントとの間に差がない場合に前記ファイルの如何なる組もアップデートしない
    ことを有する方法を実行させるコンピュータプログラム。
JP2016034431A 2015-03-26 2016-02-25 データのファイルをアップデートするコンピュータ装置、方法、及びコンピュータプログラム Pending JP2016184400A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1505135.2A GB2536687A (en) 2015-03-26 2015-03-26 A computer apparatus arranged to update a file of data and a method and a program therefor
GB1505135.2 2015-03-26

Publications (1)

Publication Number Publication Date
JP2016184400A true JP2016184400A (ja) 2016-10-20

Family

ID=53052457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016034431A Pending JP2016184400A (ja) 2015-03-26 2016-02-25 データのファイルをアップデートするコンピュータ装置、方法、及びコンピュータプログラム

Country Status (3)

Country Link
EP (1) EP3086243A1 (ja)
JP (1) JP2016184400A (ja)
GB (1) GB2536687A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221944A1 (en) * 2020-04-27 2021-11-04 Swiftly Systems, Inc. Systems and methods for distributing and updating product catalogs to wireless devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221944A1 (en) * 2020-04-27 2021-11-04 Swiftly Systems, Inc. Systems and methods for distributing and updating product catalogs to wireless devices
US11361354B2 (en) 2020-04-27 2022-06-14 Swiftly Systems, Inc. Method, computer-readable non-transitory storage media, and system for distributing and updating product catalogs to wireless devices

Also Published As

Publication number Publication date
EP3086243A1 (en) 2016-10-26
GB201505135D0 (en) 2015-05-06
GB2536687A (en) 2016-09-28

Similar Documents

Publication Publication Date Title
US11763175B2 (en) Systems and methods for semantic inference and reasoning
JP6720641B2 (ja) 多言語データティアのデータ制約
US10691507B2 (en) API learning
US10545999B2 (en) Building features and indexing for knowledge-based matching
US8260784B2 (en) Indexing and searching JSON objects
US8615526B2 (en) Markup language based query and file generation
US20160246838A1 (en) System and method for generating an effective test data set for testing big data applications
US20130198605A1 (en) Document Merge Based on Knowledge of Document Schema
US20160314212A1 (en) Query mediator, a method of querying a polyglot data tier and a computer program execuatable to carry out a method of querying a polyglot data tier
EP3671526B1 (en) Dependency graph based natural language processing
US11003661B2 (en) System for rapid ingestion, semantic modeling and semantic querying over computer clusters
US20170068891A1 (en) System for rapid ingestion, semantic modeling and semantic querying over computer clusters
KR101739540B1 (ko) 통합 지식베이스 구축 시스템 및 방법
US11947976B2 (en) System and method for semantic metadata extensions in API governance using validation rulesets
Tekli et al. Approximate XML structure validation based on document–grammar tree similarity
EP3168791A1 (en) Method and system for data validation in knowledge extraction apparatus
JP2016184400A (ja) データのファイルをアップデートするコンピュータ装置、方法、及びコンピュータプログラム
WO2013137903A1 (en) Systems and methods for semantic inference and reasoning
US20200210862A1 (en) SYSTEMS AND METHODS FOR EXTENDING REASONING CAPABILITY FOR DATA ANALYTICS IN INTERNET-OF-THINGS (IoT) PLATFORM
US11422799B1 (en) Organizing software packages based on identification of unique attributes
US11847134B2 (en) Computerized system for programmatic mapping of record lineage based on data flow through data storage components
EP4242867A1 (en) Customer data model transformation process
Settle et al. Automation [version 2; referees: 2 approved]
Maali Distributed dataflow processing of large RDF graphs
Voegeli et al. ETL from RDF to Property Graph