JP2021515317A - 分散しているセマンティックデータに対するセマンティック操作および推論サポート - Google Patents
分散しているセマンティックデータに対するセマンティック操作および推論サポート Download PDFInfo
- Publication number
- JP2021515317A JP2021515317A JP2020545114A JP2020545114A JP2021515317A JP 2021515317 A JP2021515317 A JP 2021515317A JP 2020545114 A JP2020545114 A JP 2020545114A JP 2020545114 A JP2020545114 A JP 2020545114A JP 2021515317 A JP2021515317 A JP 2021515317A
- Authority
- JP
- Japan
- Prior art keywords
- semantic
- inference
- fact
- resource
- facts
- 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
Links
- 238000000034 method Methods 0.000 claims description 171
- 238000012545 processing Methods 0.000 claims description 86
- 230000015654 memory Effects 0.000 claims description 24
- 238000003860 storage Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 6
- 239000010410 layer Substances 0.000 description 63
- 230000008569 process Effects 0.000 description 54
- 238000007726 management method Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 21
- 230000001960 triggered effect Effects 0.000 description 17
- 230000036541 health Effects 0.000 description 13
- 238000013459 approach Methods 0.000 description 11
- 239000003999 initiator Substances 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 101000609219 Homo sapiens Polyadenylate-binding protein 4 Proteins 0.000 description 6
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 6
- 238000009534 blood test Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 241000124008 Mammalia Species 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 208000010125 myocardial infarction Diseases 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 239000003607 modifier Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 241000270666 Testudines Species 0.000 description 3
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000001301 oxygen Substances 0.000 description 3
- 229910052760 oxygen Inorganic materials 0.000 description 3
- 241001481833 Coryphaena hippurus Species 0.000 description 2
- PXHVJJICTQNCMI-UHFFFAOYSA-N Nickel Chemical compound [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 2
- 241001591024 Samea Species 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- QELJHCBNGDEXLD-UHFFFAOYSA-N nickel zinc Chemical compound [Ni].[Zn] QELJHCBNGDEXLD-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241000568436 Namea Species 0.000 description 1
- 229910005813 NiMH Inorganic materials 0.000 description 1
- 241000700159 Rattus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 210000001175 cerebrospinal fluid Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
【課題】セマンティック推論操作に関する問題を解決する方法、システムおよび装置。【解決手段】異なるカスタマイズされた規則またはユーザ定義規則が、アプリケーションの必要性に基づいて定義される場合があり、これにより、事実が同じ初期事実に基づいているとしても、異なる推測事実を導き出すことができる。
Description
関連出願の相互参照
本出願は、2018年2月27日に出願の米国特許仮出願番号第62/635,827号、表題「分散しているセマンティックデータに対するセマンティック操作および推論サポート」の利点を請求し、その内容は、参考として本明細書に組み込まれる。
本出願は、2018年2月27日に出願の米国特許仮出願番号第62/635,827号、表題「分散しているセマンティックデータに対するセマンティック操作および推論サポート」の利点を請求し、その内容は、参考として本明細書に組み込まれる。
セマンティックウェブは、ワールドワイドウェブコンソーシアム(World Wide Web Consortium:W3C)による標準化を通したウェブの拡張である。標準化では、ウェブ上の共通データフォーマットおよび交換プロトコル、最も、基本的には、リソースディスクリプションフレームワーク(Resource Description Framework:RDF)を促進している。
セマンティックウェブは、リソースディスクリプションフレームワーク(RDF)、ウェブオントロジー言語(Web Ontology Language:OWL)、およびエクステンシブルマークアップランゲージ(Extensible Markup Language:XML)のようなデータ向けに特別に設計される言語で公開することを伴う。これらの技術は、組み合わされて、リンクトデータのウェブを介してウェブ文書のコンテンツを補充または置き換えるディスクリプションを提供する。したがって、コンテンツは、ウェブのアクセス可能なデータベースに格納された記述データとして、または文書内のマークアップとして、特に、XMLで点在させたエクステンシブルHTML(EXtensible HTML:XHTML)、もしくは、より多くの場合、レイアウトまたはレンダリングキューが別々に格納されたXMLで純粋にそれ自体を表示させている場合がある。
セマンティックウェブは、リソースディスクリプションフレームワーク(RDF)、ウェブオントロジー言語(Web Ontology Language:OWL)、およびエクステンシブルマークアップランゲージ(Extensible Markup Language:XML)のようなデータ向けに特別に設計される言語で公開することを伴う。これらの技術は、組み合わされて、リンクトデータのウェブを介してウェブ文書のコンテンツを補充または置き換えるディスクリプションを提供する。したがって、コンテンツは、ウェブのアクセス可能なデータベースに格納された記述データとして、または文書内のマークアップとして、特に、XMLで点在させたエクステンシブルHTML(EXtensible HTML:XHTML)、もしくは、より多くの場合、レイアウトまたはレンダリングキューが別々に格納されたXMLで純粋にそれ自体を表示させている場合がある。
セマンティックウェブスタックは、図1に示すように、W3Cによって規定されたセマンティックウェブのアーキテクチャを示す。構成要素の機能および関係性は、下記のように要約することができる。XMLは、文書内でコンテンツ構造に基本的なシンタックスを提供するが、その中に含まれるコンテンツの意味とセマンティクスを関連するものではない。XMLは、Turtleなどの他のシンタックスが存在するので、今のところ、多くの場合、セマンティックウェブ技術の必要な構成要素ではない。Turtleは、事実上の標準ではあるが、正式な標準化プロセスを通したものではない。
XMLスキーマは、XML文書内に含まれる要素の構造およびコンテンツを提供および制限するための言語である。
RDFは、オブジェクト(「ウェブリソース」)および主語・述語・目的語、例えば、S−P−OトリプルまたはRDFトリプルの形態でその関係性を指すデータモデルを表すための簡易言語である。RDFベースのモデルは、種々のシンタックス、例えば、RDF/XML、N3、Turtle、およびRDFaによって表すことが可能である。RDFは、セマンティックウェブの基本的な標準である。
RDFグラフは、エッジが、RDFトリプルの「述語」を表し、その一方で、グラフノードがRDFトリプルの「主語」または「述語」を表す有向グラフである。言い換えると、RDFトリプルで説明されているリンク構造は、このような有向RDFグラフを形成する。
RDFスキーマ(RDF Schema:RDFS)は、RDFを拡張するものであり、かつRDFベースのリソースのプロパティおよびクラスを記述するためのボキャブラリであり、このようなプロパティおよびクラスの一般化階層に対するセマンティクスを伴う。
OWLは、プロパティおよびクラスの記述に対してより多くのボキャブラリ、特に、クラス間の関係(例えば、独立性)、基数(例えば、「正確に1」)、等価、リッチタイプのプロパティ、プロパティの特性(例えば、対称性)、列挙型クラスなどを加える。
SPARQLは、ウェブ上またはRDFストア(例えば、セマンティックグラフストア)内のRDFグラフコンテンツ(例えば、RDFトリプル)を問い合わせて、操作するセマンティックウェブデータソース向けのプロトコルおよび問い合わせ言語である。
・ SPARQL1.1問い合わせ、RDFグラフの問い合わせ言語は、データがRDFとして元々格納されているか、またはミドルウェアを介してRDFとして表示されるか、いずれにせよ、多様なデータソース全体にわたる問い合わせを表すために使用される場合がある。SPARQLには、それらの論理積と論理和と共に、所要および任意選択のグラフパターンを問い合わせする1つまたは複数のケイパビリティを含む場合がある。SPARQLはまた、集約、サブ問い合わせ、否定、式による値の作成、拡張可能な値のテスト、および、ソースRDFグラフによる問い合わせの制約もサポートする。SPARQL問い合わせの結果は、結果セットまたはRDFグラフである場合がある。
・ SPARQL1.1更新は、RDFグラフの更新言語である。これは、RDFに対するSPARQL問い合わせ言語に由来するシンタックスを使用する。更新操作は、セマンティックグラフストア内のグラフの集合に実施される。各操作が、セマンティックグラフストア内の、RDFグラフを、更新、作成、および削除するために行われる。
・ SPARQL1.1問い合わせ、RDFグラフの問い合わせ言語は、データがRDFとして元々格納されているか、またはミドルウェアを介してRDFとして表示されるか、いずれにせよ、多様なデータソース全体にわたる問い合わせを表すために使用される場合がある。SPARQLには、それらの論理積と論理和と共に、所要および任意選択のグラフパターンを問い合わせする1つまたは複数のケイパビリティを含む場合がある。SPARQLはまた、集約、サブ問い合わせ、否定、式による値の作成、拡張可能な値のテスト、および、ソースRDFグラフによる問い合わせの制約もサポートする。SPARQL問い合わせの結果は、結果セットまたはRDFグラフである場合がある。
・ SPARQL1.1更新は、RDFグラフの更新言語である。これは、RDFに対するSPARQL問い合わせ言語に由来するシンタックスを使用する。更新操作は、セマンティックグラフストア内のグラフの集合に実施される。各操作が、セマンティックグラフストア内の、RDFグラフを、更新、作成、および削除するために行われる。
規則は、コンピュータ科学における概念であり、IF−THEN構文である。一部のデータセット内で確認可能な一部の条件(IF部分)が適用される場合、結論(THEN部分)が処理される。オントロジーは、ドメイン知識を記述する場合があるが、規則は特定の知識または関係を記述する別のアプローチであり、場合によっては、OWLで使用されるディスクリプション論理を用いても、難しいか、または直接記述することができないものである。規則はまた、セマンティック推測/推論に使用される場合がある(例えば、ユーザは、自身の推論規則を規定することができる)。
RIFは、規則交換形式である。コンピュータ科学および論理プログラミングコミュニティでは、2者は異なるものであるが、規則を理解するには密接に関連している。1つは、コンピュータプログラムにおける命令の着想に密接に関連している。一定の条件が適用される場合、いくつかのアクションが実行される。このような規則は、生成規則と称されることが多い。生成規則の一例は、「お客様が100,000マイル以上飛行した場合、そのお客様を、ゴールドメンバーステータスにアップグレードする」である。
あるいは、規則は、あらゆる事柄についての事実を述べるものとして見なされる場合がある。しばしば、宣言型規則として称されるこれらの規則は、「PならばQである」といった形式の文になると理解される。宣言型規則の一例は、「ある人物が現在アメリカ合衆国の大統領である場合、その人物の現在の住居は、ホワイトハウスである」である。
SILK、OntoBroker、Eye、VampirePrime、N3−論理、およびSWRL(宣言型規則言語)、ならびに、Jess、Drools、IBM ILog、およびOracle Business Rules(生成規則言語)など、多くの規則言語が存在する。多くの言語には、宣言型規則言語および生成規則言語の両方の特性が取り入れられている。規則セットを統合したい場合、または1つの規則セットから別の規則セットに情報をインポートしたい場合に、さまざまな言語の規則セットが大量にあるために困難が生じる場合がある。異なる言語の規則セットを用いて、規則エンジンを動作させる方法が、本明細書で考慮される。
W3C規則交換形式(Rule Interchange Format:RIF)は、規則セット統合および合成を促進するために開発された標準である。RIFは、さまざまな特性の規則言語を表すRIFコア、RIF基本論理方言(Basic Logic Dialect:BLD)、RIF生成規則方言(Production Rule Dialect:PRD)などの相互連結した方言のセットを含む。例えば、下記で論じる例は、RIFコア(最も基本的な1つである)に基づくものである。RIF方言BLDは、論理的定義機能を可能にすることによってRIFコアを拡張する。RIF方言PRDは、規則の優先順位付け、否定、および知識ベース修正の明確なステートメントを可能にすることによってRIFコアを拡張する。
下記は、RIFの例である。この例は、セマンティックウェブ全体にわたる映画および演劇に関するデータの統合に関する。例えば、IMDb、インターネット・ムービー・データベース(http://imdb.com)からと、DBペディア(http://dbpedia.org)からの映画に関するデータを統合したい場合を想定する。両方のリソースは、映画のキャストの中の役者に関する事実を含むが、DBペディアは、これらの事実を2項関係(述語またはRDFプロパティとも呼ばれる)として表す。
DBペディアでは、例えば、データが、ある役者がある映画のキャストであるという事実を表す場合がある。
・ starring(?Film ?Actor)
この場合、プレースホルダとして、接頭辞付き変数「?」を用いる。この例で使用される変数名は、マシンではなく、人間の読者に意味がある。これらの変数名は、DBペディアstarringリレーションの1つ目の引数は映画、2つ目の引数は誰がこの映画に出演した役者なのかを読み手に伝えることを意図している。
しかし、IMDbでは、データは、類似のリレーションを有していない。代わりに、データは、役を演じる役者に関して下記の形式の事実を記述する場合がある。
・ playsRole(?Actor ?Role)
また、1つは、映画の中での役(キャラクタ)に関して下記の形式の事実を記述する場合がある。
・ roleInFilm(?Role ?Film)
したがって、例えば、DBペディアでは、データは、事実としてVivien LeighがStreetcar Named Desireのキャストであったという情報を表す。
・ starring(Streetcar VivienLeigh)
IMDbでは、データは、Vivien Leighは、Blanche DuBoisの役を演じたという、2つの要素の情報を表す。
・ playsRole(VivienLeigh BlancheDubois)
また、Blanche DuBoisは、Streetcar Named Desireのキャラクタである。
・ roleInFilm(BlancheDubois Streetcar)
・ starring(?Film ?Actor)
この場合、プレースホルダとして、接頭辞付き変数「?」を用いる。この例で使用される変数名は、マシンではなく、人間の読者に意味がある。これらの変数名は、DBペディアstarringリレーションの1つ目の引数は映画、2つ目の引数は誰がこの映画に出演した役者なのかを読み手に伝えることを意図している。
しかし、IMDbでは、データは、類似のリレーションを有していない。代わりに、データは、役を演じる役者に関して下記の形式の事実を記述する場合がある。
・ playsRole(?Actor ?Role)
また、1つは、映画の中での役(キャラクタ)に関して下記の形式の事実を記述する場合がある。
・ roleInFilm(?Role ?Film)
したがって、例えば、DBペディアでは、データは、事実としてVivien LeighがStreetcar Named Desireのキャストであったという情報を表す。
・ starring(Streetcar VivienLeigh)
IMDbでは、データは、Vivien Leighは、Blanche DuBoisの役を演じたという、2つの要素の情報を表す。
・ playsRole(VivienLeigh BlancheDubois)
また、Blanche DuBoisは、Streetcar Named Desireのキャラクタである。
・ roleInFilm(BlancheDubois Streetcar)
このデータを組み合わせるには課題がある。2つのデータソース(IMDbとDBペディア)が、異なるボキャブラリ(リレーション名、starring, playsRole, roleInFilm)を使用するだけでなく、構造も異なる。このデータを組み合わせるためには、下記の規則のようなものが基本的に必要であるといえる。「IMDbデータベースに、ある役者がある役/キャラクタを演じ、そのキャラクタはある映画の中のものであるという2つの事実がある場合、DBペディアデータベースにはその役者は、その映画の中にいるという1つの事実がある」。この上述の規則は、下記のように、RIF規則として記述することができる(太字の文字は、RIFによって定められたキーワードであり、RIFの仕様に関する詳細は、RIF Primer、https://www.w3.org/2005/rules/wiki/Primerで確認することができる)。
Document(
Prefix(rdf <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(rdfs <http://www.w3.org/2000/01/rdf-schema#>)
Prefix(imdbrel <http://example.com/imdbrelations#>)
Prefix(dbpedia <http://dbpedia.org/ontology/>)
Group(
Forall ?Actor ?Film ?Role (
If And(?Actor # imdbrel:Actor
?Film # imdbrel:Film
?Role # imdbrel:Character
imdbrel:playsRole(?Actor ?Role)
imdbrel:roleInFilm(?Role ?Film))
Then dbpedia:starring(?Film ?Actor)
)
)
)
Document(
Prefix(rdf <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(rdfs <http://www.w3.org/2000/01/rdf-schema#>)
Prefix(imdbrel <http://example.com/imdbrelations#>)
Prefix(dbpedia <http://dbpedia.org/ontology/>)
Group(
Forall ?Actor ?Film ?Role (
If And(?Actor # imdbrel:Actor
?Film # imdbrel:Film
?Role # imdbrel:Character
imdbrel:playsRole(?Actor ?Role)
imdbrel:roleInFilm(?Role ?Film))
Then dbpedia:starring(?Film ?Actor)
)
)
)
セマンティック推論。概してセマンティック推論または推測は、知識ベースで明示的に表されていない事実を導き出すことを意味する。言い換えると、それは、既存の知識ベースから新しい暗黙の知識を導き出すメカニズムである。例えば、考慮されるデータセット(初期事実/知識)は、関係性(Flipper is-a Dolphin(フリッパはイルカである)−インスタンスに関する事実)を含む場合がある。事実および知識は、本明細書で同じ意味で用いられる場合があることに留意されたい。オントロジーは、「every Dolphin is also a Mammal(どのイルカもまた哺乳類である)−概念に関する事実」と宣言する場合がある。推論規則が「IF A is an instance of class B and B is a subclass of class C, THEN A is also an instance of class C(AはクラスBのインスタンスであり、Bは、クラスCのサブクラスである場合、Aはまた、クラスCのインスタンスである)」と、述べる場合、推論処理によって規則を初期事実に適用することで、新しいステートメント「Flipper is-a Mammal(フリッパは哺乳類である)」を推測することができ、これは初期事実の要素ではなかったが、推論に基づいて導き出された暗黙の知識/事実である(参考、W3C Semantic Inference,www.w3.org/standards/semanticweb/inference)。
上記の例から、下記のセマンティック推論と関係するいくつかの主要概念があることが分かる。
1. 知識/事実ベース(事実および知識は、本出願では同じ意味で用いられる)
2. セマンティック推論規則
3. 推測事実
上記の例から、下記のセマンティック推論と関係するいくつかの主要概念があることが分かる。
1. 知識/事実ベース(事実および知識は、本出願では同じ意味で用いられる)
2. セマンティック推論規則
3. 推測事実
下記のセクションでは、知識ベースおよびセマンティック規則に関する詳細を提示する。上記の例に対してセマンティック推論処理を実装するために、セマンティック推論器が使用される場合がある(Semantic Reasoner、https://en.wikipedia.org/wiki/Semantic_reasoner)。典型的には、セマンティック推論器(推論エンジン、規則エンジン、または単に推論器)は、ソフトウェアの一部であり、推論規則のセットを使用して表明される事実のセットから論理的帰結を推測することができるものである。いくつかのオープンソースセマンティック推論器があり、次のセクションでは、Apache Jena(https://jena.apache.org/documentation/inference/)によって提供される例示的推論器について詳細を提示する。加えて、セマンティック推論または推測は、通常、追加の情報を導き出す抽出処理を意味し、一方で、セマンティック推論器は、推論タスクを実施する特定のコードオブジェクトを指す。
知識ベース(Knowledge Base:KB)は、コンピュータシステムによって使用される複雑な構造化および非構造化情報を格納するために使用される技術である(https://en.wikipedia.org/wiki/Abox)(TBox、https://en.wikipedia.org/wiki/Tbox)。KBの構成は、下記の形式を有する。
知識ベース=ABox+TBox
知識ベース=ABox+TBox
用語、ABoxおよびTBoxは、ステートメント/事実の異なる2つのタイプを説明するのに用いられる。Tboxステートメントは、制御されるボキャブラリ、例えば、クラスおよびプロパティ(例えば、スキームまたはオントロジー定義)のセットを基準にしてシステムを説明する。ABoxは、そのボキャブラリに関するTBox対応ステートメントである。
例えば、ABoxステートメントは、通常、下記の形式を有する。
A is an instance of B(Aは、Bのインスタンスである)または
John is a Person(ジョンは人である)
これに対して、TBoxステートメントは、通常、次の形式を有する。
All Students are Persons or(全ての生徒は人である)または
There are two types of Persons: Students and Teachers(2種類の人が存在する:生徒および教師)(例えば、Students(生徒)およびTeachers(教師)は、Persons(人)のサブクラスである)
例えば、ABoxステートメントは、通常、下記の形式を有する。
A is an instance of B(Aは、Bのインスタンスである)または
John is a Person(ジョンは人である)
これに対して、TBoxステートメントは、通常、次の形式を有する。
All Students are Persons or(全ての生徒は人である)または
There are two types of Persons: Students and Teachers(2種類の人が存在する:生徒および教師)(例えば、Students(生徒)およびTeachers(教師)は、Persons(人)のサブクラスである)
要約すると、TBoxステートメントは、オブジェクト指向クラス(例えば、スキームまたはオントロジー定義)に関連し、ABoxステートメントはそれらのクラスのインスタンスに関連する。先の例では、事実ステートメント「Flipper isA Dolphin(フリッパはイルカである)」は、ABoxステートメントであり、一方、「every Dolphin is also a Mammal(全てのイルカはまた哺乳類である)」は、TBoxステートメントである。
含意は、一定の条件下で、1つのステートメントの真実が、2つ目のステートメントの真実を確実にするという原理である。例えば、RDF含意、RDFスキーマ含意、OWL 2 RDFベースセマンティクス含意など、W3Cによって定義された異なる標準含意レジームがある。特に、各含意レジームは、含意規則のセットを定義する(https://www.w3.org/TR/sparql11-entailment/)。また、下記は、RDFS含意レジームによって定義された2つの推論規則(規則7および規則11)である(https://www.w3.org/TR/rdf-mt/#rules)。
規則7:IF aaa rdfs:subPropertyof bbb && uuu aaa yyy, THEN uuu bbb yyy
これは、aaaが、bbbのサブプロパティであり、かつuuuが、そのaaaプロパティのyyyの値を有する場合、uuuも、そのbbbプロパティのyyyの値を有することを意味する(ここで、「aaa」、「uuu」、「bbb」は、単に変数名である)。
規則11:IF uuu rdfs:subClassOf vvv and vvv rdfs:subClassOf x, THEN uuu rdfs:subClassOf x
規則7:IF aaa rdfs:subPropertyof bbb && uuu aaa yyy, THEN uuu bbb yyy
これは、aaaが、bbbのサブプロパティであり、かつuuuが、そのaaaプロパティのyyyの値を有する場合、uuuも、そのbbbプロパティのyyyの値を有することを意味する(ここで、「aaa」、「uuu」、「bbb」は、単に変数名である)。
規則11:IF uuu rdfs:subClassOf vvv and vvv rdfs:subClassOf x, THEN uuu rdfs:subClassOf x
これは、uuuが、vvvのサブクラスであり、かつvvvが、xのサブクラスである場合、uuuも、xのサブクラスである、を意味する。
セマンティック推論ツールで、セマンティック推論器が開始されると、どの含意レジームが実現されるべきかを指定する必要がある。例えば、セマンティック推論器インスタンスAは、RDFS含意レジームによって定義される推論規則をサポートする「RDFS推論器」である場合がある。RDFS含意レジームによって定義される推論規則をサポートする。一例として、次の初期事実(RDFトリプルで記述される)があると仮定する。
・ ex:dog rdf:type rdfs:Class
・ ex:mammal rdf:type rdfs:Class
・ ex:animal rdf:type rdfs:Class
・ ex:dog rdfs:subClassOf ex:mammal
・ ex:mammal rdfs:subClassOf ex:animal
・ ex:dog rdf:type rdfs:Class
・ ex:mammal rdf:type rdfs:Class
・ ex:animal rdf:type rdfs:Class
・ ex:dog rdfs:subClassOf ex:mammal
・ ex:mammal rdfs:subClassOf ex:animal
これらの事実をセマンティック推論器インスタンスAに入力することによって、上記で提示したようにRDFS規則11を使用して下記の推測事実を導き出すことができる。
・ ex:dog rdfs:subClassOf ex: animal
・ ex:dog rdfs:subClassOf ex: animal
セマンティック推論ツールの例は、Jena推測サポートである。Jena推測は、推測エンジンまたは推論器の範囲がJenaに接続することを可能にするように設計されている。このようなエンジンは、いずれかの任意のオントロジー情報および推論器に関連する規則と共にいくつかの既存の/ベースの事実から引き起こされる追加のRDF表明/事実を導き出すために使用される。
Jena分散は、(先のセクションでそれぞれ提示した、対応する含意レジームによって定義されるような推論規則のセットを実装する)RDFS推論器、またはOWL推論器、ならびに、「ユーザ定義規則」をサポートするジェネリック規則ベースの推論器であるジェネリック規則推論器などのいくつかの所定の推論器をサポートする。
下記のコード例は、セマンティック推論タスクのためにJena APIをどのように使用するかを示す。まず、プロパティ「p」は、別のプロパティ「q」のsubPropertyであり(6行目で定義される)、かつ、「p」用の値「foo」と共にリソース「a」を有する(7行目で定義される)というステートメントを含むJenaモデルを作成する(3行目のrdfsExampleは、この例では、実際には、「初期事実」である)。
1. String NS = "urn:x-hp-jena:eg/";
2. // Build a trivial example data set
3. Model rdfsExample = ModelFactory.createDefaultModel();
4. Property p = rdfsExample.createProperty(NS, "p");
5. Property q = rdfsExample.createProperty(NS, "q");
6. rdfsExample.add(p, RDFS.subPropertyOf, q);
7. rdfsExample.createResource(NS+"a").addProperty(p, "foo");
1. String NS = "urn:x-hp-jena:eg/";
2. // Build a trivial example data set
3. Model rdfsExample = ModelFactory.createDefaultModel();
4. Property p = rdfsExample.createProperty(NS, "p");
5. Property q = rdfsExample.createProperty(NS, "q");
6. rdfsExample.add(p, RDFS.subPropertyOf, q);
7. rdfsExample.createResource(NS+"a").addProperty(p, "foo");
ここで、全ての初期事実が、変数rdfsExampleに入れられる。次に、下記のコードで初期事実に対してRDFS推測を実施する推測モデルを作成する。
8. InfModel inf = ModelFactory.createRDFSModel(rdfsExample);
8. InfModel inf = ModelFactory.createRDFSModel(rdfsExample);
8行目に示すように、RDFS推論器は、createRDFSModel()APIを使用して、作成され、入力は、変数rdfsExampleに格納されられた初期事実である。したがって、セマンティック推論処理は、rdfsExampleに入れられた事実に(部分的な)RDFS規則セットを適用することによって実行されて、推測事実が変数infに格納される。
変数infに格納された推測事実を、ここで確認することができる。例えば、下記のコードで実装される場合があるリソースaのプロパティqの値を知りたいと仮定する。
9. Resource a = inf.getResource(NS+"a");
10. System.out.println("Statement: " + a.getProperty(q));
出力は、次のようになる。
11. Statement: [urn:x-hp-jena:eg/a, urn:x-hp-jena:eg/q, Literal<foo>]
9. Resource a = inf.getResource(NS+"a");
10. System.out.println("Statement: " + a.getProperty(q));
出力は、次のようになる。
11. Statement: [urn:x-hp-jena:eg/a, urn:x-hp-jena:eg/q, Literal<foo>]
11行目に示すように、リソースaのプロパティqの値は、「foo」であり、これは、RDFS推論規則のうちの1つに基づいた推測事実、「IF aaa rdfs:subPropertyof bbb && uuu aaa yyy, THEN uuu bbb yyy(RDFS含意規則の規則7)」である。推論処理は、「リソースaに関して、そのプロパティpの値が「foo」であり、pはqのサブプロパティであるので、リソースaのプロパティqの値は「foo」である」である。
oneM2M。開発中のoneM2M規格は、「共通サービスエンティティ(Common Service Entity:CSE)」と呼ばれるサービス層を定義している。サービス層の目的は、さまざまな「バーティカル」M2Mシステムおよびアプリケーションが利用することができる「ホリゾンタル」サービスを提供することである。CSEは、図2に示すように4つの参照点をサポートする。Mca参照点は、アプリケーションエンティティ(Application Entity:AE)とインターフェースをとる。Mcc参照点は、同一サービスプロバイダドメイン内の別のCSEとインターフェースをとり、Mcc’参照点は、異なるサービスプロバイダドメイン内の別のCSEとインターフェースをとる。Mcn参照点は、下位ネットワークサービスエンティティ(Network Service Entity:NSE)とインターフェースをとる。NSEは、デバイス管理、位置サービス、およびデバイストリガなどの下位ネットワークサービスをCSEに提供する。
CSEは、「発見」、および「データ管理およびリポジトリ」などの「共通サービス機能(Common Service Functions:CSF)」、と呼ばれる複数の論理機能のうち1つまたは複数を含む場合がある。図3はoneM2Mによってサポートされる一部のCSFを示す。
oneM2Mアーキテクチャは、下記のタイプのノードを使用可能にする。
アプリケーションサービスノード(Application Service Node:ASN):ASNは、1つのCSEを含み、かつ少なくとも1つのアプリケーションエンティティ(AE)を含むノードである。物理的マッピングの例は、ASNがM2Mデバイス内に常駐する場合があることである。
アプリケーション専用ノード(Application Dedicated Node:ADN):ADNは、少なくとも1つのAEを含むが、CSEは含まないノードである。oneM2Mシステムのフィールドドメイン内に、ゼロまたは1つ以上のADNがある場合がある。物理的マッピングの例は、アプリケーション専用ノードが、制約されたM2Mデバイスに常駐する場合があることである。
ミドルノード(Middle Node:MN):MNは、1つのCSEを含み、かつゼロまたは1つ以上のAEを含むノードである。oneM2Mシステムのフィールドドメイン内に、ゼロまたは1つ以上のMNがある場合がある。物理的マッピングの例は、MNはM2Mゲートウェイ内に常駐する場合があることである。
インフラストラクチャノード(Infrastructure Node:IN):INは、1つのCSEを含み、かつゼロまたは1つ以上のAEを含むノードである。oneM2Mサービスプロバイダごとにインフラストラクチャドメインに正確に1つのINがある。IN内のCSEは、他のノードタイプには適用されないCSE機能を含む場合がある。物理的マッピングの例は、INはM2Mサービスインフラストラクチャ内に常駐する場合があることである。
非oneM2Mノード(Non-oneM2M Node:NoDN):非oneM2Mノードは、oneM2Mエンティティを(AEもCSEもどちらも)含まないノードである。このようなノードは、管理を含むインターワーキング目的のためにoneM2Mシステムに接続されたデバイスを意味する。
セマンティックアノテーション。oneM2Mでは、<semanticDescriptor>リソースは、リソースに関連するセマンティックディスクリプションを格納するために使用される。このようなディスクリプションは、オントロジーに従って提供される。セマンティック情報は、oneM2Mシステムのセマンティック機能によって使用され、かつアプリケーションまたはCSEにとって利用可能なものである。概して、(図4に示すように)<semanticDescriptor>リソースは、<AE>、<container>、<CSE>、<group>リソースなど、その親リソースのセマンティックアノテーションである。
セマンティックフィルタリングおよびリソース発見。セマンティックアノテーション(例えば、<semanticDescriptor>リソース内のコンテンツが、その親リソースのセマンティックアノテーションである)が、一旦、可能になると、セマンティックリソース発見またはセマンティックフィルタリングがサポートされる場合がある。セマンティックリソース発見は、<semanticDescriptor>リソースの記述子属性に含まれるセマンティックディスクリプションに基づいてCSE内のリソースを見つけるために使用される。そのことを行うために、要求操作フィルタ基準の追加の値(例えば、「semanticsFilter」フィルタ)が、下記の表1に示すような定義と共に開示される。セマンティクスフィルタは、関連するセマンティックディスクリプションに対して実行されるSPARQLステートメント(必要性に基づいて発見基準/制約を定義する)を格納する。「必要性」(例えば、要求または要件)は、多くの場合、アプリケーション発動のものである。例えば、地理的エリア内の製造元Aによって製造されるデバイスの全てを見つけるための要求がある場合があり、対応するSPARQLステートメントは、この必要性に対して記述される場合がある。セマンティックリソース発見の動作メカニズムは下記のようなものである。セマンティックリソース発見は、semanticsFilterパラメータと共に読み出し要求を送信することによって開始される。全体的なセマンティックディスクリプション(グラフを形成する)は、<semanticDescriptor>リソースのセット全体にわたって分散されているので、関連するセマンティックディスクリプションの全てが、まず、読み出される必要がある。セマンティックフィルタに含まれるようなSPARQL問い合わせステートメントは、次に、それらの関連するセマンティックディスクリプションで実行される。一定のリソースURIが、SPARQL処理の間に識別される場合、それらのリソースURIは、発見結果として戻される。表1は、[oneM2M-TS-0001 oneM2M Functional Architecture -V3.8.0]から引用したものである。
セマンティック問い合わせ。概して、セマンティック問い合わせは、シンタックスに基づく明確および暗黙な導出情報、データ(RDFデータなど)内のセマンティックおよび構造的情報の両方の読み出しを可能にする。セマンティック問い合わせの結果は、問い合わせに対する返答/整合に関するセマンティック情報/知識である。これに対して、セマンティックリソース発見の結果は、識別されたリソースURIのリストである。一例として、セマンティックリソース発見は、「建物A内の温度センサを示す全てのリソースURI」を見つけることであり(例えば、発見結果は、<sensor−1>と<sensor−2>のURIを含む場合がある)、その一方で、セマンティック問い合わせは、「建物Aには、何個の温度センサがあるか?」という質問をすることである(例えば、建物Aの中に2つのセンサ、例えば、<sensor−1>と<sensor−2>がある場合、問い合わせ結果は、「2」となる)。
所定のセマンティック問い合わせに関して、これは、RDFトリプル(「RDFデータベース」と呼ばれる)のセットで実行される場合があり、異なるセマンティックリソース(<semanticDescriptor>リソースなど)間で分散される場合がある。セマンティック問い合わせに関連する「問い合わせ範囲」は、どのセマンティックリソースが、この問い合わせのRDFデータベースに含まれる必要があるかを決定することである。
セマンティックリソース発見およびセマンティック問い合わせの両方は、同じセマンティクスフィルタを使用して、SPARQL問い合わせ言語で定められる問い合わせステートメントを特定する。CSEが、セマンティクスフィルタを含む読み出し要求を受信するときに、セマンティック問い合わせインジケータパラメータも、その要求の中に存在する場合、その要求は、セマンティック問い合わせとして処理されるか、そうでない場合は、その要求は、セマンティックリソース発見として処理される。セマンティック問い合わせ処理では、受信されたセマンティック問い合わせ要求およびその問い合わせ範囲が与えられると、SPARQL問い合わせステートメントは、問い合わせ範囲内のセマンティックリソースから収集される集約されたセマンティック情報に対して実行されて、生成された出力が、このセマンティック問い合わせの結果となる。
従来のセマンティック推論は、事実(通常、事実は、セマンティックトリプルとして表される)の観点から、および推論規則の観点から、新しい問題が原因で、SLベースのプラットフォームのコンテキストでは直接使用されない可能性がある。事実の観点から、データまたは事実は、異なる場所(例えば、既存のoneM2M<semanticDescriptor>リソース内のRDFトリプル)で細分化または分散されていることが多い。関連する「事実サイロ」を構成または統合して、入力(例えば、事実セット)を推論処理向けに準備することができる方法、システムおよび装置を、本明細書にて開示する。推論規則の観点から、サービス層(SL)ベースプラットフォームは、しばしば、異なるセクションにわたってアプリケーションを動作可能にするホリゾンタルなプラットフォームとなることが想定される。したがって、異なるカスタマイズされた規則またはユーザ定義規則が、アプリケーションの必要性に基づいて定義される場合があり、これにより、異なる推測事実を(これらの事実が、同じ初期事実に基づいているとしても)導き出すことができる。
より詳細な理解は、添付図面と併せて、例として挙げられる下記の説明から得ることが可能である。
図5に示すようなスマートシティシナリオにおけるインテリジェント医療施設管理ユースケースについて考察する。大規模な病院は、長い年月の間に多くの建物を建ててきた。監視および施設管理用途を実施するために、病院はまた、それらの建物の部屋に監視カメラを設置している。特に、病院はSLベースプラットフォーム(例えば、oneM2M)を採用している。例えば、各建物(例えば、建物1、建物2、建物3)は、MN−CSE(例えば、MN−CSE105、MN−CSE106およびMN−CSE107)をホストし、建物の部屋に配備されたカメラのそれぞれは、建物の対応するMN−CSEに登録され、SLリソース表現を有する。例えば、建物1の部屋109に配備されたカメラ111は、建物1のMN−CSE105で<Camera−111>リソース表現を有し、例えば、これは、oneM2Mで定義されているような<AE>タイプのリソースである場合がある。セマンティクスをサポートするために、<Camera−111>リソースは、セマンティックアノテーションとして一部のメタデータでアノテートされる場合がある。例えば、いくつかの事実は、そのデバイスタイプおよびその位置情報を記述するために使用される場合があり、これらは、例えば、下記の2つのRDFトリプルのように記述される。
事実1: Camera-111 is-a Camera(「Camera」は、オントロジーによって定義された概念/クラスである)
事実2:Camera-111 is-located-in Room-109-of-Building-1
事実1: Camera-111 is-a Camera(「Camera」は、オントロジーによって定義された概念/クラスである)
事実2:Camera-111 is-located-in Room-109-of-Building-1
ドメイン内の各概念は、そのドメインオントロジー内のクラスに対応する。例えば、大学のコンテキストでは、教師は概念であり、かつ「教師」は、大学オントロジー内のクラスとして定義される。各カメラは、セマンティック子リソース(例えば、oneM2M<semanticDescriptor>リソース)に格納されたセマンティックアノテーションを有する場合がある。したがって、異なるoneM2Mリソースが、それら独自のセマンティックアノテーションを有する場合があるので、セマンティックタイプのデータは、MN−CSEのリソースツリーで分散している可能性がある。
病院は、外部ユーザ(例えば、消防局、市保健局など)も、病院の施設またはデバイスを管理、問い合わせ、操作および監視できるように、それ自体の施設をシティインフラストラクチャに(例えば、スマートシティを実現させるための第一歩として)統合する。
各病院の建物では、部屋は異なる目的で使用される。例えば、いくつかの部屋(例えば、部屋109)は、血液検査サンプルを保管し、その一方で、他のいくつかの部屋は、医用酸素ボンベを保管する。各部屋の異なる用途に基づいて、病院はいくつかの「管理ゾーン(Management Zones:MZ)」を画定しており、各ゾーンはいくつかの部屋を含む。MZの分割は、地理的位置に必ずしも基づくというわけではなく、とりわけ用途目的に基づくものである場合があることに留意されたい。例えば、MZ−1は、血液検査サンプルを保管する部屋を含む。したがって、それらの部屋は、市保健局によってより関心をもたれるものである。言い換えると、市保健局は、MZ−1に属する部屋に配備されたカメラにアクセスすることを要求する場合がある。同様に、MZ−2は、医用酸素ボンベを保管する部屋を含む。したがって、市消防局が、それらの部屋により関心がある可能性がある。そのため、市消防局は、MZ−2に属する部屋に配備されたカメラにアクセスする場合がある。各MZ内の部屋は、病院施設チームによる部屋の再構成または再割り当てにより、時間の経過とともに変更される場合がある。例えば、部屋109が医用酸素ボンベを保管するために使用されるようになる場合、例えば、血液検査サンプルを今後、保管しない場合、MZ−2に属する場合がある。
潜在的なユーザが、MZ−1に属する部屋からリアルタイムで画像を読み出すことを望むシナリオを考察する。そのことを行うために、ユーザはまず、下記のSPARQLステートメント1を使用して、それらのカメラを識別するためにセマンティックリソース発見を行う。
SELECT ?device
WHERE {
?device is-a Camera
?device monitors-room-inMZ-1
}
SELECT ?device
WHERE {
?device is-a Camera
?device monitors-room-inMZ-1
}
上記のことを鑑みて、潜在的な問題が本開示により解決される。<Camera−111>リソースは、発見結果に含まれているはずであるが、従来通りの仕方では、リソース発見処理の間に所望のリソースとしては識別されない。この理由は、カメラ111は、MZ−1に属する部屋に実際に配備されているのにもかかわらず、事実「Device-1 is-located-in Room-109-of-Building-1」(これは、<Camera−111>のセマンティックアノテーションである)は、SPARQLステートメント1のパターン「?device monitors-room-in MZ-1」と一致しない場合があるからである。この問題は、デバイスの従来のセマンティックアノテーションが、多くの場合、物理的位置などの低水準メタデータを含むが、MZについての高水準メタデータを含まないという事実から起こるものである。しかし、ユーザは、特定のMZ(例えば、MZ−1)の部屋だけに関心があり、それらの部屋の物理的位置には関心がない場合がある。上記の例を参照すると、ユーザは、MZ−1に属する部屋に配備されたカメラからの画像にのみ関心があり、ユーザは、物理的部屋または建物の番号に関心が必ずしもあるというわけではない。実際に、(例えば、どの部屋がどの目的なのかなど、この情報が病院施設チームだけによって管理される内部情報である場合があるため)ユーザは、部屋の割り当て情報を認識していないことさえある場合もある。そう考えると、例えば、下記の推論規則の知識を用いて、推論または推測メカニズムをこれらの問題を解決するために使用することができる。
規則1.IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
事実1、事実2、および規則1を使用することにより、下記の新しい事実を推測することが可能である。
・ Camera-111 monitors-room-in MZ-1
規則1.IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
事実1、事実2、および規則1を使用することにより、下記の新しい事実を推測することが可能である。
・ Camera-111 monitors-room-in MZ-1
このような新しい事実は、上記のSPARQLステートメント1に示されている問い合わせに答えるために有用である場合がある。
高水準問い合わせは、低水準メタデータに直接一致しない場合があり、上位層ユーザからの問い合わせが、高水準概念(例えば、専門用語または測定)に基づくものであり、一方で、下位層の物理リソースは、低水準メタデータでアノテートされているという点で、多くのコンピュータ科学分野では「抽象概念」を用いるために、このような現象は非常に一般的であることに留意されたい。一例として、ユーザが、ラップトップ上のC:ディスク内のファイルを問い合わせする場合、オペレーティングシステムは、ハードドライブ上のこのファイルの物理ブロックの位置を見つける必要があるが、これはユーザにとって完全に透過的なものである。
一部の既存のセマンティック推論ツールが利用可能ではあるが、それらは、事実の観点から、および推論規則の観点から、新しい問題が原因で、SLベースプラットフォームのコンテキストでは直接使用することができない。事実の観点から、データまたは事実は、異なる場所(例えば、既存のoneM2M<semanticDescriptor>リソース内のRDFトリプル)で細分化または分散されていることが多い。このため、関連する「事実サイロ」を構成または統合して、入力(例えば、事実セット)を推論処理向けに準備する効率的な方法を本明細書で開示する。推論規則の観点から、サービス層(Service Layer:SL)ベースプラットフォームは、しばしば、異なるセクションにわたるアプリケーションを動作可能にするホリゾンタルなプラットフォームとなることが想定される。したがって、異なるカスタマイズされた規則またはユーザ定義規則が、アプリケーションの要件または要求に基づいて定義される場合があり、これにより、異なる推測事実を(これらの事実が、同じ初期事実に基づいているとしても)導き出すことができる。
下記は、この問題のより詳しい説明である。第1の問題は、事実の観点から、多くの場合、初期入力事実が充分でない場合があり、推論操作が実行される前に追加の事実が入力としてさらに識別される場合があることである。事実が異なる場所に「分散されている」場合があり収集が困難なために、実際にサービス層のコンテキストではこの問題は悪化する。第2の問題は、推論規則の観点から、従来通りでは、種々のアプリケーションに対する推論のサポート向けのユーザ定義推論規則を、SLエンティティが定義、発行する(例えば、他のものと共有するために、規則または事実を発行することができる)方法がないことである。
第3の問題は、従来通りでは、事実および規則を入力として特定することによって、SLエンティティが「個別の」推論処理をトリガする方法がないことである。しかし、多くのアプリケーションが、暗黙の事実を識別するためにセマンティック推論を必要とすることがあるので、推論は必要とされるか、または要求される場合がある。例えば、セマンティック推論処理は、公園の現在の屋外の気温、湿度、または風と、屋外活動助言関連推論規則とを、2つの入力として取り込む場合がある。推論処理の実行の後に、現在、屋外スポーツに最適な時間であるかどうかについて、「高水準推測事実」を、得る場合がある。このような高水準推測事実は、ユーザが、低水準入力事実の詳細(例えば、気温、湿度、または風の数値)を認識する必要がないという点で、ユーザにとって直接的な利益となる場合がある。別の用途のシナリオでは、推測事実はまた、同様に元の事実を強化するために使用される場合がある。例えば、カメラ111のセマンティックアノテーションは、最初にCamera-111 is-a A:digitalCameraという1つのトリプル(例えば、事実)を含む。この際、A:digitalCameraは、オントロジーAによって定義されるクラスまたは概念である。推論処理を通して、推測事実が、Camera-111 is-a B:highResolutionCameraなどのカメラ111のセマンティックアノテーションにさらに追加される場合がある。この際、B:highResolutionCameraは、別のオントロジーBによって定義されたクラス/概念である。この強化により、カメラ111のセマンティックアノテーションは、より豊富な情報を持つことになる。
第4の問題は、従来通りでは、他のセマンティック操作(例えば、セマンティック問い合わせ、セマンティックリソース発見など)を最適化する「バックグラウンドサポート」としてセマンティック推論を活用するために限られたサポートしかないことである。この場合、ユーザは、特定のセマンティック操作(例えば、セマンティック問い合わせまたはセマンティックリソース発見など)を開始したということだけを認識する場合がある。しかし、この操作の処理の間に、セマンティック推論は、バックグラウンドでトリガされる場合があり、これはユーザにとって透過的なものである。例えば、ユーザは、現在の公園で推奨される屋外スポーツに関して、セマンティック問い合わせを開始する場合がある。処理エンジンが、公園の現在の屋外の気温、湿度、または風のデータなど未処理の事実のみを有する場合、SPARQL問い合わせ処理が、パターン整合に基づく(例えば、通常、整合は正確でなければならない)ために、問い合わせに対する答えを得られない場合がある。これに対して、それらの未処理事実を推論を通して高水準事実(例えば、現在、スポーツに最適な時間であるかどうか)を推測するために使用することができる場合、この推測事実は、ユーザ問い合わせの直接的な答えになる可能性がある。
既存のサービス層は、セマンティック推論を可能にする能力を持っておらず、それなしでは種々のセマンティックベース操作を効率的に動作させることができない。セマンティック推論が、より効率的かつ効果的にサポートされるためには、本明細書に開示される方法およびシステムに関連するセマンティック推論のうち1つまたは複数が、実装される必要がある。要約すると、図6を参照すると、方法およびシステムは、下記の3つの部分を伴う場合がある。1)ブロック115−セマンティック推論データ(例えば、事実および規則を指す)の管理を可能にする。2)ブロック120−個別のセマンティック推論処理を可能にする。3)ブロック125−バックグラウンド推論サポートを伴う他のセマンティック操作を最適化する。ブロック115(部分1)は、事実セットおよび規則セットがサービス層で利用可能となるように、セマンティック推論をどのように動作可能にするかに焦点を合わせている。事実セット(Fact Set:FS)および規則セット(Rule Set:RS)が使用可能であり、かつセマンティック推論器(Semantic Reasoner:SR)も動作可能である場合、個別のセマンティック推論処理をブロック120(部分2)で開始することができ、その際、推測結果は、次の推論操作での入力に再び使用される場合がある。最後に、ブロック125(部分3)で、セマンティック操作(例えば、セマンティック問い合わせ、セマンティックリソース発見、セマンティックマッシュアップなど)をより効率的かつ効果的に実行するために、開示されるセマンティック推論を使用することができる。上述の方法およびシステムのそれぞれは、本明細書でより詳細に開示される。
例えば図7から図15に示すような、本明細書で示すステップを実施するエンティティは、論理エンティティである場合があることを理解されたい。これらのステップは、図37Cまたは図37Dに示すような、デバイス、サーバ、またはコンピュータシステムの、メモリに記憶されてよく、また、それらのプロセッサで実行されてよい。一例では、M2Mデバイスの相互作用に関して下記のさらなる詳細により、図33AのAE331は、図37AのM2M端末デバイス18に常駐する場合があり、一方で、図33AのCSE332およびCSE333は、図37AのM2Mゲートウェイデバイス14に常駐する場合がある。本明細書で開示される各例示的方法(例えば、図7から図15)間で、ステップの省略、ステップの組み合わせ、またはステップの追加が想定される。
SL(ブロック115−部分1)での、事実および推論規則を発行、更新および共有する方法を下記にて開示する。下記のデータエンティティは、事実セット(FS)および規則セット(RS)と、定義される。事実セット(FS)は事実のセットである。FSが、セマンティック推論に含まれる場合、FSは、InputFSまたはInferredFSに、さらに分類される場合がある。特に、InputFS(ブロック116)は、特定の推論操作への入力として使用されるFSであり、また、InferredFS(ブロック122)は、セマンティック推論結果である(例えば、InferredFSは推測事実を含む)。推論操作Aによって生成されるInferredFS(ブロック122)は、(図6に示すように)後の/次の推論操作でInputFSとして使用することができる。InputFSは、Initial_InputFSとAddi_InputFSにさらに分類される場合がある(例えば、図13を参照)。セマンティック推論操作をトリガするために、推論イニシエータ(Reasoning Initiator:RI)がセマンティック推論器(SR)に要求を送信するときに、推論イニシエータによってInitial_InputFSが提供される場合がある。さらに、Addi_InputFSは、追加の事実がセマンティック推論操作で使用される必要がある場合に、SRによって提供または決定される。下記の説明では、基本的な用語FSが、複数のタイプの事実セットを対象として使用されることがある。規則セット(RS)(例えば、RS117)は、推論規則のセットである。RSは、Initial_RSとAddi_RSにさらに分類される場合がある。例えば、セマンティック推論操作をトリガするために、RIがSRに要求を送信するときに、RIによってInitial_RSが提供される。さらに、追加の規則が、セマンティック推論操作で使用される必要がある場合に、SRによってAddi_RSが提供または決定される。Initial_InputFSは、推論イニシエータ(RI)によって提供されるFSを指す。例えば、RIがSRに推論要求を送信するときに、RIは推論入力となる事実を示す場合があるが、このような事実は、Initial_InputFSと見なされる。次に、SRは、Initial_InputFSが充分ではないことを見つけて、入力としてより多くの事実を含める場合があり、それは、Addi_InputFSと見なされる。
FSの観点から、サービス層では、データは通常リソースとして発現され、事実は異なる場所で細分化または分散されている。事実は、通常のSLリソースのセマンティックアノテーション(例えば、異なる<semanticDescriptor>リソースのRDFトリプル)に限られず、事実は、サービス層で(例えば、発行されて)利用できるようにされ、その他のものによって格納またはアクセスされる場合がある任意の情報または知識を指す場合がある。例えば、FSの特殊ケースが、oneM2Mで定義された<ontology>リソースに格納される場合があるオントロジーである場合がある。
RSの観点から、SLベースプラットフォームは、しばしば、異なるドメインにわたるアプリケーションを動作可能にするホリゾンタルなプラットフォームとなることが想定される。したがって、異なるRSが、サービス層で(例えば、発行されて)利用できるようにされ、かつ異なるアプリケーションをサポートするために他のものによって格納またはアクセスされる場合がある。例えば、公園の現在の屋外気温、湿度、または風を記述するInputFSに関しては、屋外活動助言関連推論規則が、現在、屋外スポーツに最適な時間であるかどうかといった高水準事実を推測するために使用される場合がある(これは、直接処理することができるものである)。これに対して、スマート芝生散水関連規則が、現在の散水スケジュールが望ましいかどうかといった事実を推測するために使用される場合がある。全体的に、ブロック115−部分1は、サービス層およびそれらの関連CRUD(作成、読み取り、更新、および削除)操作でFSまたはRSをどのように利用できるようにするかといった観点からセマンティック推論データを使用可能にする方法に関連する。
このセクションでは、所定のFS(InputFSとInferredFSとを対象とするケース)を発行、アクセス、更新、または削除する場合があるような、FS使用可能性に対するCRUD操作について提示する。
下記のプロシージャでは、いくつかの「論理エンティティ」が関与し、それらのそれぞれが対応する役割を有する。それら論理エンティティについて以下に記載する。
・ 事実プロバイダ(Fact Provider:FP):これは、所定のFSを作成し、かつそのFSをSLで利用できるようにするエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 事実ホスト(Fact Host:FH):これは、所定のFSをホストする場合があるエンティティ(例えば、oneM2M CSE)である。
・ 事実モディファイア(Fact Modifier:FM):これは、既存のFSに変更または更新を行うエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 事実コンシューマ(Fact Consumer:FC):これは、SLで、利用可能な所定のFSを読み出すエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 事実プロバイダ(Fact Provider:FP):これは、所定のFSを作成し、かつそのFSをSLで利用できるようにするエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 事実ホスト(Fact Host:FH):これは、所定のFSをホストする場合があるエンティティ(例えば、oneM2M CSE)である。
・ 事実モディファイア(Fact Modifier:FM):これは、既存のFSに変更または更新を行うエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 事実コンシューマ(Fact Consumer:FC):これは、SLで、利用可能な所定のFSを読み出すエンティティ(例えば、oneM2M AEまたはCSE)である。
したがって、異なる物理エンティティが、上記のように異なる論理的役割を担う場合がある。例えば、AEがFPであり、CSEがFHである場合がある。oneM2M CSEなどの1つの物理エンティティが、上記のような複数の役割を担う場合がある。例えば、CSEは、FPであり、同様にFHである場合がある。AEがFPである場合があり、後にFMになる場合もある。
図7は、FS発行向けの作成操作の例示的方法を示す。図7に示すように、FS−1の発行に関与するFP131およびFH132がある場合がある。ステップ140は、発行方法の前提条件である場合がある。ステップ140で、FP131は、FS−1と表される事実のセットを有している。FP131は、システム内でFS−1を利用できるようにする(例えば、トリガに基づいて決定する)ことを目的としている。例えば、考えられるトリガは、FS−1が外部エンティティにとって利用できるようになる場合、このことが、FP131をトリガして、サービス層に対してFS−1を発行させる場合があることである。ステップ141で、FP131は、発行のためにFH132にFS−1を送信する。FSは、概して、いくつかの形態を有する場合があることに留意されたい。例えば、FS−1は、所定のユースケース(例えば、病院、市消防局、建物、部屋など、多くのドメイン概念およびそれらの関係が定義されている、本明細書に開示のスマートシティユースケースなど)でのドメイン知識を記述するオントロジーを指す場合がある。別の例では、FS−1は、特定のインスタンスに関連する事実を指す場合がある。図5の先の例を再度用いて、FSは、病院の現在の管理ゾーン定義、例えば、その建物、部屋構成、割り当て情報(例えば、管理ゾーンMZ−1は、血液検査サンプルを保管するために使用される部屋、例えば、建物1の部屋109、建物3の部屋117を含むなど)を記述する場合がある。これらのタイプの事実に関して、これらはシステム内で個別に存在する場合がある(例えば、必ずしも、他のリソースに対するセマンティックアノテーションであるわけではない)。加えて、FSは、システム内のリソース、エンティティ、または他のものについてのセマンティックアノテーションを指す場合もある。図5を引き続き参照すると、FSは建物1の部屋109に配備されたカメラ111のセマンティックアノテーションである場合がある。
図7を引き続き参照すると、ステップ142で、FH132は、FS−1をFH132に格納することができるかどうかを判断する。例えば、FH132は、FP131が、それを行うために適切なアクセス権を有しているかを確認する場合がある。FS−1をFH132に格納できる場合、FH132は、FS−1を格納するが、このFS−1は、システム内の他のエンティティが利用できるものである。例えば、その後のセマンティック推論処理が、入力としてFS−1を使用する場合があり、この場合、FS−1は処理のために読み出されてSRに入力される。所定のFSに関しては、有用な情報を示すために、一定の情報がこのFSに格納されるか、またはこのFSに関連付けられる場合がある(この情報は、ステップ141でFP131によって、または他のものによって提供される場合がある)。例えば、情報は、関連するオントロジーまたは関連する規則を含む場合がある。
関連するオントロジーについて、FS−1に格納されている事実は、一定のオントロジーによって定義された概念または用語を使用する場合があるため、どのオントロジーがそれらの事実と関係しているのかを示す(それにより、それらのRDFトリプルの主語/述語/目的語の意味を正確に解釈することができる)ことは有用である。例えば、FS−1に格納される下記の事実が考えられる。
事実1:Camera-111 is-located-in Room-109-of-Building-1
事実2: Room-109-of-Building-1 is-managed-under MZ-1
事実1:Camera-111 is-located-in Room-109-of-Building-1
事実2: Room-109-of-Building-1 is-managed-under MZ-1
FS−1内の事実は、特定のオントロジーによって定義されるボキャブラリまたはプロパティである場合がある「is-located-in」または「is-managed-by」などのいくつかの用語を使用することが観察できる。
関連する規則について、FS−1に格納されている事実は、一定の推論規則を用いる推論のために潜在的に使用される場合があることも考えられるので、どの潜在的RSを推論のためにこのFS−1に適用することができるかを示すことも有用である。他の規則もまた、それが意味をなす限りこのFS−1に適用される場合があるという点で、これらの規則は、単に提案であることに留意されたい。RS−1に格納される下記の推論規則が考えられる。
規則1:IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
規則1:IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
RS−1(規則1)内の規則は、FS−1に格納されている事実(事実1および事実2)に適用される場合がある。ステップ143で、FH132は、FS−1が、FH132に新しく格納されたことを肯定応答する。
図8は、FS読み出し向けの読み出し操作の例示的方法を示す。図8に示すように、FH132に格納されているFS−1を読み出すことがあるFC133がある場合がある。ステップ150では、読み出し方法の前提条件が存在する場合がある。ステップ150で、FC133は、既にFH132に対してリソース発見操作を行って関心のあるFS(例えば、FS−1)を識別している。図5の先の例を再度用いて、FS−1が病院の現在の管理ゾーン定義、例えば、その部屋割り当て情報を記述する場合、FS−1は推論処理の間にSRによって使用される場合がある。例えば、物理的位置情報(例えば、部屋および建物の番号)を用いるが、管理ゾーン関連情報は用いずにアノテートされている、関心のあるカメラを識別するために、FS−1は有用である場合がある。ユーザが、MZ−1に属する部屋に配備されたカメラを探している場合、かかるFS−1は推論処理を通して関連するカメラを識別するのに有用である。ステップ151で、FC133は、FS−1を読み出すためにFH132に要求を送信する。ステップ152で、FH132は、FC133がFS−1の読み出しを許可されるかどうか判断する。許可される場合、FH132は、FC133にFS−1のコンテンツを返す。ステップ153で、FS−1のコンテンツは、FC133に返される。
更新または削除操作に関して、FM134は、図9に示す、下記のプロシージャを使用してFH132に格納されているFS−1を更新または削除することができる。ステップ160で、あらかじめ、事実のセット(FS−1)が発行されているか、またはFH132によってローカルに生成されている。ここで、FM134はFS−1のコンテンツを更新する(例えば、トリガに基づいて決定する)か、またはFS−1を削除することを目的としている。例えば、FS−1は有効期限切れであるという通知をFMが既に受信しており、次に、更新または削除がトリガされる。図5の先の例を再度用いて、FS−1が病院の管理ゾーン定義、例えば、その部屋割り当て情報を記述すると仮定すると、病院が部屋割り当てを再編成した場合(例えば、現在、建物1の部屋109は、血液サンプルを保管するためではなく、他の目的で使用されているので、もはやMZ−1に属していない)、FS−1は、更新することを必要とされるか、または要求される場合がある。ステップ161で、FM134は、FS−1に格納されたコンテンツを修正するためにFH132に更新要求を送信するか、またはFS−1を削除するために削除要求を送信する。ステップ162で、FH132は、(例えば、一定のアクセス権に基づいて)この更新または削除要求が許可されてよいかどうか判断する。許可される場合、FM134から送信された要求に基づいてFS−1は更新または削除される。ステップ163で、FH132は、FS−1が更新または削除されたことを肯定応答する。代わりのアプローチとして、FSに格納されている事実が、RDFトリプルの形態である場合、FSはSPARQL問い合わせステートメントを使用して更新されてもよい。そのことを行うために、ステップ161で、更新要求は、FSがどのように更新される必要があるかを記述するSPARQL問い合わせステートメントを含んでもよい。特に、このアプローチでは、SPARQL問い合わせステートメントがどのように記述されているかによってFSは完全に更新されるか、または部分的に更新される場合がある。例えば、代わりのアプローチの例としては、FMが完全なセマンティック対応ユーザであり、かつSPARQL問い合わせ言語を認識している場合、FMはその更新要件または要求をSPARQL問い合わせ言語の形態で直接記述できることが挙げられる。
このセクションでは、所定のRSを発行、アクセス、更新および削除する場合があるような、RS使用可能性に対するCRUD操作について提示する。RS使用可能性は、概して、カスタマイズされた規則またはユーザ定義規則を指す。下記のプロシージャでは、いくつかの「論理エンティティ」が関与し、それらのそれぞれが対応する役割を有する。それら論理エンティティを以下に記載する。
・ 規則プロバイダ(Rule Provider:RP):これは、所定のRSを作成し、かつそのRSをSLで利用できるようにするエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 規則ホスト(Rule Host:RH):これは、所定のRSをホストする場合があるエンティティ(例えば、oneM2M CSE)である。
・ 規則モディファイア(Rule Modifier:RM):これは、既存のRSに変更(例えば、更新)を行うエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 規則コンシューマ(Rule Consumer:RC):これは、SLで利用可能な所定のRSを読み出すエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 規則プロバイダ(Rule Provider:RP):これは、所定のRSを作成し、かつそのRSをSLで利用できるようにするエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 規則ホスト(Rule Host:RH):これは、所定のRSをホストする場合があるエンティティ(例えば、oneM2M CSE)である。
・ 規則モディファイア(Rule Modifier:RM):これは、既存のRSに変更(例えば、更新)を行うエンティティ(例えば、oneM2M AEまたはCSE)である。
・ 規則コンシューマ(Rule Consumer:RC):これは、SLで利用可能な所定のRSを読み出すエンティティ(例えば、oneM2M AEまたはCSE)である。
したがって、異なる物理エンティティが、上記のように異なる論理的役割を担う場合がある。例えば、AEがRPであり、CSEがRHである場合がある。oneM2M CSEなどの1つの物理エンティティが、上記のような複数の役割を担う場合がある。例えば、CSEは、RPであり、同様にRHである場合がある。AEがRPである場合があり、後にRMになる場合もある。
作成操作に関しては、RP135は、図10に示す、下記のプロシージャを使用してRS−1を発行して、それをRH136に格納させることができる。前提条件として、ステップ170で、RP135は、RS−1と表される規則のセットを有している。RP135は、システム内でRS−1を利用できるようにすることを目的としている。考えられるトリガは、RS−1が外部エンティティにとって利用できるようになる場合、このことが、RP135をトリガして、サービス層に対してFS−1を発行させる場合があることである。ステップ171で、RP135は、発行のためにRH136にRS−1を送信する。図5の先の例を再度用いて、RS−1は、「IF A(例えば、カメラ111) is-located-in B(例えば、建物1の部屋109),and B is-managed-under C(例えば、MZ−1), THEN A monitors-room-in C」という規則を含む場合がある。このような規則は、特定のMZにカメラを関連付ける新しい事実を推測するのに有用である場合がある。ステップ172で、RH136は、一定のアクセス権に基づいて、RS−1がRH136に格納されてよいかどうかを判断する。RS−1が、RH136に格納されてよい場合、RH136は、RS−1を格納することができるが、このRS−1は、システム内の他のエンティティが利用できるものである。例えば、その後のセマンティック推論処理が、入力としてRS−1を使用する場合があり、この場合、RS−1は処理のために読み出されてSRに入力される場合がある。有用な情報を示すために、一定の情報がこのRSに格納されるか、またはこのRSに関連付けられる場合がある。この情報は、ステップ171でRP135によって、または他のものによって提供される場合がある。例えば、情報は、関連するオントロジーまたは関連する事実を含む場合がある。関連するオントロジーについて、RSに格納された規則は、一定のオントロジーによって定義された概念または用語を使用する場合があることが考えられ、したがって、どのオントロジーがそれらの規則に関係しているのかを示すことは有用である。例えば、RS−1に格納される下記のユーザ定義推論規則が考えられる。
規則1:IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
規則1:IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
規則1は、特定のオントロジーによって定義されるボキャブラリ/プロパティである場合がある「is-located-in」または「is-managed-by」などいくつかの用語を使用する。
関連する事実について、RSに格納される規則は、一定のタイプの事実に適用される場合があることが考えられ、したがって、推論のために、このRSがどの潜在的FSに適用されるかを示すことも有用である。FSで使用される用語と、RSで使用される用語とが重複する場合に、このRSが他の事実に適用される場合があるという点で、これらの事実は、単に提案であることに留意されたい。例えば、RDFトリプルとして記述される、下記の2つの事実がFS−1に格納されることが考えられる。
事実1:Camera-111 is-located-in Room-109-of-Building-1
事実2:Room-109-of-Building-1 is-managed-under MZ-1
事実1:Camera-111 is-located-in Room-109-of-Building-1
事実2:Room-109-of-Building-1 is-managed-under MZ-1
「is-located-in」または「is-managed-by」のような用語など、事実で使用されるオントロジーと、規則で使用されるオントロジーとが重複するので、RS−1(規則1)の規則は、FS−1に格納されている事実(事実1および事実2)に適用される場合がある。ステップ173で、RH136は、RS−1がURIと共にRH136に新しく格納されたことを肯定応答する。
このセクションでは、推論規則をどのように作成することができるかを示す。まず、種々のアプリケーションシナリオまたは要件に基づいて、先に論じたインテリジェント医療施設管理ユースケースにおいて定義される規則などの種々のアプリケーションによる推論規則が、定義される場合がある。
規則1:IF A is-located-in B && B isEquippedWith BackupPower, THEN A isEquippedWith BackupPower
規則1:IF A is-located-in B && B isEquippedWith BackupPower, THEN A isEquippedWith BackupPower
次に、推論規則が生成される場合がある別のケースは、オントロジーアライメントまたはマッピングが行われる場合である。オントロジーアライメントまたはオントロジーマッチングは、オントロジー内の概念間の相関関係を決定する処理である。一例として、所定のオントロジーAおよびオントロジーBに関して、オントロジーマッピングが行われない場合があり、識別されるマッピングのうち1つは、オントロジーAの概念またはクラス「record」が、オントロジーBの概念/クラス「log record」に相当するか、または同じであることである場合がある。概念は、通常、オントロジーで定義されたクラスに対応する。そのため、通常、概念およびクラスは、同じものを指す。ここで、「record」と呼ばれるクラスが、オントロジーAで定義され、「log record」と呼ばれるクラスが、オントロジーBで定義される。したがって、このマッピングは、下記のトリプルなどの(OWLで定義された述語「sameAs」を使用する)RDFトリプルとして記述される。
・ RDFトリプルA:ontologyA:Record owl:sameAs ontologyB:LogRecord
・ RDFトリプルA:ontologyA:Record owl:sameAs ontologyB:LogRecord
下記で提示するように、このRDFトリプルAをさらにどう利用するかに関する複数の方法がある。言い換えると、RDF−Aのトリプルは、既に2つのオントロジー間でマップされている結果である。ここで、このマッピング結果をさらに利用することができる例示的方法の説明を以下に示す。第1の方法では、RDFトリプルAは、record(例えば、Record−X)のセマンティックアノテーションに追加される場合がある。例えば、所定のRecord−Xに関して、まずそのセマンティックアノテーションは、(Record−Xが、オントロジーBのLogRecord概念/クラスのインスタンスであることを示す)下記のRDFトリプルだけを含む。
・ RDFトリプルB:Record-X is-a ontologyB:LogRecord
・ RDFトリプルB:Record-X is-a ontologyB:LogRecord
それに応じて、ユーザが望む場合、下記のSPARQL問い合わせステートメントを用いてセマンティック発見を行う。
・ SELECT ?rec WHERE { ?rec is-a ontologyA:Record }
・ SELECT ?rec WHERE { ?rec is-a ontologyA:Record }
上記のSPARQL問い合わせステートメントが、Record−Xのセマンティックアノテーションと一致しないので(Record−Xは、ontologyB:LogRecordのタイプであるが、ユーザが探しているrecordは、ontologyA:Recordのタイプであるので)、ユーザは、発見結果でRecord−Xを得ることはできない。この問題を解決するために、RDFトリプルAをRecord−Xのセマンティックアノテーションに追加してもよい。次に、セマンティック発見操作の間に上記のSPARQLステートメントを処理するときに、例えば、一定の推論規則をRecord−Xのセマンティックアノテーションに適用することによって推論がトリガされる場合がある。
規則2:If uuu owl:sameAs vvv and Y is-a uuu, Then Y is-a vvv(ここで、「uuu」、「vvv」、「Y」は、全て置換されるワイルドカードである)
規則2:If uuu owl:sameAs vvv and Y is-a uuu, Then Y is-a vvv(ここで、「uuu」、「vvv」、「Y」は、全て置換されるワイルドカードである)
その結果、推論結果は、下記のトリプルである。
RDFトリプルC:Record-X is-a ontologyA:Record
RDFトリプルC:Record-X is-a ontologyA:Record
次に、かかるRDFトリプルCが、元のSPARQLステートメント(例えば、パターンWHERE { ?rec is-a ontologyA:Record })と一致でき、このセマンティック発見操作の間に、最終的にRecord−Xが識別される。
第2の方法は、RDFトリプルAを、さらに使用するために推論規則に変換する。例えば、RDFトリプルAは下記の推論規則として表される場合がある。
規則3: If Y is-a ontologyB:LogRecord, Then Y is-a ontologyA:Record.
規則3: If Y is-a ontologyB:LogRecord, Then Y is-a ontologyA:Record.
このようにして、本開示で記載されるRS使用可能性プロシージャを使用してサービス層にこのような推論規則を格納することができる(例えば、作成操作を使用して、ホスト上にRSを作成する。oneM2Mでは、作成操作を使用して、<reasoningRule>リソースを作成し、規則3を格納する場合がある)。
先の例(前述のRecord−XおよびSPARQLステートメント)を再度用いる。このアプローチでは、RDFトリプルAを、Record−Xのセマンティックアノテーションに追加しない。代わりに、セマンティック発見操作の間に上記のSPARQLステートメントを処理するときに、セマンティック推論が、規則3を使用してトリガされてもよい。結果として、推論結果は、RDFトリプルCと同じになることが可能である。最終的に、Record−Xはまた、このセマンティック発見操作の間に識別可能になる。
読み出し操作に関しては、RC137は、図11に示す下記のプロシージャを使用して、RH136に格納されているRS−1を読み出すことができる。前提条件として、ステップ180で、RC137は、既にRH136に対してリソース発見操作を行って関心のあるRS−1を識別している。例えば、RC137はSRであり、RS−1を使用して推論操作をすることを目的としている(例えば、この場合、SRは、RCの論理的役割を担う)。ステップ181で、RC137は、RS−1読み出しのためにRH136に要求を送信する。ステップ182で、RH136は、RC137がRS−1の読み出しを許可されるかどうか判断する。許可される場合、RH136は、RC137にRS−1のコンテンツを返す。ステップ183で、RS−1のコンテンツは、FC133に返される。
更新/削除操作に関しては、RM138は、図12に示す下記のプロシージャを使用して、RH136に格納されているRS−1を更新または削除することができる。前提条件として、ステップ190で、事前に、規則のセット(RS−1)が、RH136に発行されている。ここで、RM138は、RS−1のコンテンツを更新する(例えば、トリガに基づいて決定する)か、またはRS−1を削除することを目的としている。例えば、RS−1が有効期限切れであるという通知をRM138が受信して、そのRS−1が更新または削除の必要があることが、トリガである場合がある。図5の先の例を再度用いて、RS−1には初めから1つの推論規則のみが含まれている。しかし、デバイスのアクセス権についてより多くの事実を推測するために、新しい推論規則が追加される場合がある。例えば、新しい規則は、「IF A(例えば、カメラ111)is-managed-under B(例えば、血液検査サンプルを保管する部屋のMZ−1),and B is-exposed-to C(例えば、市保健局がMZ−1を認識している)、THEN C is-allowed-to-access A(例えば、カメラ111は市保健局によってアクセスされてよい)」である場合がある。推論のためにこの新しい規則を使用するときに、どのデバイスが市保健局によってアクセスされてよいかといった問い合わせに答えるために、推測事実が使用されてよい。ステップ191で、RM138は、RS−1に格納されたコンテンツを修正するためにRH136に更新要求を送信するか、またはRS−1を削除するために削除要求を送信する。ステップ192で、RH136は、一定のアクセス権に基づいて、この更新/削除要求が許可されてよいかどうかを判断する。許可される場合、RM138から送信された要求に基づいてRS−1は更新/削除される。ステップ193で、RH136は、RS−1が更新/削除されたことを肯定応答する。
本パートでは、個別のセマンティック推論処理を可能にするいくつかの方法およびシステムを提示する。第1の例示的方法は、1回限りの推論操作に関連する場合がある。この操作の場合、推論イニシエータ(RI)は関心のあるいくつかのInputFSおよびRSを既に識別しており、いくつかの新しい事実(例えば、知識)を識別するために、SRで推論操作を開始することを望んでいる。第2の例示的方法は、連続的な推論操作に関連する場合がある。このシステムでは、RIは、関連するInputFSおよびRSに対して連続的な推論操作を開始することを必要とされるか、または要求される場合がある。この理由としては、InputFSおよびRSが時間とともに変更(例えば、更新)されることで、以前の推測事実がそれ以上有効ではなくなる場合があることが考えられる。したがって、新しい推論操作が最新のInputFSおよびRSに対して実行されて、より新しい推測事実を得る必要がある。
先の例を使用して、セマンティック推論処理は、(InputFSとして)公園の現在の屋外の気温/湿度/風と、(RSとして)屋外活動助言関連推論規則とを、2つの入力として取り込む場合がある。推論処理実行後、(InferredFSとして)高水準事実が、例えば、現在がスポーツに最適な時間であるかどうかについて推測される場合がある。ここで、用語「個別の」は、セマンティック推論処理が、他のセマンティック操作(例えば、セマンティックリソース発見セマンティック問い合わせなど)と必ずしも関連するわけではないことを意味する。セマンティック推論処理を可能にするためには、以下のいくつかの問題が伴う。
1. 使用すべきInputFSが何で、それをどこから収集するのか?
2. 使用すべきRSが何で、それをどこから収集するのか?
3. InputFSおよびRSを収集することをどの部分が担当するのか?例えば、それはセマンティック処理を開始するアプリケーションエンティティであるか、またはSRがこれを取り扱う場合がある。
4. InferredFSが、RSによって得られたときに、それをどこに配信または保存するのか?
1. 使用すべきInputFSが何で、それをどこから収集するのか?
2. 使用すべきRSが何で、それをどこから収集するのか?
3. InputFSおよびRSを収集することをどの部分が担当するのか?例えば、それはセマンティック処理を開始するアプリケーションエンティティであるか、またはSRがこれを取り扱う場合がある。
4. InferredFSが、RSによって得られたときに、それをどこに配信または保存するのか?
以下に開示する方法およびシステムは、上述の問題を解決する。いくつかの先に定義した「論理エンティティ」には、FHおよびRHなどが依然として含まれる。加えて、SRは、このシステムで利用可能であり、推論イニシエータ(RI)と呼ばれる新しい論理エンティティは、推論操作をトリガするためにSRに要求を送信することのあるものである。
1回限りの推論に関するこのシナリオでは、RIは、いくつかの関心のあるInputFSおよびRSを既に識別しており、いくつかの新しい知識/事実を発見するために、SRで推論操作を開始することを望んでいる。サービス層での1回限りの推論操作をトリガする方法を提供するシステム、方法または装置を、本明細書にて開示する。図13は、1回限りの推論操作の例示的方法を示し、かつ詳細を以下に記載する。ステップ200では、前提条件として、RI231は、SR232の存在を認識している。RI231は、AEまたはCSEである場合がある。発見を通して、RI231は、FH132上の関心のある事実のセット(この事実セットは、Initial_InputFSと表される)、およびRH136上のいくつかの推論規則(この規則セットはInitial_RSと表される)を既に識別している。RI231は、まずInitial_InputFS部分を識別して、Initial_InputFSについてのより多い情報も利用可能である場合(例えば、推論のために、どの潜在的RSが、Initial_InputFSに適用されるかを示す「関連する規則」情報も利用可能である場合)、RI231は、それらの提案からいくつかの関心のある規則を直接選択する場合があることも考えられる。本開示を通して議論する識別される「関心のある」事実および規則に関して、推論イニシエータ(RI)は、既存のセマンティックリソース発見を使用して、事実または推論規則を格納しているoneM2Mリソースを識別することができる。概して、セマンティック発見要求の際に、セマンティクスフィルタおよびこのフィルタは、SPARQLステートメントを通過させる場合がある。このSPARQLステートメントは、RIが関心のある事実または規則のタイプを示す場合がある(すなわち、要求メッセージは、一定のデータについてのより多い情報に対する要求を含む)。例えば、RIは、「この街の街灯についての事実、例えば、製造年、ブランド、位置などを全て知りたい」と述べる場合があり、これが、RIが関心のある事実である。RIはまた、「街灯の保守計画を表す推論規則を知りたい」と述べる場合もある。例えば、規則は、「街灯がブランドXであり、それが特定の道路に設けられている場合、この街灯は、直ちに、改善する必要がある」と記述される場合があり、これが、RIが関心のある規則である。次に、RI(例えば、市の街灯保守計画アプリケーション)が、どの街灯が改善される必要があるかを知りたい(これは、RIが「〜を目的としている」というときの例である場合がある)場合、このRIは、識別された事実および規則を使用して、図13に示すような推論操作をトリガすることができ、推論結果は、改善される必要がある街灯のリストである。すなわち、要約すると、RIが関心のある事実または規則のタイプは、アプリケーションの実務ニーズによって決まる場合がある。
一例として、RI231は、2つのカメラ(例えば、カメラ111、カメラ112)に関心があり、Initial_InputFSが、下記のような、2つのカメラについてのいくつかの事実を有する。
事実1:Camera-111 hasBrandName “XYZ”
事実2:Camera-112 is-located-in Building-1
事実1:Camera-111 hasBrandName “XYZ”
事実2:Camera-112 is-located-in Building-1
RI231はまた、(Initial_RSとして)下記の規則を識別して、推論にそれを使用して、関心のあるカメラについてのより多い暗黙の知識/事実を発見することを目的としている。
規則1: IF A hasBrandName “XYZ”, THEN A isEquippedWith BackupPower
規則1: IF A hasBrandName “XYZ”, THEN A isEquippedWith BackupPower
これらのInitial_InputFSおよびInitial_RSを用いることで、電源が切れたとしても、常にモニタリング用途をサポートできるように、これらのカメラがバックアップ電源を有しているかどうかに関するいくつかの新しい知識を推測することが可能である。ステップ201で、RI231は、新しい知識を発見するために、Initial_InputFSおよびInitial_RSを入力として使用して(例えば、トリガに基づいて決定して)、SR232での推論操作/ジョブをトリガすることを目的としている。RI231に共振要求を送信させるトリガは、RI231が、先の発見操作の間に事実および規則の「空でない」セットを受信し、このことがRIをトリガして推論要求を送信させることである場合がある。言い換えると、Initial_RSおよびInitial_FSが空でなければ、RI231をトリガして、推論要求を送信することができる。ステップ202で、RI231は、SR232にInitial_InputFSおよびInitial_RS(例えば、これらのURI)についての情報と共に推論要求を送信する。例えば、情報は、Initial_InputFSを格納している対応するFH132のURI、およびInitial_RSを格納している対応するRH136のURIを含む。ステップ203で、RI231から送信された情報に基づいて、SR232は、FH132からInitial_InputFS−1、およびRH136からInitial_RSを読み出す。
ステップ204で、RI231によって提供された入力に加えて、追加のFSまたはRSがこのセマンティック推論操作で使用されてよいかどうかを、SR232が決定する場合がある。SR232が代わりのFHおよびRHを認識する場合、SR232は追加のFSまたはRSを取得するために該代わりのFHおよびRHに問い合わせする場合がある。
例えば、RI231が、部分的な事実および規則しか識別していない可能性があり(例えば、RI231がFH234およびRS−2に対して発見を行わなかったが、RI231が関心があり、FH234およびRS−2上に有用なFSおよびRSが存在する)、つまりは、新しい知識を推測するSRの能力に限度がある可能性がある。例えば、Initial_InputFSおよびInitial_RSだけを用いると、SR232は、下記のような新しい事実の一部しか得られない場合がある。
推測事実1:Camera-111 isEquippedWith BackupPower
推測事実1:Camera-111 isEquippedWith BackupPower
概して、ステップ204では、SR232が追加の事実または追加の規則を使用するかについて、異なる実装選択を有する場合がある。例えば、最初のアプローチでは、ステップ202で、SR232が追加の事実または規則を追加してもよいかどうかをRI231が示す場合がある。2つ目のアプローチでは、ステップ202で、SR232が追加の事実または規則を追加してもよいかどうかをRI231が示さない場合がある。代わりに、SR232のローカルポリシーが、このような決定を行う場合がある。
ステップ204について引き続き言及すると、概して、どの追加のFSおよびRSを利用することができるかをSR232が決定するために下記の方法が考えられる。これは、SR232にいくつかのローカルポリシーまたは構成を設定することによって達成することができる。例えば、
・ Initial_InputFSに含まれる所定のFS(例えば、FS−1)に関して、SR232は、FS−1に関連する(例えば、格納されている)有用な情報があるかどうかをさらに確認してもよい。例えば、情報は、「関連する規則」を含む場合があり、これは、どの潜在的RSが、推論のためにFS−1に適用されてよいかを示すものである。これらの関連する規則のどの部分もInitial_RSに含まれていない場合、RI231はさらに、追加の規則として、それらの関連する規則の一部を加えるかどうかを判断してもよい。
・ Initial_RSに含まれている所定のRS(例えば、RS−1)に関して、RS232は、RS−1に関連する/格納されている有用な情報があるかどうかをさらに確認してもよい。例えば、情報の1つは、「関連する事実」である場合があり、これは、どの潜在的FSが、RS−1に適用されてよいかどうかを示すものである。これらの関連する事実のどの部分もInitial_InputFSに含まれていない場合、RI231はさらに、追加の事実として、それらの事実の一部を加えるかどうかを判断してもよい。
・ SR232が、上述のようなInitial_InputFSおよびInitial_RSから有用な情報を得ることができない場合、SR232は、そのローカル構成またはポリシーに基づいて動作してもよい。例えば、SR232は、Initial_InputFSまたはInitial_RSで使用される一定のオントロジーまたは関心のある用語/概念/述語を認識する限り、より多くの事実または規則をさらに読み出しできるように構成されてもよい。言い換えると、SR232は、ローカル構成テーブルにその関心のあるキーワードを記録し、かつ各キーワードはいくつかの関連するFSおよびRSに関連付けられてもよい。したがって、Initial_InputFSおよびInitial_RSで現れる任意のキーワード(用語、概念、または述語)に対して、SR232はその構成テーブルを確認し、このキーワードの関連付けられたFSまたはRSを探し出してもよい。これらの関連付けられたFSおよびRSは、Initial_InputFSおよびInitial_RSに含まれていない場合、利用される可能性のある潜在的な追加のFSおよびRSである場合がある。例えば、SR232が、事実2を受信して、用語「Building−1」が事実2で現れたことを見つける(例えば、「Building−1」は、関心のある用語またはその構成テーブル内のキーワードである)場合、SR232は、下記の事実3のような、建物1についての追加の事実を(例えば、その構成テーブル内の情報に基づいて)加えることを選択してもよい。同様に、SR232は、関心のある述語「is-located-in」が事実2で現れ、関心のある述語「isEquippedWith」が事実3で現れることを見つけると、下記の規則など、追加の/さらに多くの規則を加える。
事実3:Building-1 isEquippedWith BackupPower
規則2:IF A is-located-in B && B isEquippedWith BackupPower, THEN A isEquippedWith BackupPower
・ SR232はまた、RI231のタイプが与えられると、追加のFSおよびRSが利用されるように構成されてもよい(RIのタイプに応じて、例えば、RIがVIPユーザである場合、さらに多くのFSを推論処理に含むことができ、そうすることで、高品質推論結果を生成することができる)。
・ Initial_InputFSに含まれる所定のFS(例えば、FS−1)に関して、SR232は、FS−1に関連する(例えば、格納されている)有用な情報があるかどうかをさらに確認してもよい。例えば、情報は、「関連する規則」を含む場合があり、これは、どの潜在的RSが、推論のためにFS−1に適用されてよいかを示すものである。これらの関連する規則のどの部分もInitial_RSに含まれていない場合、RI231はさらに、追加の規則として、それらの関連する規則の一部を加えるかどうかを判断してもよい。
・ Initial_RSに含まれている所定のRS(例えば、RS−1)に関して、RS232は、RS−1に関連する/格納されている有用な情報があるかどうかをさらに確認してもよい。例えば、情報の1つは、「関連する事実」である場合があり、これは、どの潜在的FSが、RS−1に適用されてよいかどうかを示すものである。これらの関連する事実のどの部分もInitial_InputFSに含まれていない場合、RI231はさらに、追加の事実として、それらの事実の一部を加えるかどうかを判断してもよい。
・ SR232が、上述のようなInitial_InputFSおよびInitial_RSから有用な情報を得ることができない場合、SR232は、そのローカル構成またはポリシーに基づいて動作してもよい。例えば、SR232は、Initial_InputFSまたはInitial_RSで使用される一定のオントロジーまたは関心のある用語/概念/述語を認識する限り、より多くの事実または規則をさらに読み出しできるように構成されてもよい。言い換えると、SR232は、ローカル構成テーブルにその関心のあるキーワードを記録し、かつ各キーワードはいくつかの関連するFSおよびRSに関連付けられてもよい。したがって、Initial_InputFSおよびInitial_RSで現れる任意のキーワード(用語、概念、または述語)に対して、SR232はその構成テーブルを確認し、このキーワードの関連付けられたFSまたはRSを探し出してもよい。これらの関連付けられたFSおよびRSは、Initial_InputFSおよびInitial_RSに含まれていない場合、利用される可能性のある潜在的な追加のFSおよびRSである場合がある。例えば、SR232が、事実2を受信して、用語「Building−1」が事実2で現れたことを見つける(例えば、「Building−1」は、関心のある用語またはその構成テーブル内のキーワードである)場合、SR232は、下記の事実3のような、建物1についての追加の事実を(例えば、その構成テーブル内の情報に基づいて)加えることを選択してもよい。同様に、SR232は、関心のある述語「is-located-in」が事実2で現れ、関心のある述語「isEquippedWith」が事実3で現れることを見つけると、下記の規則など、追加の/さらに多くの規則を加える。
事実3:Building-1 isEquippedWith BackupPower
規則2:IF A is-located-in B && B isEquippedWith BackupPower, THEN A isEquippedWith BackupPower
・ SR232はまた、RI231のタイプが与えられると、追加のFSおよびRSが利用されるように構成されてもよい(RIのタイプに応じて、例えば、RIがVIPユーザである場合、さらに多くのFSを推論処理に含むことができ、そうすることで、高品質推論結果を生成することができる)。
このステップ204でのアプローチは、図14のステップ214および図15のステップ225などの、この後のセクションの方法で使用される場合がある。
ステップ205で、SR232は、FH234から追加のFS(Addi_InputFSと表される)、およびRH235からの追加のRS(Addi_RSと表される)を読み出す。例えば、Addi_InputFSは、建物1について先に示した事実3を有し、Addi_RSは先に示した規則2を有する。追加のFSおよびRS、ならびに事実2を用いて、SR232は、推測事実2を得ることができる。
推測事実2: Camera-112 isEquippedWith BackupPower
推測事実2: Camera-112 isEquippedWith BackupPower
ステップ206で、全てのInputFS(例えば、Initial_InputFSおよびAddi_InputFS)およびRS(例えば、Initial_RSおよびAddi_RS)を用いて、SR232は、推論処理を実行して、InferredFSを得る。先に述べたように、2つの推測事実(推測事実1および推測事実2)が、InferredFSに含まれることになる。ステップ207で、SR232は、RI231にInferredFSを返信する。
要約すると、オントロジー内で教師、生徒、教科などの概念はクラスと等しく、それら全ては、大学オントロジー内の概念である。述語は、例えば、ある教師がある教科を「教える」など、クラス間の「関係」を説明する。用語は、例えば、「フルタイム」など全員が理解しているドメイン内のキーワードであることが多い。下記のRDFトリプル(主語・述語・目的語で表される)が考えられる。
RDFトリプル1:Jack is-a Teacher(ここで、Teacherはクラス、JackはクラスTeacherのインスタンスである。)
RDFトリプル2:Jack teaches Course-232(ここで、このRDFトリプルのteachesは述語である。)
RDFトリプル3:Jack has-the-work-status“Full-time”(ここで「full−time」は全員が知っている用語である。)
図13に示すプロシージャのいくつかの代替策もまた、下記のように定義される(代替策は、別々に考慮される場合がある)。ステップ201の代替策1では、RI231は、Initial_InputFSおよびInitial_RSを識別するために発見を行う必要がない。その代わりに、RI231それ自体が、Initial_InputFSおよびInitial_RSを生成して、SR232にそれらを送信してもよい(この場合、ステップ203は、必要ではない)。
ステップ201の代替策2では、RI231は、ユーザ定義推論規則セットを使用する必要がない。その代わりに、既存の標準的な推論規則を利用してもよい。例えば、SR232は、RDFS含意、OWL含意などの、特定のW3C含意レジームによって定義された推論規則の全てまたは部分に基づいて推論をサポートしてもよい(例えば、この場合、Initial_RSは、それらの標準推論規則を指すことがある)。そのことを行うために、RI231は、最初にRI231がSR232を発見するときに、どの標準推論規則または含意レジームが、サポートされてよいかをSR232に尋ねる場合がある。
ステップ202の代替となる代替策3では、RI231は、Initial_InputFSおよびInitial_RSについての位置情報だけを送信する場合がある。次に、SR232は、RI231の代わりに、Initial_InputFSおよびInitial_RSを読み出す場合がある。
代替策4では、セマンティック推論操作は時間がかかることがあるという事実を考慮して、セマンティック操作をトリガするために、非ブロックベースアプローチがサポートされてよい。例えば、ステップ203の前に、SR232はまず、RI231からの要求の承諾についてクイック肯定応答を送信してもよい。SR232は、推論結果(例えば、InferredFS)を導き出した後に、ステップ207に示すように、RI231にInferredFSを返信する。ブロックベースアプローチでは、RIがSRに要求を送信するときに、SRが推論結果を導き出す前に、SRは、RIにいずれの応答も送信しないことに留意されたい。これに対して、非ブロックアプローチでは、SRは推論要求を受信すると、RIにクイック肯定応答を返す場合がある。その場合、その後、SRは推論結果を導き出すと、RIに推論結果をさらに送信する場合がある。
ステップ207の別の代替である代替策5では、InferredFSは、RI231に返される必要がない。その代わりに、要件または計画的利用に基づいて一定のFHに格納されてもよい。例えば、
1. SR232は、Initial_InputFSが、以前よりも「強化される」ように、InferredFSとInitial_InputFSを統合してもよい。このことは、Initial_InputFSが、デバイスのセマティックアノテーションである場合に有用である。InferredFSを用いて、セマティックアノテーションは、より豊富な情報を有することができる。例えば、初めに、Initial_InputFSが、「Camera-111 is-a OntologyA: VideoCamera」という事実だけを記述する場合がある。推論が行われた後に、カメラ111のセマンティックアノテーションとして加えることができる推測事実(Camera-111 is-a OntologyB:DigitalCamera)が生成される。このようにして、カメラ111は、(推論サポートがなかったとしても)その後の発見操作で正常に識別される可能性が高くなり、それにより、オントロジーAで定義される概念「VideoCamera」か、またはオントロジーBで定義される概念「DigitalCamera」のどちらかを使用する。
2. SR232は、新しいリソースを作成して、FH132にまたはローカルでSR232にInferredFSを格納して、FH132上のInferredFSのリソースURIまたは位置だけを返してもよい。これは、Initial_InputFSがデバイスのいくつかの低水準セマティック情報を記述し、一方で、InferredFSが、いくつかの高水準セマティック情報を記述する場合に有用である。例えば、Initial_InputFSは、「Camera-113 is-located-in Room 147」という事実だけを記述し、InferredFSが、「Camera-113 monitors Patient-Mary」という事実を記述する場合がある。このような高水準知識は、カメラ113の低水準セマンティックアノテーションと統合されるべきではない。
1. SR232は、Initial_InputFSが、以前よりも「強化される」ように、InferredFSとInitial_InputFSを統合してもよい。このことは、Initial_InputFSが、デバイスのセマティックアノテーションである場合に有用である。InferredFSを用いて、セマティックアノテーションは、より豊富な情報を有することができる。例えば、初めに、Initial_InputFSが、「Camera-111 is-a OntologyA: VideoCamera」という事実だけを記述する場合がある。推論が行われた後に、カメラ111のセマンティックアノテーションとして加えることができる推測事実(Camera-111 is-a OntologyB:DigitalCamera)が生成される。このようにして、カメラ111は、(推論サポートがなかったとしても)その後の発見操作で正常に識別される可能性が高くなり、それにより、オントロジーAで定義される概念「VideoCamera」か、またはオントロジーBで定義される概念「DigitalCamera」のどちらかを使用する。
2. SR232は、新しいリソースを作成して、FH132にまたはローカルでSR232にInferredFSを格納して、FH132上のInferredFSのリソースURIまたは位置だけを返してもよい。これは、Initial_InputFSがデバイスのいくつかの低水準セマティック情報を記述し、一方で、InferredFSが、いくつかの高水準セマティック情報を記述する場合に有用である。例えば、Initial_InputFSは、「Camera-113 is-located-in Room 147」という事実だけを記述し、InferredFSが、「Camera-113 monitors Patient-Mary」という事実を記述する場合がある。このような高水準知識は、カメラ113の低水準セマンティックアノテーションと統合されるべきではない。
代替策6では、開示される方法で、特定の規則セットまたは事実セット(例えば、Initial_InputFS、Addi_InputFS、Initial_RS、Addi_RS)が、1つのFH132または1つのRH136から読み出される場合を考察することは注目に値するが、これは、簡単な提示のためだけのものである。概して、Initial_InputFS(および同様にAddi_InputFS)は、複数のFHでホストされている複数のFSによって構成される場合がある。Initial_RS(および同様にAddi_RS)は、複数のRHでホストされている複数のRSによって構成される場合がある。上記の代替策の全てが、本明細書で開示する他の類似の方法(例えば、図14の方法)にも適用されてよいことに留意されたい。
連続的な推論操作について、このシナリオでは、RI231は、関連するFSおよびRSに対して連続的な推論操作を開始する場合がある。この理由としては、時々、InputFSおよびRSが時間とともに変更/更新されることで、以前の推測事実がそれ以上有効ではなくなる場合があるためである。したがって、新しい推論操作が最新のInputFSおよびRSに対して実行されて、より新しい推測事実が得られる場合がある。図14は、連続的な推論操作の例示的方法を示し、かつ詳細を以下に記載する。ステップ210では、前提条件として、RI231はSR232の存在を認識している。発見を通して、RI231は、FH132上の関心のある事実のセット(この事実セットは、Initial_InputFSと表される)、およびRH136上のいくつかの推論規則(この規則セットはInitial_RSと表される)を既に識別している。ステップ211で、RI231は、Initial_InputFSおよびInitial_RSを使用して、「連続的な」セマンティック推論操作を開始する(例えば、トリガに基づいて決定する)ことを目的としている。一例では、RI231に推論要求を送信させるトリガは、RI231が、先の発見操作の間に事実および規則の「空でない」セットを受信することである場合がある。一方、識別された事実または規則は、時間とともに変更される場合があり、このことが、RI231をトリガして、連続的な推論操作の要求を送信させる場合がある。ステップ212で、RI231は、SR232にInitial_InputFSおよびInitial_RSについての情報と共に推論要求を送信する。要求メッセージは、新しいパラメータ推論タイプ(rs_ty)を含む場合があることに留意されたい。推論タイプ(rs_ty)は、RI231が必要とする推論操作のタイプを示す。例えば、rs_ty=0は、1回限りの推論操作(先のセクションで説明したような)を意味し、rs_ty=1は連続的な推論操作を意味する。あるいは、rs_tyが要求メッセージに存在しない場合、それは1回限りの推論要求として扱われる。
ステップ213で、RI231から送信された情報に基づいて、SR232は、FH132からInitial_InputFS、およびRH136からInitial_RSを読み出す。SR232はまた、変更を通知するために、それらをサブスクリプションする。ステップ214で、RI231によって提供された入力に加えて、追加のFSまたはRSがこのセマンティック推論操作に使用されてよいかどうかを、SR232が決定する場合がある。ステップ215で、SR232は、FH234から追加のFS(Addi_InputFSと表される)、およびRH235からの追加のRS(Addi_RSと表される)を読み出し、またそれらをサブスクリプションする。
ステップ216で、SR232は、全てのInputFS(例えば、Initial_InputFSおよびAddi_InputFS)、およびRS(例えば、Initial_RSおよびAddi_RS)を含む、推論ジョブ(RJ−1と表される)を作成する。次に、RJ−1が実行されて、InferredFSを得る。その後、Initial_InputFS、Addi_InputFS、Initial_RS、およびAddi_RSのいずれかが変更される限り、実行すべきRJ−1が繰り返しトリガされる。あるいは、SR232は、それらのリソースを定期的に確認することを選択して、更新があるかどうかを確かめることもできる。他の代替策では、RJ−1の最新の推論結果を得るために、RI231が能動的に、かつパロディ的に要求を送信する場合もあり、この場合、毎回、SR232はRI231から要求を受信し、SR232はそれらのリソースを確認することを選択して、更新があるかどうかを確かめる場合がある(更新がある場合、新しい推論がトリガされる)。
ステップ217で、FH132は、Initial_InputFSの変更についての通知を送信する。ステップ218で、SR232は、Initial_InputFSの最新のデータを読み出し、次いで、RJ−1に対して新しい推論処理を実行し、新しいInferredFSを得る。関連するFSおよびRS(例えば、この例で示すInitial_InputFS)の変更に対処するために、最初のセマンティック推論処理後、ステップ217からステップ218が連続的に行われてよいことに留意されたい。SR232は、Initial_InputFSの変更についての通知を受信するときはいつでも、Initial_InputFSの最新のデータを読み出して、新たに推論処理を実施し、新しいInferredFSを生成する。ステップ219で、SR232は、RI231にRJ−1のジョブIDと共に新しいInferredFSを返信する。RJ−1に関連するこの全体的なセマンティック推論処理は、RJ−1がSR232で動作する有効なセマンティック推論ジョブである限り続けられてよい。加えて、RJ−1の期限が切れるか、SR232またはRI231がRJ−1の終了を選択する場合、SR232は、RJ−1に関連する推論の処理を中止し、かつ関連するFSおよびRSからのサブスクライブを取り消してもよい。図13に示す代替策は、図14に示す方法にも適用することができる。
本パートは、他のセマンティック操作(例えば、セマンティック問い合わせ、セマンティックリソース発見、セマンティックマッシュアップなど)が、セマンティック推論からどのように利益を得るかに関する方法およびシステムを提示する。セマンティック推論器だけでなく、上記のセマンティック操作向けの処理エンジンであるセマンティックエンジン(Semantic Engine:SE)も、システムにおいて利用可能である。基本的な処理は、下記のようなものである。セマンティックユーザ(Semantic User:SU)が、SEにSPARQL問い合わせステートメントを含むことがある要求を送信することによってセマンティック操作を開始する場合がある。特に、SUは、SEの背後で支援することがあるSRを認識していない。SEに関しては、SEはまず、対応するSPARQL問い合わせステートメントの関係データベース(Involved Data Basis:IDB)を決定する場合がある。概して、IDBは、SPARQL問い合わせステートメントが実行される必要がある事実のセット(例えば、RDFトリプル)を指す。しかし、用意できているIDBが、要求に対して望ましい応答を提供するために完璧ではない場合がある。したがって、SEは、セマンティック推論サポートのためにさらにSRとコンタクトして、SEでのセマンティック操作の処理を促進する。特に、IDB強化について開示する。IDB強化に関して、推論能力を利用することで(推論を支援するためにいくつかの新しい推測事実を初期事実と統合することによって)元のIDBが強化されるが、元の問い合わせステートメントは修正されない。それに応じて、SEは元の問い合わせステートメントを「強化IDB」に適用して、処理結果を生成する(例えば、SEがセマンティック問い合わせを処理すると、処理結果は、セマンティック問い合わせ結果となる。SEがセマンティックリソース発見を処理する場合、処理結果は、セマンティック発見結果となる)。
部分3(ブロック125)で、セマンティック推論が、「バックグラウンドサポート」のように動作して、他のセマンティック操作の効率をあげるが、この場合、推論は、フロントエンドユーザにとっては透過的なものである場合がある。言い換えると、部分3(ブロック125)では、ユーザは、特定のセマンティック操作(例えば、セマンティック問い合わせ、またはセマンティックリソース発見、セマンティックマッシュアップなど)を開始したことだけを認識する場合がある。しかし、SE233によるこの操作の処理の間、SE233は、さらに、SR232にサポートするように求める場合がある(この動作では、用語SEは、セマンティック推論以外のセマンティック操作を処理するエンジンとして使用される。言い換えると、推論処理は、特にSRによって取り扱われる)。先の例を考慮に入れて、ユーザはSEに対してセマンティック問い合わせを開始して、現在行っている屋外スポーツに関する推奨を問い合わせすることがある。SEが、公園の現在の屋外の気温/湿度/風のデータなど未処理の事実だけを有する場合(SPARQL問い合わせ処理が、主に、パターン整合に基づくことを思い出すと)、問い合わせに対する答えを得られない場合がある。実際に、それらの(InputFSのような)未処理の事実は、関連する推論規則を使用する推論のためにさらにSRに送信されて、(InferredFSのような)高水準推測事実が推断され、それを用いてSEはユーザ問い合わせに答える。
このセクションでは、既存のセマンティック操作(例えば、セマンティック問い合わせまたはセマンティックリソース発見)が、セマンティック推論からどのように利益を得るかを提示する。以下に開示のプロシージャでは、先に定義した「論理エンティティ」の一部には、FHおよびRHなどが依然として含まれる。SRだけでなく、上記のセマンティック操作向けの処理エンジンであるSEも、システムにおいて利用可能である。論理エンティティは、セマンティックユーザ(SU)と呼ばれ、セマンティック操作を開始するためにSEに要求を送信するエンティティである。
概して、SU230は、SE233にSPARQL問い合わせステートメントを含むことがある要求を送信することによって、セマンティック操作を開始する場合がある。特に、SUは、SEの背後で支援するセマンティック推論機能を認識していない。SE233に関して、SE233はまず、例えば、SUによって示された問い合わせ範囲情報に基づいて、対応するSPARQL問い合わせステートメントの関係データベース(IDB)を収集する。IDBに関するさらなる例を、以下に提示する。セマンティック問い合わせの場合、受信されたSPARQL問い合わせステートメントが与えられるときに、収集されることになる関連するセマンティックデータは、通常、問い合わせ範囲によって定義される。一例としてoneM2Mを用いる場合、一定のリソースの下の子孫<semanticDescriptor>リソースが、IDBを構成し、問い合わせがこのIDBに対して実行される。セマンティック発見の場合、そのセマンティックアノテーション(例えば、その<semanticDescriptor>子リソース)を確認することによって、所定のリソースが、発見結果に含まれる必要があるかどうかを評価する場合、この<semanticDescriptor>子リソースが、IDBである。しかし、用意できているIDBが、要求に対して望ましい応答を提供するために完璧ではない場合がある(例えば、IDB内の事実が、SU230からのSPARQL問い合わせステートメントで使用されるオントロジーとは異なるオントロジーを使用して記述されている)。したがって、このケースでは、セマンティック推論がある種の支援を行うことで、SE233でのセマンティック操作処理の処理を促進する場合がある。
SE230がSR232に支援を要請することを決定するときに、SE230またはSR232それ自体が、追加の事実および規則が活用されてよいかどうかを決定する場合がある。活用されてよいと決定される場合、それらの追加の事実および規則が(IDBと共に)推論のためにSRによって使用されて、推測事実が識別される場合があり、これにより、SUからの元の要求の処理を支援することができる。下記のプロシージャ設計の例示的セマンティック操作として、セマンティックリソース発見が使用され、これは簡単な提示のためだけのものであるが、開示する方法は、他のセマンティック操作(例えば、セマンティック問い合わせ、セマンティックマッシュアップなど)にも適用することができる。
再度、強化IDBについて、主要の着想は、推論能力を利用して(推論の支援によって、いくつかの新しい推測事実を初期事実と統合することによって)、IDBを強化することである。よって、元の問い合わせステートメントが「強化IDB」に適用されて、発見結果が生成される。図15の詳細な説明を、以下に提示する。ステップ221で、SU230は、セマンティック操作を開始することを目的としており、例えば、それは、セマンティックリソース発見操作である。例えば、SU230は、MZ−1に属する部屋を監視するカメラを探している。発見要求内のSPARQL問い合わせステートメントは、以下のように記述される場合がある。
SELECT ?device
WHERE {
?device is-a Camera
?device monitors-room-in MZ-1
}
SELECT ?device
WHERE {
?device is-a Camera
?device monitors-room-in MZ-1
}
ステップ222で、SU230は、SE233にSPARQL問い合わせステートメント、および(必要とされるか、または計画されている場合)どのIBDが含まれる必要があるかについての情報と共に要求を送信して、セマンティック発見操作を開始する。oneM2Mモデルを用いて、セマンティック発見の場合、SU230は、(SEを実装する)CSEに発見要求を送信する場合があり、かつ発見が開始される必要がある場所、例えば、このCSEのリソースツリー上の特定のリソース<resource−1>を示す。したがって、<resource−1>の全ての子リソースは、これらが、発見結果に含まれる必要があるかどうかを確認するために、それぞれ評価される。特に、評価されることになる所定の子リソース(例えば、<resource−2>)に関して、SPARQL問い合わせが、<resource−2>の<semanticDescriptor>子リソースに格納されているセマンティックデータに対して適用されて、一致があるかどうかが確認される(一致がある場合、<resource−2>は発見結果に含まれる)。したがって、この場合、<resource−2>を評価するときに、<resource−2>の<semanticDescriptor>子リソースに格納されたセマンティックデータが、IBDである。
同様に、セマンティック問い合わせの場合、SU230は、(SEを実装する)CSEにセマティック問い合わせ要求を送信する場合があり、かつ関連するセマンティックデータ(例えば、問い合わせ範囲)をどのように収集するかを示す(例えば、特定のoneM2Mリソース<resource−1>の下のセマンティック関連リソースが収集される必要がある)。したがって、<resource−1>の子孫セマンティック関連リソース(例えば、<semanticDescriptor>リソース)が、まとめて収集される場合があり、またSPARQL問い合わせが、上記のセマンティック関連リソースからの集約されたセマンティックデータに適用されて、セマンティック問い合わせ結果が生成されることになる。したがって、この場合、<resource−1>の全ての子孫セマンティック関連リソースに格納されたデータが、IDBである。
ステップ222で、SU230から送信された要求に基づいて、SE233は、セマンティックリソース発見処理を行うことを開始する。図5に関連する例を用いて、<Camera−111>は、候補リソースの1つであり、SU230は、その<semanticDescriptor>子リソース内のセマンティックデータを調査することによって、発見結果に<Camera−111>が含まれる必要があるかどうかを評価する場合がある。言い換えると、ここで、<Camera−111>の<semanticDescriptor>子リソースに格納されたデータは、IDB(IDB−1として表される)である。例えば、セマンティック発見のケースに関して、1つの特定のリソースの評価を開始するときは、毎回、新しいIDBが決定され、それは、この特定のリソースを評価するためだけに使用される場合がある。例えば、IDB−1は、下記の事実だけを含む場合がある。
事実1:Camera-111 is-a Camera
事実2:Camera-111 is-located-in Room-109-of-Building-1
事実1:Camera-111 is-a Camera
事実2:Camera-111 is-located-in Room-109-of-Building-1
SE233はまた、この要求を処理するために推論が行われる必要があるかどうかを決定する。
概して、限定はされないが、推論が行われる必要があるかどうかをSE233が決定する下記の方法が考えられる(これは、SE233にいくつかのローカルポリシーまたは構成を設定することによって達成することができる)。
・ 元のIDB−1に基づいてSE233によって結果を生成することができない場合、SE233は、推論を活用してIDB−1を強化することを決定してもよい。
・ SU230が、高品質発見を必要または要求する優先ユーザである場合、SE233は、(SUのタイプ次第で)推論を活用してIDB−1を強化することを決定してもよい。
・ SE233は、一定のオントロジーまたはIDB−1で使用される関心のある用語/概念/プロパティを確認する限り、推論を活用してIDB−1を強化することを決定できるように構成されてよい。例えば、SE233が、事実2を確認して、事実2で現れる建物番号および部屋番号(例えば、「建物1」および「部屋109」)に関連する用語を見つける場合、SE233は、推論を活用してIDB−1を強化することを決定してもよい。
・ 元のIDB−1に基づいてSE233によって結果を生成することができない場合、SE233は、推論を活用してIDB−1を強化することを決定してもよい。
・ SU230が、高品質発見を必要または要求する優先ユーザである場合、SE233は、(SUのタイプ次第で)推論を活用してIDB−1を強化することを決定してもよい。
・ SE233は、一定のオントロジーまたはIDB−1で使用される関心のある用語/概念/プロパティを確認する限り、推論を活用してIDB−1を強化することを決定できるように構成されてよい。例えば、SE233が、事実2を確認して、事実2で現れる建物番号および部屋番号(例えば、「建物1」および「部屋109」)に関連する用語を見つける場合、SE233は、推論を活用してIDB−1を強化することを決定してもよい。
SE233が、推論を活用してIDB−1を強化することを決定する場合、SE233は、SR232とさらにコンタクトする場合がある。ステップ224で、SE233は、推論処理のために、SR232にIDB−1と関連する情報と共に要求を送信するが、この情報は、SR232での推論処理向けのInitial_InputFSとなるものである。実際には、SE233およびSR232は、一緒に統合され、かつ同じエンティティ、例えば、oneM2Mコンテキストでの同じCSEによって実装される可能性があることに留意されたい。SR232はさらに、(Addi_InputFSのような)追加のFSまたは(Initial_RSのような)RSが、推論のために使用される必要があるかどうかを判断する。どの追加のFSおよびRSが、利用される必要があるかを決定する方法に関して図13でも示されているように、ステップ224は、ここで、再度、使用されてよい。1つの拡張は、SR232がIDB−1に現れるキーワードまたは関心のある用語だけでなく、ステップ221で示されたSPARQLステートメントに現れるキーワードまたは関心のある用語も確認する場合があることである。決定後、SR232は、これらのFSおよびRSを読み出す。例えば、SR232は、FH132からAddi_InputFS、およびRH136からInitial_RSをそれぞれ読み出す。この例では、SR232は、事実2に現れるキーワード「is-located-in」、およびステップ221でSU230から送信されたSPARQL問い合わせステートメントに現れたキーワード「monitors-room-in」を見つけ、次に、SR232は、MZ定義についてのいくつかの有用な情報および部屋割り当てが、推論に利用されてよいことを判断する場合がある。したがって、Addi_InputFSは下記の事実を含む場合がある。
事実3:Room-109-of-Building-1 is-managed-under “MZ-1”
事実3:Room-109-of-Building-1 is-managed-under “MZ-1”
SE233はまた、Initial_RSが2つのキーワード「is-located-in」および「is-managed-under」を含むので、Initial_RSが下記の規則を含む場合があると判断する。
規則1:IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
規則1:IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
ステップ226で、IDB−1ならびに収集したAddi_InputFSおよびInitial_RSに基づいて、SR232は、推論処理を実行して、推測事実(InferredFS−1と表される)を得る。例えば、SR232は、下記のことを見つける。
・ 事実2は、規則1のIF部分内で部分的なパターンが一致している:A is-located-in B
・ 事実3は、規則1のIF部分で、部分的なパターンが一致している:B is-managed-under C
・ 事実2は、規則1のIF部分内で部分的なパターンが一致している:A is-located-in B
・ 事実3は、規則1のIF部分で、部分的なパターンが一致している:B is-managed-under C
それに応じて、例えば、Camera-111 monitors-room-in MZ-1といった新しい事実を推測することができ、これは、InferredFS−1として表される。ステップ227で、SR232は、SE233にInferredFS−1を返信する。ステップ228で、SE233は、InferredFS−1をIDB−1と(新しいIDB−2として)統合し、元のSPARQLステートメントをIDB−2に適用して対応する結果を得る。この例では、SPARQLステートメントがIBD−2に適用されるときに、(ここで、新しい推測事実InferredFS−1が、IDB−2にあり、それが、SPARQLステートメント内のパターン「?device monitors-room-in MZ-1」と一致するので)一致があることを意味し、これにより、<Camera−111>のURIが、発見結果に含まれることになる。この後、SE233は、<Camera−111>の評価を完了し、評価されることになる次のリソースの確認を続ける場合がある。ステップ229で、SE233によって全ての発見処理が完了された後に、SE233は、SU230に処理結果(この場合、発見結果)を返信する。例えば、<Camera−111>のURIが、(処理結果である)発見結果に含まれて、SU230に返信されてよい。
セマンティック推論CSFに関して、セマンティック推論CSFは、図16に示すように、oneM2Mサービス層の新しいCSFと見なすことができる(あるいは、oneM2M TS-0001で規定された既存のセマンティクスCSFの一部である場合がある)。異なるタイプのM2Mノード、例えば、M2Mゲートウェイ、M2Mサーバなどが、セマンティック推論サービスを実装してもよいことを理解すべきである。特に、それらのノードの種々の/異なるハードウェア/ソフトウェア能力に応じて、ノードによって実装されるセマンティック推論サービスの能力が、変更されてもよい。
FS使用可能性に関して定義されるエンティティのoneM2Mモデルを図17に示す。例えば、事実ホストは、oneM2MシステムのCSEである場合があり、またAE/CSEは、事実プロバイダ、事実コンシューマ、または事実モディファイアである場合がある。
RS使用可能性に関して定義されるエンティティのoneM2Mモデルを図18に示す。例えば、規則ホストは、oneM2MシステムのCSEである場合があり、またAE/CSEは、規則プロバイダ、規則コンシューマ、または規則モディファイアである場合がある。
個別のセマンティック推論操作に関与するエンティティのoneM2Mモデルを図19に示す。例えば、CSEは、セマンティック推論器を搭載している場合、セマンティック推論サービスを提供する場合がある。加えて、AE/CSEは、推論イニシエータである場合がある。前述のように、本開示で定義される関与するエンティティの大部分は、論理的役割である。したがって、1つの物理エンティティが、複数の論理的役割を担う場合がある。例えば、CSEがセマンティック推論能力(例えば、図19に示すSRのような)を有し、かつ推論操作に対する入力として一定のFSおよびRSを読み出すことを必要とされるか、またはそれらを読み出すことを要求するときに、このCSEは、図17および図18に示すようなFCおよびRCの役割も有する。
個別のセマンティック推論操作に関与するエンティティの別のタイプの例を図20に示す。このアーキテクチャでは、oneM2Mシステムは、主として事実および規則を提供する。例えば、oneM2M CSEは、事実ホストまたは規則ホストと見なされる場合がある。別の層(例えば、ETSIコンテキストインフォメーションマネジメント(Context Information Management:CIM)、W3Cモノのウェブ(Web of Things:WoT)、またはオープンコネクティビティファンデーション(Open Connectivity Foundation:OCF))が、oneM2Mシステムの上層にある場合があり、この場合、ユーザのセマンティック推論要求は、上位層からのものである場合がある。したがって、外部CIM/W3C WoT/OCFエンティティが、セマンティック推論器を搭載している場合があり、また推論イニシエータは、主としてCIM/W3C WoT/OCFシステムのエンティティである場合がある。言い換えると、これらのRIは、セマンティック推論器に推論要求を送信し、そのセマンティック推論器は、インターワーキングエンティティとさらにコンタクトし、かつインターワーキングエンティティは、oneM2Mインターフェースを通して、oneM2Mエンティティから関連するFSおよびRSを収集する(oneM2Mが相互作用する限り、FSは、他の非oneM2Mエンティティによって提供される場合があることに留意されたい。例えば、FSは、トリプルストアによって提供される場合もある)。oneM2Mシステムでは、インターワーキング、例えば、IPEベースインターワーキングおよびCSEベースインターワーキングを取り扱うことができる2つのタイプのエンティティが存在する場合がある。したがって、インターワーキングエンティティは、2つのタイプのインターワーキングをサポートするCSEまたは(専用AEである)IPEのどちらかを指す場合がある。
推論サポートを伴うセマンティック操作の最適化に関与するエンティティのoneM2Mモデルを図21に示す。例えば、CSEは、セマンティック推論器を搭載している場合、セマンティック推論能力を提供する場合があり、また、CSEは、セマンティックエンジンを搭載している場合、他のセマンティック操作(例えば、セマンティックリソース発見、セマンティック問い合わせなど)を処理する場合がある。加えて、AE/CSEは、セマンティック操作をトリガするセマンティックユーザである場合がある。このセクションの全ての例を通して、所定の論理エンティティは、単一のAEまたはCSEによって採用されるが、これは簡単な提示のためだけのものであることに留意されたい。実際に、基本的なケースでは、AEまたはCSEが、複数の後方業務エンティティの役割を担う場合がある。例えば、CSEは、FHであり、同様にRHである場合がある。別の例では、CSEは、セマンティック推論器およびセマンティックエンジンの両方をホストする場合がある。別の例では、CSEは、推論イニシエータである場合があり、かつCSE自体が、セマンティック推論器を搭載している場合もある。
推論サポートを伴うセマンティック操作の最適化に関与するエンティティの別のタイプの例を図22に示す。このアーキテクチャでは、oneM2Mシステムは、主として事実および規則を提供する。例えば、oneM2M CSEは、事実ホストまたは規則ホストである場合がある。別の層(例えば、CIM、WoT、またはOCF)が、oneM2Mシステムの上層にある場合があり、この場合、ユーザのセマンティック推論要求は、上位層からのものである場合がある。したがって、外部CIM/WoT/OCFエンティティが、セマンティックエンジンを搭載している場合があり、またセマンティックユーザは、主としてCIM/WoT/OCFシステムのエンティティである場合がある。同様に、外部CIM/WoT/OCFエンティティが、セマンティック推論器を搭載している場合がある。概して、一定のセマンティック操作をトリガするために、セマンティックユーザはセマンティックエンジンに要求を送信する。セマンティックエンジンは、推論サポートのためにセマンティック推論器とさらにコンタクトし、また、その推論器は、インターワーキングエンティティをさらに通して、oneM2Mインターフェースを介してoneM2Mエンティティから関連するFSおよびRSを収集する。oneM2Mが相互作用する限り、FSは、他の非oneM2Mエンティティによって提供される場合があることに留意されたい。例えば、FSは、トリプルストアによって提供される場合もある。
下記は、ETSI CIMとoneM2Mシステムとの間の推論サポートを伴うセマンティック問い合わせの図22のより具体的な例である。図23は、そのプロシージャを示し、かつ詳細を以下に記載する。
前提条件0(ステップ307)では、街灯1に設置されたカメラがCSE−1に登録されており、かつ<streetCamera−1>はそのoneM2Mリソース表現であり、さらにいくつかのセマンティックメタデータがこのリソースに関連付けられている。例えば、セマンティックメタデータのうち1つは、下記のものである場合がある。
事実1:<streetCamera-1> is-installed-on streetLamp-1
事実1:<streetCamera-1> is-installed-on streetLamp-1
前提条件1(ステップ308)では、IPEが、セマンティックリソース発見を既に行っており、例えば、街灯1を含むカメラリソースがCIMシステムに登録されている。
前提条件2(ステップ309)では、IPEは、CIMレジストリサーバに発見されたoneM2Mカメラを既に登録している。同様に、<streetCamera−1>のコンテキスト情報の1つは、街灯1に設置されている(例えば、事実1)ということである。
ステップ311で、CIMアプリケーションAPP−1(市道監視部門)は、事故1が発生したことを認識しており、例えば、この事故の場所など、事故1についての事実または知識を有している。
事実2:Accident-1 has-incident-location “40.079136, -75.288823”
事実2:Accident-1 has-incident-location “40.079136, -75.288823”
APP−1は、街灯に設置されているカメラ(事故1を記録している)から画像を収集することを目的としており、カメラが壊れていなかったかどうかを確かめる。それに応じて、問い合わせステートメントが、下記のように記述される場合がある(ここで、ステートメントは、SPARQL言語を使用して記述されるが、これは簡単な提示のためだけのものであることに留意されたい。言い換えると、問い合わせステートメントは、CIMによってサポートされる任意の形態で記述される場合がある)。
SELECT ?camera
WHERE {
?device is-a Camera
?device is-involved-in Accident-1
}
SELECT ?camera
WHERE {
?device is-a Camera
?device is-involved-in Accident-1
}
ステップ312では、APP−1は、CIM発見サービスに事故1についての事実2(例えば、その位置)と共にどのカメラが事故1に関与しているかについて発見要求を送信する。
ステップ313では、CIM発見サービスは、発見要求に直接答えることはできず、さらにセマンティック推論器に支援を要請する。
ステップ314では、発見サービスは、セマンティック推論器に事実2および(<streetCamera−1>についての事実1を含む)カメラのセマンティック情報と共に要求を送信する。言い換えると、事実1および事実2は、「Initial_InputFS」と見なすことができる。
ステップ315では、セマンティック推論器は、街灯位置マップについての追加の事実を使用することを決定する。例えば、事実2は事故の地理的位置だけを含むので、セマンティック推論器は、街灯についてのより多くの情報を必要または要求し、どの街灯が関与したかを判断する場合がある。例えば、事実3は、街灯1についての追加の情報である。
事実3:streetLamp-1 has-incident-location “40.079236, -75.288623”
事実3:streetLamp-1 has-incident-location “40.079236, -75.288623”
ステップ316では、セマンティック推論器は、さらにセマンティック推論を行って、いくつかの新しい事実(<streetCamera−1>は、事故1に関与していた)を生成する。例えば、以下に示す規則1は、街灯1は事故1に関与したという新しい事実(推測事実1)を推断するために使用することができる。
規則1:IF A has-location Coordination-1 and B has-location Coordination-2 and distance(Coordination-1, Coordination-2) < 20 meters, THEN A is-involved-in B
推測事実1:streetlamp-1 is-involved-in Accident-1
規則1:IF A has-location Coordination-1 and B has-location Coordination-2 and distance(Coordination-1, Coordination-2) < 20 meters, THEN A is-involved-in B
推測事実1:streetlamp-1 is-involved-in Accident-1
さらに、推測事実1および事実1を用いて、別の推論が、下記の規則(規則2)を使用することによって実行されて、別の推測事実(例えば、推測事実2)が、推断されてもよい。
規則1:IF A is-involved-in B and C is-installed-on A THEN C is-involved-in B
推測事実2:<streetCamera-1> is-involved-in Accident-1
規則1:IF A is-involved-in B and C is-installed-on A THEN C is-involved-in B
推測事実2:<streetCamera-1> is-involved-in Accident-1
ステップ317では、新しい事実が、CIM発見サービスに返信される。ステップ318では、新しい事実を使用して、推測事実2が、<streetCamera−1>は事故1に関与したカメラであることを示すので、ここでは、CIM発見サービスはAPP−1からの問い合わせに答えることができる。ステップ319では、APP−1は、<streetCamera−1>が事故1に関与したことを通知される。ステップ320では、APP−1は、<streetCamera−1>の画像を読み出すようにCIMレジストリサーバとコンタクトし、さらにレジストリサーバは、oneM2Mシステム内の<streetCamera−1>リソースから画像を読み出すことをoneM2M IPEに要請する。
<facts>リソース定義に関して、所定のFSは、異なるタイプの知識を指す場合がある。まず、FSは、所定のユースケース(例えば、病院、市消防局、建物、部屋など、多くのドメイン概念/クラスおよびそれらの関係が定義されている、図5に関連するスマートシティユースケース)でのドメイン知識を記述するオントロジーを指す場合がある。したがって、このようなタイプのFSは、oneM2M<ontology>リソースとして具現化される可能性がある。次に、FSは、システム内のリソース/エンティティ/モノについてのセマンティックアノテーションを指す場合がある。図5に関連する先の例を再度用いて、FSは、建物1の部屋109に配備されたカメラ111のセマンティックアノテーションである場合がある。したがって、このタイプのFSは、oneM2M<semanticDescriptor>リソースとして具現化される可能性がある。
FSは、特定のインスタンスに関連する事実を指す場合がある。図5に関連する先の例を再度用いて、FSは、病院の現在の管理ゾーン定義、例えば、その建物/部屋構成/割り当て情報(例えば、管理ゾーンMZ−1は、血液検査サンプルを保管するために使用される部屋、例えば、建物1の部屋109、建物3の部屋117を含むなど)を記述する場合がある。このタイプの事実に関して、これはシステム内で個別に存在する場合があり、例えば、必ずしも、他のリソース/エンティティ/モノに対するセマンティックアノテーションであるわけではないことに留意されたい。したがって、新しいタイプのoneM2Mリソース(いわゆる<facts>)が定義されて、このようなタイプのFSに格納される。同じ目的を有する限り、それは異なる名前がつけられてもよいことに留意されたい。<facts>のリソース構造を図24に示す。FSは、このリソースがセマンティックタイプのデータを格納するために使用されてよい場合、<contentInstance>リソースを指す場合がある。加えて、より一般的には、セマンティックタイプのデータが格納されている場合がある限り、FSは、oneM2Mによって定義される何らかの将来的な新しいリソースタイプを指す場合がある。
以下に提示する<facts>リソースでのCRUD操作は、セマンティック推論データを使用可能にすることに関して本明細書で提示する関連するプロシージャのoneM2Mモデルであることに留意されたい。<semanticDescriptor>リソースが、(例えば、「記述子」属性を使用して)事実を格納するために使用される場合があるので、factType、rulesCanBeUsed、usedRules、originalFactsなどの属性は、セマンティック推論目的をサポートするために、既存の<semanticDescriptor>リソースに対する新しい属性となる場合があることに留意されたい。例えば、<SD−1>および<SD−2>は、<semanticDescriptor>リソースのタイプであり、かつ<CSE−1>のセマンティックアノテーションであると仮定する。<SD−1>は、<CSE−1>の元のセマンティックアノテーションである場合がある。これに対して、<SD−2>は、<CSE−1>の追加のセマンティックアノテーションである。例えば、<SD−2>の「factType」は、<SD−2>リソースの「記述子」属性に格納されたトリプル/事実がセマンティック推論操作に基づいた推論結果(例えば、推測事実)であることを示す場合がある。言い換えると、<SD−2>に格納されているセマンティックアノテーションは、セマンティック推論を通して生成されたものである。同様に、<SD−2>のrulesCanBeUsed、usedRules、originalFacts属性は、さらに、<SD−2>に格納されている事実が(どのinputFSおよび推論規則に基づいて)どのように生成されたか、および、<SD−2>に格納されている事実が、他の推論操作のためにどのように使用されてよいかについての詳細な情報を示す場合がある。
<factRepository>リソース定義:概して、<facts>リソースは、例えば、<AE>または<CSEBase>リソースの子リソースとしていずれかの場所に格納されている場合がある。あるいは、新しい<factRepository>が、新しいoneM2Mリソースタイプとして定義されてもよく、これは、必要とされるか、または要求される事実を見つけることを容易にするように、複数の<facts>を格納しているハブであってもよい。<factRepository>リソースは、<CSEBase>または<AE>リソースの子リソースであってもよい。<factRepository>のリソース構造を図25に示す。
<reasoningRules>リソース定義:新しいタイプのoneM2Mリソース(<reasoningRules>と呼ばれる)が、RSを格納するために定義され、これは、(ユーザ定義)推論規則を格納するために使用されるものである。同じ目的を有する限り、それは異なる名前がつけられてもよいことに留意されたい。<reasoningRules>のリソース構造を図26に示す。
推論規則を表すためにRIFを使用する方法の例を以下に示す。本開示で用いられる下記の推論規則を考慮に入れる。
規則1:IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
規則1:IF A is-located-in B && B is-managed-under C, THEN A monitors-room-in C
規則1は、下記のRIF規則のように記述される場合がある(RIFシンタックスによって定義されるキーワードは太字の文字であり、RIF仕様のより詳細は、RIF Primer、https://www.w3.org/2005/rules/wiki/Primer[12]で確認することができる)。
Document(
Prefix(rdf <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(rdfs <http://www.w3.org/2000/01/rdf-schema#>)
Prefix(exA <http://example.com/#>)
Prefix(exB <http://example.com/#>)
Group(
Forall ?Camera ?Room ?MZ (
If And(
?Camera # exA:Camera
?Room # exA:Room
?MZ # exB:ManagementZone
exA:is-located-in (?Camera ?Room)
exB:is-managed-under (?Room ?MZ)
)
Then exC: monitors-room-in (?Camera ?MZ)
)
)
)
Document(
Prefix(rdf <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(rdfs <http://www.w3.org/2000/01/rdf-schema#>)
Prefix(exA <http://example.com/#>)
Prefix(exB <http://example.com/#>)
Group(
Forall ?Camera ?Room ?MZ (
If And(
?Camera # exA:Camera
?Room # exA:Room
?MZ # exB:ManagementZone
exA:is-located-in (?Camera ?Room)
exB:is-managed-under (?Room ?MZ)
)
Then exC: monitors-room-in (?Camera ?MZ)
)
)
)
上記規則についての説明は、下記の5つの説明である場合がある。説明1:上記規則は、If…Then形式で表される抽象シンタックスに基本的に従う。説明2:2つの演算子、GroupおよびDocumentは、RIFの規則を記述するために使用される場合がある。Groupは、RIF文書内の規則のセットの範囲を定めるか、またはまとめてグループにするために使用される。文書は、多数のグループまたは、1つだけのグループを含む場合がある。同様に、グループは、複数の規則をまとめてグループにすることを通常目的としているが、単一の規則で構成される場合がある。RIF文書が、他の文書を読み込み、それによりそれ自体がマルチ文書オブジェクトとなる場合があるので、明確なDocument演算子を有する必要がある。実用的な目的としては、通常、Document演算子は文書の先頭で使用され、その後に接頭辞宣言および規則の1つまたは複数のグループが続くことを認識していれば充分である。
説明3:「is-located-in」のような述語定数は、「現状のまま」だけでは使用することができないが、曖昧さをなくすことが可能である。この曖昧性除去は、この規則で使用される定数が2つ以上のソースから起こり、かつ異なるセマンティック意味を有する場合があるという問題を解決する。RIFでは、曖昧性除去は、IRI、および接頭辞宣言Prefix(ns<ThisIRI>)を記述することによる接頭辞宣言の一般形を用いて行われる。次に、定数名は、文字列ns:nameを用いる規則で曖昧性除去される場合がある。例えば、述語「is-located-in」は、(接頭辞「exA」を伴う)例示的オントロジーAによって定義される述語であり、一方で、述語「is-managed-under」は、(接頭辞「exB」を伴う)別の例示的オントロジーBによって定義される述語であり、かつ述語「monitors-room-in」は、(接頭辞「exC」を伴う)別の例示的オントロジーCによって定義される述語である。
説明4:同様に、「?」(例えば、?Camera)で始まる変数については、特別な記号「#」(RDFスキーマで定義される述語「is-type-of」に等しい)を用いることによって、どのタイプのインスタンスが、その変数に対する入力となり得るかが定義される必要がある。例えば、「?Camera # exA:Camera」は、オントロジーAで定義されたクラス「Camera」のインスタンスだけ、変数「?Camera」に対する入力として使用することができることを意味する。説明5:上記の規則は、論理積を含む場合があり、RIFでは、論理積は、接頭表記法で再記述され、例えば、AとBの2値は、And(A B)と記述される。
以下に提示する<reasoningRules>リソースでのCRUD操作は、RS使用可能性に関して本明細書で提示する関連するプロシージャのoneM2Mモデルであることに留意されたい。
<ruleRepository>リソース定義:概して、<reasoningRules>リソースは、例えば、<AE>または<CSEBase>リソースの子リソースとしていずれかの場所に格納されている場合がある。あるいは、新しい<ruleRepository>が、新しいoneM2Mリソースタイプとして定義されてもよく、これは、必要とされるか、または要求される規則を見つけることを容易にするように、複数の<reasoningRules>を格納しているハブであってもよい。<ruleRepository>リソースは、<CSEBase>または<AE>リソースの子リソースであってもよい。<ruleRepository>のリソース構造を図27に示す。
<semanticReasoner>リソース定義:<semanticReasoner>と呼ばれる新しいリソースについて記載するが、これは、セマンティック推論サービスを発現させるためのものである。<semanticReasoner>のリソース構造を図28に示す。
CSEがセマンティック推論能力を有する場合、CSEはセマンティック推論処理をサポートするために、それ自体に(例えば、<CSEBase>の下に)、<semanticReasoner>リソースを作成することができる。
あるいは、セマンティック推論を発現させる別の方法は、既存の<CSEBase>または<remoteCSE>リソースを使用する。したがって、表27に示す属性は、<CSEBase>または<remoteCSE>リソースに対する新しい属性である場合がある。セマンティック推論要求を取得する(例えば、受信する)<CSEBase>向けのいくつかの方法がある場合がある。1)<reasoningPortal>リソースは、この動作で定義されるセマンティック推論操作のトリガに関する要求を受信する<CSEBase>または<remoteCSE>リソースの新しい仮想子リソースであってもよい。2)新しいリソースを定義する代わりに、トリガが要求メッセージで定義される場合がある<CSEBase>に、RIからの要求が直接送信されてもよい(例えば、「reasoningIndicator」と呼ばれる新しいパラメータが、要求メッセージに含まれるように定義されてもよい)。
<reasoningPortal>リソース定義:<reasoningPortal>は、それ自体が表現を有していないので仮想リソースである。それは、<semanticReasoner>リソースの子リソースである。更新操作が<reasoningPortal>リソースに送信されるときに、セマンティック推論操作がトリガされる。
概して、以下に開示される下記の目的のために、発信元は、この<reasoningPortal>リソースに要求を送信する場合がある。第1の例では、要求は、1回限りの推論操作をトリガすることである場合がある。この例では、次の各情報が要求内で運ばれてよい。a)推論操作で求められるべき事実、b)推論操作で使用すべき推論規則、c)この要求が1回限りの推論操作に対するものであることを示す推論タイプ、またはd)前述のセクションのリストに記載の任意の他の情報。第2の例では、要求は、連続的な推論操作をトリガすることである場合がある。第2の例では、次の各情報が要求内で運ばれてよい。a)推論操作で使用すべき事実、b)推論操作で使用すべき推論規則、c)この要求が連続的な推論操作に対するものであることを示す推論タイプ、d)<reasoningJobInstance>リソース作成向けの任意の他の情報。例えば、continuousExecutionModeは、<reasoningJobInstance>リソース内の属性の1つである。したがって、要求は、この属性を設定するために使用されてもよい関連する情報を運んでもよい。第3の例では、要求は、既存の推論ジョブに対する新しい推論操作をトリガすることである場合がある。この第3の例では、jobID、すなわち既存の<reasoningJobInstance>リソースのURIの情報が、要求内で運ばれてよい。
加えて、要求内で運ばれる情報、例えば、使用すべき事実および推論規則に関して、要求内でそれらを運ぶ複数の方法がある。1)事実および推論規則は、要求のコンテンツパラメータ内で運ばれる場合があるか、または2)事実および推論規則は、要求の新しいパラメータ内で運ばれる場合がある。新しいパラメータの例は、事実パラメータおよび規則パラメータである。事実パラメータに関して、事実パラメータは推論操作で使用すべき事実を運ぶ場合がある。規則パラメータに関して、規則パラメータは推論操作で使用すべき推論規則を運ぶ場合がある。
「事実」パラメータに関して、それは下記の方法を使用して、事実についての情報を含む場合がある。
ケース1:事実パラメータは、RDFトリプルなど事実データを直接含む場合がある。
ケース2:事実パラメータはまた、使用すべき事実が格納されている1つまたは複数のURIを含む場合がある。
ケース1:事実パラメータは、RDFトリプルなど事実データを直接含む場合がある。
ケース2:事実パラメータはまた、使用すべき事実が格納されている1つまたは複数のURIを含む場合がある。
「規則」パラメータに関して、それは、下記の方法を使用して、事実についての情報を含む場合がある。
ケース1:規則パラメータは、使用すべき規則が格納されている1つまたは複数のURIを含む場合がある。
ケース2:規則パラメータは、使用すべき推論規則のリストを直接運ぶ場合がある。
ケース3:規則パラメータは、特定の標準SPARQL含意レジームを示す文字列値である場合がある(SPARQL含意は、異なる含意レジームによって定義されるような標準推論規則を使用するセマンティック推論の1タイプであることに留意されたい)。例えば、Rules=“RDFS”の場合、RDFS含意レジームによって定義された推論規則が使用されることを意味する。
ケース1:規則パラメータは、使用すべき規則が格納されている1つまたは複数のURIを含む場合がある。
ケース2:規則パラメータは、使用すべき推論規則のリストを直接運ぶ場合がある。
ケース3:規則パラメータは、特定の標準SPARQL含意レジームを示す文字列値である場合がある(SPARQL含意は、異なる含意レジームによって定義されるような標準推論規則を使用するセマンティック推論の1タイプであることに留意されたい)。例えば、Rules=“RDFS”の場合、RDFS含意レジームによって定義された推論規則が使用されることを意味する。
実装形態選択に関して、上記のケースのうち1つだけを実装するか、これらのケースを同時に実装してもよい。後者のケースでは、typeofFactsRepresentationと、typeofUseReasoningと呼ばれる2つの新しいパラメータが定義され、これらは、要求内に含まれ、かつ以下に示すインジケータである場合がある例示的値を有することがあるパラメータである。
・ typeofFactsRepresentation=1、事実パラメータは、URIを格納している。
・ typeofFactsRepresentation=2、事実パラメータは、事実のリスト、例えば、使用すべきRDFトリプルを格納している。
・ typeofRulesRepresentation=1、規則パラメータは、URIのリストを格納している。
・ typeofRulesRepresentation=2、規則パラメータは、推論規則のリストを格納している。
・ typeofRulesRepresentation=3、規則パラメータは、標準含意レジームを示す文字列値を格納している。
・ typeofFactsRepresentation=1、事実パラメータは、URIを格納している。
・ typeofFactsRepresentation=2、事実パラメータは、事実のリスト、例えば、使用すべきRDFトリプルを格納している。
・ typeofRulesRepresentation=1、規則パラメータは、URIのリストを格納している。
・ typeofRulesRepresentation=2、規則パラメータは、推論規則のリストを格納している。
・ typeofRulesRepresentation=3、規則パラメータは、標準含意レジームを示す文字列値を格納している。
<reasoningPortal>リソースは、<semanticReasoner>親リソースが、ホストCSEによって作成されるときに作成される。Mca、MccまたはMcc’を介する作成操作は適用されない。
読み出し操作は、<reasoningPortal>に対して適用不可ではない。
<reasoningPortal>の更新:更新操作は、セマンティック推論操作をトリガするために使用される。連続的な推論操作のために、下記の方法で<reasoningPortal>を利用してもよい。第1の方法では、<reasoningPortal>更新操作を使用する。この第1の方法では、推論タイプパラメータが、要求内で運ばれ、この要求が連続的な推論操作を作成することを必要としていることを示す場合がある。第2の方法では、<reasoningPortal>作成操作を使用する。
下記は、表32A(表32A−1〜表32A−3)に示す<reasongingPortal>更新操作の処理の代替バージョンである。例えば、このバージョンでは、事実および推論規則は、要求内の事実パラメータおよび規則パラメータで運ばれる。一方、簡略化のために、追加の事実および規則を加えることを考慮しない。
<reasoningPortal>の削除:<reasoningPortal>リソースは、<semanticReasoner>親リソースが、ホストCSEによって削除されるときに削除される。Mca、MccまたはMcc’を介する削除操作は適用されない。
<reasoningJobInstance>リソース定義:(<reasoningJobInstance>と呼ばれる)新しいタイプのoneM2Mリソースが、特定の推論ジョブインスタンスを記述するために定義される(それは、1回限りの推論操作または連続的な推論操作である場合がある)。同じ目的を有する限り、それは異なる名前がつけられてもよいことに留意されたい。
下記は、連続的推論ジョブを行う代替方法である場合があることに留意されたい。第1の方法では、発信者は、CSEがセマンティック推論能力をサポートできる場合、このCSEの<semanticReasoner>(または<CSEBase>リソース)に要求を送信して、<reasoningJobInstance>リソースを作成してもよい。第2の方法では、発信元は、<semanticReasoner>リソースの<reasoningPortal>に作成要求を送信して、<reasoningJobInstance>リソースを作成してもよい(または、<reasoningPortal>に更新要求を送信してもよいが、要求に含まれる推論タイプパラメータが、これが連続的な推論操作を生じさせるためのものであることを示してもよい)。
<reasoningJobInstance>のリソース構造を図29に示す。<reasoningJobInstance>リソースは、表33(表33−1〜表33−2)で定められる子リソースのうち1つまたは複数を含む場合がある。
<reasoningResult>リソース定義:(<reasoningResult>と呼ばれる)新しいタイプのoneM2Mリソースが、推論結果を格納するために定義される。同じ目的を有する限り、それは異なる名前がつけられてもよいことに留意されたい。<reasoningResult>のリソース構造を図30に示す。
上記の<reasoningResult>リソースは、表39で定められる子リソースのうち1つまたは複数を含む場合がある。
上記の<reasoningResult>リソースは、表40で定められる属性のうち1つまたは複数を含む場合がある。
作成操作は、<reasoningResult>に対して適用されない。セマンティック推論器能力を有するホストCSEが、<reasoningJobInstance>親リソースによって表される推論ジョブのセマンティック推論処理を実行するときに、<reasoningResult>リソースは、そのホストCSEによって自動的に生成される。
読み出し操作は、<reasoningResult>に対して適用されない。
<jobExecutionPortal>リソース定義:それ自体が表現を有しておらず、かつ先に定義した<reasoningPortal>リソースと類似の機能を有するので、<jobExecutionPortal>は仮想リソースである。それは、<reasoningJobInstance>リソースの子リソースである。属性continuousExecutionModeの値が「RIがジョブ実行をトリガするとき」に設定され、かつ更新操作が<jobExecutionPortal>リソースに送信されると、<reasoningJobInstance>親リソースに対応するセマンティック推論実行がトリガされる。
<jobExecutionPortal>の作成:<reasoningJobInstance>親リソースが作成されると、<reasoningPortal>リソースが作成される。
<jobExecutionPortal>の読み出し:読み出し操作は、<reasoningPortal>に対して適用されない。
<jobExecutionPortal>の更新:更新操作は、セマンティック推論実行をトリガするために使用される。これは、<reasoningPortal>リソースにjobIDと共に更新要求を送信することに対する代替策である。
下記は、表43A(表43A−1〜表43A−2)に示す<jobExecutionPortal>更新操作の処理の簡略化または代替バージョンである。例えば、簡略化のために、追加の事実および規則を提供することを考慮しない。
<jobExecutionPortal>の削除:<jobExecutionPortal>リソースは、<reasoningJobInstance>親リソースが、ホストCSEによって削除されるときに、削除される。Mca、MccまたはMcc’を介する削除操作は適用されない。
個別のセマンティック推論処理を可能にすること、および他の有効性を向上させることに関するセマンティック推論関連プロシージャ向けのoneM2Mモデルを提示する。このセクションは、本明細書で開示される方法に関するいくつかのoneM2Mモデルを提示する。
図13に開示される1回限りの推論操作のoneM2Mモデル。このシナリオでは、(RIのような)AE−1は、いくつかの関心のあるInputFS(<facts−1>)およびRS(<reasoningRules−1>)を既に識別しており、いくつかの新しい知識/事実を発見するために、(SRのような)CSE−1で1回限りの推論操作を開始することを望んでいる。図31は、1回限りの推論操作に関するoneM2Mプロシージャを示し、かつ詳細を以下に記載する。
前提条件(ステップ340):AE−1は、(SRとして動作する)CSE−1の存在、および、CSE−1で作成された<semanticReasoner>リソースを認識している。発見を通して、AE−1は、CSE−2上の関心のある<facts−1>リソースのセット(<facts−1>はInitial_InputFSになる)、およびCSE−3上のいくつかの<reasoningRules−1>(<reasoningRules−1>はInitial_RSになる)を既に識別している。
ステップ341:AE−1は、いくつかの新しい知識を発見するために、<facts−1>および<reasoningRules−1>を入力として使用して、CSE−1での推論をトリガすることを目的としている。
ステップ342:AE−1は、CSE−1上の<reasoningPortal>仮想リソースにInitial_InputFSおよびInitial_RSについての情報と共に推論要求を送信する。例えば、使用すべき事実および規則は、新たに開示する要求内の事実および規則パラメータによって記述される場合がある。
ステップ343:AE−1から送信された情報に基づいて、CSE−1は、CSE−2から<facts−1>、およびCSE−3から<reasoningRules−1>を読み出す。
ステップ344:AE−1によって提供された入力に加えて、任意選択で、CSE−1は、CSE−2上の<facts−2>およびCSE−3上の<reasoningRules−2>が同様に利用される必要があると判断してもよい。
ステップ345:CSE−1は、CSE−2から追加のFS(例えば、<facts−2>)、およびCSE−3から追加のRS(例えば、<reasoningRules−2>)を読み出す。
ステップ346:全てのInputFS(例えば、<facts−1>および<facts−2>)およびRS(例えば、<reasoningRules−1>および<reasoningRules−2>)を用いて、CSE−1は、推論処理を実行して推論結果を得る。
ステップ347:SR232は、AE−1に推論結果を返信する。さらに、本明細書で提示するように、SR232は、<reasoningResult>リソースを作成して推論結果を格納してもよい。
図14に開示される連続的な推論操作のoneM2Mモデル。このシナリオでは、(RIのような)AE−1は、いくつかの関心のあるInputFS(<facts−1>)およびRS(<reasoningRules−1>)を既に識別しており、いくつかの新しい知識(本明細書では、事実および知識といった用語が同じ意味で使用される場合がある)を発見するために、(SRのような)CSE−1で連続的な推論操作を開始することを望んでいる。図32は、連続的な推論操作に関するoneM2Mモデルのプロシージャを示し、かつ詳細を以下に記載する。
前提条件(ステップ350):AE−1は、(SRとして動作する)CSE−1の存在、および、CSE−1で作成された<semanticReasoner>リソースを認識している。発見を通して、AE−1は、CSE−2上の関心のある<facts−1>リソースのセット(<facts−1>はInitial_InputFSになる)、およびCSE−3上のいくつかの<reasoningRules−1>(<reasoningRules−1>はInitial_RSになる)を既に識別している。
ステップ351:AE−1は、<facts−1>および<reasoningRules−1>を入力として使用して、CSE−1での連続的な推論操作をトリガすることを目的としている。
ステップ352:AE−1は、<semanticReasoner>リソースの<reasoningPortal>子リソースに、Initial_InputFSおよびInitial_RSについての情報、ならびに作成されることになる<reasoningJobInstance>に関するいくつかのその他の情報と共に作成要求を送信して、<reasoningJobInstance>リソースを作成する。あるいは、別の可能な実装形態としては、AE−1が、<CSEBase>または<semanticReasoner>リソースに作成要求を送信してもよい。
ステップ353:AE−1から送信された情報に基づいて、CSE−1は、CSE−2から<facts−1>、およびCSE−3から<reasoningRules−1>を読み出す。CSE−1はまた、それらの2つのリソースをサブスクリプションする。
ステップ354:AE−1によって提供された入力に加えて、任意選択で、CSE−1は、CSE−2上の<facts−2>およびCSE−3上の<reasoningRules−2>が同様に利用される必要があると判断してもよい。
ステップ355:CSE−1は、CSE−2から追加のFS(例えば、<facts−2>)、およびCSE−3から追加のRS(例えば、<reasoningRules−2>)を読み出す。CSE−1はまた、それらの2つのリソースをサブスクリプションする。
ステップ356:全てのInputFS(例えば、<facts−1>および<facts−2>)およびRS(例えば、<reasoningRules−1>および<reasoningRules−2>)を用いて、CSE−1は、<semanticReasoner>リソース(または他の好ましい位置)の下に<reasoningJobInstance−1>リソースを作成する。例えば、reasoningType属性が、「連続的な推論操作」に設定され、かつcontinuousExecutionMode属性が、「関連するFS/RSが変更されるとき」に設定される。次いで、CSE−1は推論処理を実行して推論結果を得る。結果は、<reasoningJobInstance−1>のreasoningResult属性か、または新しい<reasoningResult>タイプの子リソースに格納されてよい。
ステップ357:SR232は、AE−1に推論結果を返信する。
ステップ358:ステップ3で先に行われたサブスクリプションに基づいて、<facts−1>、<fact−2>、<reasoningRules−1>および<reasoningRules−2>のいずれの変更も、CSE−1への通知をトリガする。
ステップ359:CSE−1が、通知を受信する限り、関連するFSおよびRSの最新の値を使用して<reasoningJobInstance−1>の新しい推論処理を実行する。新しい推論結果が、AE−1に送信される。
図15に開示されるプロシージャのoneM2Mモデル。このシナリオでは、(SUのような)AE−1は、(SEのような)CSE−1でのセマンティックリソース発見を行うことを目的としている。リソース発見処理の間、CSE−1は、最適化された発見結果を得るために、CSE−2による推論サポートをさらに利用してもよい。図33Aは、推論によってサポートされるIDB強化に関するoneM2Mプロシージャの例を示し、かつ詳細を以下に記載する。
ステップ361:AE−1は、セマンティックリソース発見操作を開始することを目的としている。
ステップ362:AE−1は、CSE−1の<CSEBase>にSPARQL問い合わせステートメントが含まれている要求を送信して、セマンティック発見操作を開始する。
ステップ363:AE−1からの要求に基づいて、CSE−1は、セマンティックリソース発見処理を行うことを開始する。特に、CSE−1は、ここで、<AE−2>の<semanticDescriptor−1>子リソースを調査することによって、発見結果に<AE−2>リソースが含まれる必要があるかどうかの評価を開始する。しかし、<semanticDescriptor−1>内の現在のデータは、AE−1から送信されたSPARQL問い合わせステートメントと一致しない場合がある。このため、CSE−1は、この要求を処理するために、推論がさらに行われる必要があると判断する。
ステップ364:CSE−1は、(セマンティック推論能力を有する)CSE−2上の<reasoningPortal>リソースに<semanticDescriptor−1>に格納された情報と共に要求を送信して、推論処理を要求する。
ステップ365:CSE−2はさらに、追加のFSおよびRSがこの推論処理に加えられる必要があると判断する。例えば、CSE−1は、CSE−3から<facts−1>、およびCSE−4から<reasoningRules−1>をそれぞれ読み出す。
ステップ366:(IDBのような)<semanticDescriptor−1>、ならびに追加の<facts−1>および<reasoningRules−1>に格納された情報に基づいて、CSE−1は、推論処理を実行して(InferredFS−1と表される)推測事実を得る。
ステップ367:CSE−2は、CSE−1にInferredFS−1を返信する。
ステップ368:CSE−1は、InferredFS−1を<semanticDescriptor−1>に格納されているデータと統合し、かつ元のSPARQLステートメントを統合されたデータに適用して整合を得る。その結果、<AE−2>は発見結果に含まれることになる。CSE−1は、全てのリソース発見処理が完了するまで、<CSEBase>の下の次のリソースの評価を続ける。
ステップ369:CSE−1は、AE−1に最終の発見結果を返信する。
図33Aの代替プロシージャについて以下で論じるが、ここで、図33Aに示すものの簡略化されたバージョンを考慮に入れる場合がある。このシナリオでは、(SUのような)AE−1は、CSE−1に要求を送信してセマンティックリソース発見を行うことを目的とする場合がある。ここで、セマティック発見は、単に例であり、また別のセマンティック操作、例えば、セマンティック問い合わせなどであってもよいことに留意されたい。特に、このプロシージャでは、セマティックエンジン(SE)およびセマンティック推論器(SR)は、CSE−1によって認識されている場合がある。それに応じて、リソース発見処理の間、CSE−1はさらに、最適化された発見結果を得るために、推論サポートを利用する場合がある。
図33Bは、図33Aの代替的なプロシージャを示し、かつ詳細を以下に記載する。ステップ371で、AE−1は、セマンティックリソース発見操作を開始することを目的としている。ステップ372で、AE−1は、CSE−1の<CSEBase>にSPARQL問い合わせステートメントが含まれている要求を送信して、セマンティック発見操作を開始してもよい。AE−1はまた、セマンティック推論が使用されてよいかどうかを示す場合がある。例えば、useReasoningと呼ばれる新しいパラメータが、この要求で運ばれてよい。下記のケースなど、このuseReasoningパラメータの使用について複数の異なる方法がある。
ケース1:第1の実装形態は、useReasoningが0または1である場合があるといったものである。useReasoning=1の場合、これは、AE−1がCSE−1に、SPARQL処理の間にセマンティック推論を適用することを要請することを意味し、その一方で、useReasoning=0(またはuseReasoningパラメータが、要求内に存在しない場合)は、AE−1がCSE−1に、セマンティック推論を適用することを要請しないことを意味する。この場合、どの推論規則を使用するかは、セマンティックエンジンまたはセマンティック推論器(例えば、このケースではCSE−1)によって完全に決定される。
ケース2:第2の実装形態は、useReasoningが、使用すべき推論規則を格納している1つまたは複数の特定の<reasoningRule>リソースを表すURI(またはURIのリスト)である場合があるといったものである。
ケース3:第3の実装形態は、AE−1がCSE−1に、SPARQL処理の間に使用することを望む推論規則のリストを、useReasoningに直接格納する場合があるといったものである。
ケース4:第4の実装形態は、useReasoningが、特定の標準SPARQL含意レジームを示す文字列値である場合があるといったものである(SPARQL含意は、異なる含意レジームによって定義されるような標準推論規則を使用するセマンティック推論の1タイプであることに留意されたい)。例えば、useReasoning=“RDFS”の場合、これは、処理中にRDFS含意レジームによって定義される推論(本明細書で含意として呼ばれる場合がある)規則を適用することを、AE−1がCSE−1に要請することを意味する。
ケース1:第1の実装形態は、useReasoningが0または1である場合があるといったものである。useReasoning=1の場合、これは、AE−1がCSE−1に、SPARQL処理の間にセマンティック推論を適用することを要請することを意味し、その一方で、useReasoning=0(またはuseReasoningパラメータが、要求内に存在しない場合)は、AE−1がCSE−1に、セマンティック推論を適用することを要請しないことを意味する。この場合、どの推論規則を使用するかは、セマンティックエンジンまたはセマンティック推論器(例えば、このケースではCSE−1)によって完全に決定される。
ケース2:第2の実装形態は、useReasoningが、使用すべき推論規則を格納している1つまたは複数の特定の<reasoningRule>リソースを表すURI(またはURIのリスト)である場合があるといったものである。
ケース3:第3の実装形態は、AE−1がCSE−1に、SPARQL処理の間に使用することを望む推論規則のリストを、useReasoningに直接格納する場合があるといったものである。
ケース4:第4の実装形態は、useReasoningが、特定の標準SPARQL含意レジームを示す文字列値である場合があるといったものである(SPARQL含意は、異なる含意レジームによって定義されるような標準推論規則を使用するセマンティック推論の1タイプであることに留意されたい)。例えば、useReasoning=“RDFS”の場合、これは、処理中にRDFS含意レジームによって定義される推論(本明細書で含意として呼ばれる場合がある)規則を適用することを、AE−1がCSE−1に要請することを意味する。
実装形態選択に関して、上記の4つのケースのうち1つだけを実装するか、これらの4つのケースを同時に実装してもよい。後者のケースでは、typeofRulesRepresentationと呼ばれる新しいパラメータが定義される場合があり、これは、要求内に含まれ、かつ下記の値または意味を有することがあるパラメータである。
・ typeofRulesRepresentation=1、useReasoningパラメータは0または1である場合がある。
・ typeofRulesRepresentation=2、useReasoningパラメータは、1つまたは複数のURIを格納する。
・ typeofRulesRepresentation=3、useReasoningは、推論規則のリストを格納する。
・ typeofRulesRepresentation=4、useReasoningは、標準SPARQL含意レジームを示す文字列値を格納する。
・ typeofRulesRepresentation=1、useReasoningパラメータは0または1である場合がある。
・ typeofRulesRepresentation=2、useReasoningパラメータは、1つまたは複数のURIを格納する。
・ typeofRulesRepresentation=3、useReasoningは、推論規則のリストを格納する。
・ typeofRulesRepresentation=4、useReasoningは、標準SPARQL含意レジームを示す文字列値を格納する。
ステップ373では、AE−1からの要求に基づいて、CSE−1は、セマンティックリソース発見処理を行うことを開始する。例えば、CSE−1は、ここで、<AE−2>の<semanticDescriptor−1>子リソースを調査することによって、発見結果に<AE−2>リソースが含まれる必要があるかどうかの評価を開始する。特に、CSE−1が、セマンティック推論を適用する能力を有する場合、CSE−1は、まず、セマンティック推論が適用される必要があるかどうかを判断してもよい。したがって、CSE−1はまた、ステップ372で定義されたような異なるケースに基づいて下記の操作を行ってもよい。
ケース1:useReasoning=1である場合、CSE−1は、使用すべき推論規則の適切なセットを決定してもよい。
ケース2:useReasoningが1つまたは複数のURIを含んでいる場合、CSE−1は、このパラメータによって示される関連する<reasoningRule>リソースに格納される推論規則を読み出してもよい。
ケース3:useReasoningが、推論規則のリストを直接格納している場合、CSE−1は、推論のためにそれらの推論規則を使用してもよい。
ケース4:useReasoningが、特定の標準SPARQL含意レジームを示すことがある文字列値の場合、CSE−1は、処理の間に対応する標準含意レジームによって定義される推論規則を使用してもよい。
ケース1:useReasoning=1である場合、CSE−1は、使用すべき推論規則の適切なセットを決定してもよい。
ケース2:useReasoningが1つまたは複数のURIを含んでいる場合、CSE−1は、このパラメータによって示される関連する<reasoningRule>リソースに格納される推論規則を読み出してもよい。
ケース3:useReasoningが、推論規則のリストを直接格納している場合、CSE−1は、推論のためにそれらの推論規則を使用してもよい。
ケース4:useReasoningが、特定の標準SPARQL含意レジームを示すことがある文字列値の場合、CSE−1は、処理の間に対応する標準含意レジームによって定義される推論規則を使用してもよい。
AE−1が、一定のタイプの推論を要請するが、CSE−1がこのような能力を有していないケースでは、セマンティック推論操作は適用されない場合がある。例えば、AE−1がCSE−1に間違ったURIを提供する場合、CSE−1はこの間違ったURIに基づいて推論規則を読み出すことができないので、CSE−1は、推論を適用しない場合がある。
ステップ374では、<semanticDescriptor−1>に格納されている情報および適用された推論規則に基づいて、CSE−1は、推論処理をまず実行して推測事実を得ることができる。次に、CSE−1は、推測事実を<semanticDescriptor−1>に格納されている元のデータと統合し、次いで、元のSPARQLステートメントをその統合されたデータに適用してもよい。その結果、<AE−2>は発見結果に含まれることになる。次に、CSE−1は、発見操作が完了するまで、次の候補リソースの評価を続けてもよい。ステップ375では、CSE−1は、AE−1に最終の発見結果を返信してもよい。
GUIインターフェースを図34に提示するが、これは、ユーザが、セマンティック推論操作を閲覧、構成またはトリガするために使用することができるものである。例えば、図34で考案されているようなUIを使用することによって、ユーザが推論操作のために使用を所望する事実および規則を、ユーザが指定することを可能にする。例えば、それらの事実および規則は、先に定義した<facts>および<reasoningRules>リソースに格納することができる。ユーザはまた、セマンティック推論規則(例えば、推測事実)を配信する場所を指定してもよい。デフォルト値を伴うそれらのパラメータを構成またはプログラムするために、ユーザインターフェースが実装されてよく、また、セマンティック推論サポートのある種の特性を有効または無効にする制御スイッチも実装されてよい。
開示する主題は、他のサービス層に適用可能である場合があることに留意されたい。加えて、本開示は、ユーザの要件/制約を特定するために、例示的言語としてSPARQLを使用する。しかし、開示する主題は、ユーザの要件または制約がSPARQL以外の異なる言語を使用して記述される他のケースにも適用することができる。本明細書にて開示するような「ユーザ」は、サーバまたはモバイルデバイスなどの別のデバイスであってもよい。
本明細書に添付の特許請求の範囲の適用範囲、解釈または応用はいかなる形であれ、過度に制限することなく、本明細書にて開示する例の1つまたは複数の技術的効果は、セマンティック推論サポート操作の調整を提供することである。概して、サービス層での推論操作をトリガする方法を提供するシステム、方法または装置を本明細書にて開示する。セマンティック操作(例えば、セマンティックリソース発見またはセマンティック問い合わせ)の処理の間に、セマンティック操作(セマンティックリソース発見またはセマンティック問い合わせ)がトリガされると、セマンティック推論は、ユーザデバイスの認識なしに(例えば、AEまたはCSEなどのユーザデバイスに知らせることなく)、バックグラウンドサポートとして活用することができる(図15参照)。言い換えると、所定の受信側(例えば、CSE)に関して、セマンティック操作(セマティック発見問い合わせなど)に対するクライアントからの要求を受信するときに、その受信側はそれらの要求を処理することができる。特に、処理の間に、受信側は、(例えば、より精度が高い発見結果のために)処理を最適化するためにセマンティック推論能力をさらに活用する場合がある。
図35は、図6のoneM2Mモデルを示す。それにより、oneM2Mの新しいセマンティック推論機能(SRF)が定義されることが分かる。また、下記はSRFの主な特性およびSRFがサポートする可能性のある異なるタイプの機能性の詳細な説明である。図36は、図35の代替策を示す。図36は、図35の代替図である。(<facts><rules>がリソースであるのに対し、SRFは機能であるので)<facts>リソースおよび<rules>リソースはSRFのボックスの外にある。
特性1:セマンティック推論関連データの有効化について以下で論じる。特性1の機能性は、oneM2Mシステム内の異なるエンティティにわたって、それらのデータを(図35の、矢印381で示されている)発見可能、発行可能(例えば、共有可能)にさせることによって、セマンティック推論関連データ(事実および推論規則を指す)を使用可能にすることができる。セマンティック推論関連データは、事実セット(FS)または規則セット(RS)である場合がある。FSは、事実のセットを指す。例えば、各RDFトリプルは事実を記述できるので、<semanticDescriptor>リソースに格納されているRDFトリプルのセットは、FSとして見なされる。概して、FSは、セマンティック推論処理の入力(例えば、input FS)として使用される場合があるか、またはセマンティック推論処理の結果としての推測事実のセット(例えば、inferred FS)である場合がある。RSは、セマンティック推論規則のセットを指す。
特定のセマンティック推論処理Aを実行するために、1)入力FS(inputFSと表される)および、2)RSの2つのタイプのデータ入力が使用されてよい。
セマンティック推論処理Aの出力は、推論処理Aのセマンティック推論結果である推測FS(inferredFSと表される)を含む場合がある。
推論処理Aによって生成されたinferredFSは、次の別のセマンティック推論処理BでinputFSとしてさらに使用される場合がある。したがって、下記の記載では、基本的に用語FSが適切な場合に使用される。
事実は、通常のoneM2Mリソースのセマンティックアノテーション(例えば<semanticDescriptor>リソースに格納されるRDFトリプル)に限られない。事実は、oneM2Mシステムで利用できるようにされ、かつ他のものによってアクセスされる場合がある任意の有用な情報または知識を指す場合がある。例えば、oneM2M<ontology>リソースに格納されるオントロジーディスクリプションが、FSである場合がある。別のケースでは、FSはまた、情報の個別の部分(先の図5のユースケースで論じた、RDFトリプルで記述する病室割り当て記録など)であり、このようなFSは、オントロジーを記述しないか、または別のリソースのセマンティックアノテーションを記述しない場合がある(例えば、FS記述の病室割り当て記録は、個別に存在する場合があり、また必ずしも他のリソースのセマンティックアノテーションというわけではない)。
RSに関して、oneM2Mシステムは、異なるドメインにわたるアプリケーションを可能にするホリゾンタルなプラットフォームとなるように設計されるので、種々のアプリケーションをサポートするために、ユーザは多くのカスタマイズされた(またはユーザ定義の)セマンティック推論規則を設計する必要がある。したがって、種々のユーザ定義RSが、oneM2Mシステムで利用できるようにされる場合があるが、他のものによってアクセスまたは共有はされない。多くの場合、オントロジー定義を修正する必要がない(例えば、オントロジー内の2つのクラス間で新しいまたは一時的な関係を定義する)ユーザ定義推論規則だけがローカルでまたは一時的に使用される場合があるので、このようなユーザ定義セマンティック推論規則は、柔軟にシステムを向上させることができることに留意されたい。
全体的に、特性1は、適切なoneM2Mリソースを通して、セマンティック推論関連データ(FSおよびRSの両方を含む)の発行、発見または共有を可能にすることを含む。特性1の基本的な流れは、対応するCRUD操作を通してFS関連リソースまたはRS関連リソースを発行、発見、更新、削除するために、(発信元のような)oneM2Mユーザが、一定の受信側CSEに要求を送信する場合があるといったものである。一旦、処理が完了すると、受信側CSEは、発信元に応答を送信することができる。
特性2に関して、バックグラウンドセマンティック推論サポートを伴う他のセマンティック操作最適化について、下記に開示する。特性1に関連して先のセクションで提示したように、oneM2Mシステムでサポートされている既存のセマンティック操作(例えば、セマンティックリソース発見およびセマンティック問い合わせ)は、セマンティック推論サポートなしでは、所望の結果を得ることができない場合がある。SRFの特性2の機能は、他のセマンティック操作(図35の矢印382によって示されている)を最適化するために、セマンティック推論を「バックグラウンドサポート」として活用することである。この場合、ユーザが、特定のセマンティック操作(例えば、セマンティック問い合わせ)をトリガまたは開始する。この操作の処理の間に、さらに、セマンティック推論がバックグラウンドでトリガされる場合があるが、これは、ユーザによって完全に透過的なものである。例えば、ユーザは、SPARQL問い合わせを、SPARQL問い合わせエンジンに送ることによってセマンティック問い合わせを開始する場合がある。関係するRDFトリプル(FS−1と表される)は、SPARQL問い合わせに直接答えることができない可能性がある。それに応じて、SPARQLエンジンはさらに、SRにセマンティック推論処理を行うことを求める場合がある。(inputFSのような)FS−1が充分でない場合、例えば、SRは、一定のアクセス権に基づいて、適切な(RSのような)推論規則セットおよび任意の追加のFSを決定および選択する。最後に、inferredFSで表されるセマンティック推論結果は、SPARQLエンジンに配信され、これは、ユーザのSPARQL問い合わせステートメントに回答/整合するためにさらに使用される場合があるものである。
図5に示されるユースケースを再度用いて、以下に2つの例を説明するが、これらはoneM2Mシステム内のそれら2つの例で示される問題をSRFがどう解決できるかを説明するものである。対象の<Camera−11>リソースは、<semanticDescriptor>リソースをその子リソースとして加えることによって、いくつかのメタデータでアノテートされる。特に、<semanticDescriptor>子リソースは、(既存の事実として)2つのRDFトリプルを格納する。
・ RDFトリプル番号1(例えば、事実a):Camera-11 is-a ontologyA:VideoCamera(ここで、「VideoCamera」は、オントロジーAによって定義されるクラスである。)
・ RFCトリプル番号2(例えば、事実b):Camera-11 is-located-in Room-109-of-Building-1
・ RDFトリプル番号1(例えば、事実a):Camera-11 is-a ontologyA:VideoCamera(ここで、「VideoCamera」は、オントロジーAによって定義されるクラスである。)
・ RFCトリプル番号2(例えば、事実b):Camera-11 is-located-in Room-109-of-Building-1
例1:ユーザが、全ての部屋からリアルタイムの画像を読み出す必要がある場合を考察する。そのことを行うために、ユーザは、まず、下記のSPARQLステートメントIを使用して、カメラを識別するために、セマンティックリソース発見を最初に実施する必要がある。
SELECT ?device
WHERE {
?device is-a ontologyB:VideoRecorder
}
SELECT ?device
WHERE {
?device is-a ontologyB:VideoRecorder
}
実際には、<Camera−11>のセマンティックアノテーションおよびSPARQLステートメントIは、異なるグループによって提供される場合があるので、それらは異なるオントロジーを使用する場合がある可能性が非常に高い。例えば、<Camera−11>のセマンティックアノテーションに関して、事実aで使用されるオントロジークラス「VideoCamera」はオントロジーAからのものである。それに対して、SPARQLステートメントIで使用されるオントロジークラス「VideoRecorder」は、別の異なるオントロジーBからのものである。セマンティック推論能力が存在しないので、システムは、ontologyA:VideoCameraが、ontologyB:VideoRecorderと実は同じであるということを理解することができない。結果として、SPARQL処理は、正確なパターン整合に基づいている(しかし、この例では、事実aは、SPARQLステートメントIのパターン「?device is-a ontologyB:VideoRecorder」と一致しない場合がある)ので、<Camera−11>リソースは、セマンティックリソース発見処理の間に、所望のリソースとして識別されない場合がある。
例2:ユーザが、「特定の管理ゾーン(例えば、MZ−1)に属する」部屋からのリアルタイムの画像を読み出すことだけを望んでいるような、より複雑なケースが、この例では示される。その場合、ユーザは、まず、下記のSPARQLステートメントIIを使用してセマンティックリソース発見を実施してもよい。
SELECT ?device
WHERE {
?device is-a ontologyA:VideoCamera
?device monitors-room-in MZ-1
}
SELECT ?device
WHERE {
?device is-a ontologyA:VideoCamera
?device monitors-room-in MZ-1
}
(例1と類似の)例2では、セマンティック推論サポートがないために、<Camera−11>リソースが、所望のリソースとして識別されない場合もある(この時点で、事実aは、SPARQLステートメントII内のパターン「?device is-a ontologyA:VideoCamera」と一致するが、事実bは、パターン「?device monitors-room-in MZ-1」とは一致しない場合がある)。
例2はまた、推論処理に対して、事実入力が充分でないために起こる、クリティカルなセマンティック推論問題も例示する。例えば、セマンティック推論が可能であると考えられる場合であっても、下記の推論規則(例えば、RR−1)が利用される場合がある。
・ RR−1: IF X is-located-in Y && Y is-managed-under Z, THEN X monitors-room-in Z
・ RR−1: IF X is-located-in Y && Y is-managed-under Z, THEN X monitors-room-in Z
しかし、セマンティック推論処理を通して、RR−1を事実Yに適用しても、推測事実は導き出すことはできない。これは、事実bが、RR−1の「X is-located-in Y」の部分とだけ一致する場合があることが理由である(例えば、Xを<Camera−11>に置き換えて、Yを「Room-109-of-Building-1」に置き換える)。しかし、事実aおよび事実bに加えて、RR−1の「Y is-managed-under Z」の部分と一致させるために利用することができる別の事実がない(RR−1を使用するために充分な事実がない)。実際に、ここで欠落している事実は、病室割り当てについてである。病室割り当て記録は、どの部屋がどのMZに属するかを定義するRDFトリプルのセットである場合があり、例えば、下記のRDFトリプルは、建物1の部屋109がMZ−1に属することを記述している。
事実c:Room-109-of-Building-1 is-managed-under MZ-1
…
事実cを用いなければ、推論処理の入力として充分な事実がないために、この例では依然としてセマンティック推論は助力することができない。
事実c:Room-109-of-Building-1 is-managed-under MZ-1
…
事実cを用いなければ、推論処理の入力として充分な事実がないために、この例では依然としてセマンティック推論は助力することができない。
特性2を活用することによって、ここで、SRFは例1に示した問題を解決することができる。例えば、推論規則(Reasoning Rule:RR−2)は、下記のように定義することができる。
RR−2:IF X is an instance of ontologyA:VideoCamera, THEN X is also an instance of ontologyB:VideoRecorder.
RR−2:IF X is an instance of ontologyA:VideoCamera, THEN X is also an instance of ontologyB:VideoRecorder.
ここで、Xは変数であり、推論処理の間に特定のインスタンス(例えば、例1の<Camera−11>)によって置き換えられる。SPARQLエンジンがSPARQLステートメントIを処理するときに、SPARQLエンジンは、さらに、(RSのような)RR−2を(inputFSのような)事実aに適用するセマンティック推論器(SR)でのセマンティック推論処理をトリガする場合がある。下記の新しい事実を含む、inferredFSを生成することができる。
推測事実a:Camera-11 is-a ontologyB:VideoRecorder
推測事実a:Camera-11 is-a ontologyB:VideoRecorder
ここで、SPARQLエンジンは、推測事実aを使用してSPARQLステートメントIのパターン「?device is-a ontologyB:VideoRecorder」と一致させることができる。その結果、SRFの助力を用いて、ここで、セマンティックリソース発見の間に、<Camera−11>リソースは、所望のリソースとして識別されることが可能になる。
SRFの特性2はまた、例2に示したような問題を解決することもできる。例えば、SPARQLエンジンがSPARQLステートメントIIを処理するときに、SPARQLエンジンは、さらに、SRでのセマンティック推論処理をトリガする場合がある。特に、SRは、(RSのような)RR−1が活用される必要があるかどうかを決定する。一方、RR−1を正常に適用するために、既存の事実bが充分ではなく、追加の事実c(例えば、事実cは、「建物1の部屋109は、MZ−1に属すると」定義する病室割り当て記録である)も推論処理の入力として使用される必要があるというように、SRのローカルポリシーを設定することもできる。この場合、inputFSは、さらに2つの部分、すなわち、initial_InputFS(例えば、事実b)と、additional_InputFS(例えば、事実c)とに分類される。その結果、RR−1を「組み合わされたinputFS」(例えば、事実bおよび事実c)に適用することによって、下記の新しい事実を含むinferredFSを生成することができる。
推測事実b:Camera-11 monitors-room-in MZ-1
推測事実b:Camera-11 monitors-room-in MZ-1
ここで、SPARQLエンジンは、さらに、推測事実cを使用して、SPARQLステートメントIIの問い合わせパターン「?device monitors-room-in MZ-1」と一致させることができる。その結果、ここで、<Camera−11>は例2のセマンティックリソース発見操作で正常に識別され得る。
全体的に、特性2の基本的な流れは、所望のセマンティック操作(例えば、セマンティックリソース発見、セマンティック問い合わせなど)のために、(発信元のような)oneM2Mユーザが、一定の受信側CSEに要求を送信する場合があるといったものである。要求処理の間に、受信側CSEは、推論能力をさらに活用することができる。推論結果を使用することによって、受信側CSEは、さらに、発信元によって要求されたセマンティック操作に対する最終結果(例えば、セマンティック問い合わせ結果またはセマンティック発見結果)を生成し、次いで、発信元に応答を返す。
特性3:個別のセマンティック推論処理の有効化について、以下に開示する。特性2によってサポートされるユースケースに加えて、(図35の矢印383で示されている)セマンティック推論処理が、oneM2Mユーザによって個別にトリガされてよい。言い換えると、セマンティック推論処理は、必ずしも特性2で考慮される他のセマンティック操作と組み合わされる必要はない。特性3を用いて、oneM2Mユーザは、セマンティック推論処理をトリガすることによって、SRFと直接相互作用する場合がある。そのことを行うために、oneM2Mユーザは、まず、(initial_inputFSのような)関心のある事実、および、それらのアプリケーションの必要性に基づく所望の(RSのような)推論規則を識別する。inputFSおよびRSが識別されるときに、oneM2Mユーザは、推論入力(例えば、識別されたinitial_inputFSおよびRS)を指定することによって、特定のセマンティック推論処理をトリガするために、SRに要求を送信する。SRは、ユーザによって示された入力に基づいて、セマンティック推論処理を開始する場合がある。特性2に類似して、ユーザからの入力が充分でない場合、SRは活用される必要がある追加のFSまたはRSを決定する場合もある。一旦、SRがセマンティック推論結果を導き出すと、その推論結果はそれを必要としているoneM2Mユーザに戻される。概して、下記のケースが、特性3によってサポートされる場合がある。
第1のケース(ケース1)では、oneM2Mユーザは、SRFを使用して、低水準データにセマンティック推論を行って、高水準知識を得ることができる。例えば、ある会社が、顧客に健康監視製品を販売しており、かつこの製品が実際に、セマンティック推論能力を活用する。この製品では、部品の1つが、(oneM2Mユーザとして動作する)健康監視アプリケーションである。このアプリケーションは、心臓発作診断/予測推論規則を使用して、特定の患者Aから収集したリアルタイムのバイタルデータ(例えば、血圧、心拍など)に対してセマンティック推論処理を実施することをSRFに要請する。この処理では、心臓発作診断/予測推論規則は、患者A自身の健康プロファイルおよびその患者の過去の心臓発作病歴に基づいて高度にカスタマイズすることができるユーザ定義規則である。このようにして、健康監視アプリケーションは、低水準バイタルデータ(例えば、血圧、心拍など)に対処する必要がなく、(全ての診断/予測業務論理が、SRFによって使用される推論規則で既に定義されているので)患者Aの心臓発作リスクの判断から遠ざかることができる。その結果、健康監視アプリケーションは、推論結果(例えば、「すぐに利用可能な」または「高水準の」知識である患者Aの現在の心臓発作リスク)を活用して、必要であれば、医師に警告を送信するか、または救急車用の911に電話をすることだけを必要とする。
第2のケース(ケース2)では、oneM2Mユーザは、SRFを使用して、既存のデータを拡張するセマンティック推論を行うことができる。例として例1を再度用いて、oneM2Mユーザ(例えば、カメラ11の所有者)は、特性3およびRR−2を使用して、<Camera−11>のセマンティックアノテーション(例えば、既存の事実である事実aおよび事実b)に対してセマンティック推論処理を能動的にトリガする場合がある。セマンティック推論結果(例えば、推測事実a)はまた、<Camera−11>についての低水準セマンティックメタデータであり、かつ長期間有効な事実である。したがって、このような新しい/推測された事実は、さらに、<Camera−11>のセマンティックアノテーションに追加/統合される場合がある。言い換えると、既存の事実は、ここで、推測事実によって「拡張または強化される」。その結果、<Camera−11>は、次のセマンティックリソース発見操作によってより多く発見される機会を得ることができる。このような拡張による別の利点は、次のセマンティックリソース発見操作が、特性2によってサポートされて、毎回バックグラウンドでセマンティック推論をさらにトリガする必要がなく、これにより、処理オーバーヘッドおよび応答遅延を減らすことを助力することである。しかし、全てのユースケースにおいて、推測事実を既存の事実と統合することが適用できるわけではないことは、注目に値する。例として例2を用いて、推測事実b(例えば、「Camera-11 monitors-room-in MZ-1」)は、比較的高水準の知識であり、これは、低水準セマンティックメタデータ(例えば、事実aおよび事実b)と統合するのには適切でない場合もある。一方、病室割り当てが、時々再構成される場合があるので、推測事実bは、短期間だけ有効な事実である場合がある。例えば、現在の部屋再割り当ての後に、カメラ11は建物1の部屋109に依然として設置されている(例えば、事実aおよび事実bは依然として有効である)ものの、カメラ11はMZ−1に属する部屋を監視せず、また現在、この部屋は別の目的に使用されていて、異なるMZに属している(例えば、推測事実bは、もはやそれ以上有効ではなく、削除される必要がある)。そのため、このようなタイプの推測事実または知識を大量のカメラのセマンティックアノテーションに直接統合する意味がなく、さもなければ、場合によっては、オーバーヘッドを更新する考慮すべきアノテーションとなる可能性がある。特性2および特性3の両方はSRFの必要な特性であり、各々がそれぞれ、異なるユーザケースをサポートすることが分かるであろう。
全体的に、特性3の基本的な流れは、(発信元のような)oneM2Mユーザが、推論能力を有する一定の受信側(CSE)に要求を送信する場合があるといったものである。したがって、受信側CSEは、所望の入力(例えば、inputFSおよびRS)を使用して推論処理を行って推論結果を生成して、最終的に発信元に応答を送信する。
図37Aは、セマンティクス推論サポート操作を可能にすることに関連する1つまたは複数の開示される構想(例えば、図7から図15および付随する説明)が実装される場合がある、マシンツーマシン(M2M)、モノのインターネット(IoT)、またはモノのウェブ(WoT)通信システム10の例の図である。概して、M2M技術は、IoT/WoTに構築ブロックを提供し、かつ任意のM2Mデバイス、M2MゲートウェイまたはM2Mサービスプラットフォームは、IoT/WoTのコンポーネント、ならびにIoT/WoTサービス層である場合がある。
図37Aに示すように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、Ethernet、Fiber、ISDN、PLCなど)または無線ネットワーク(例えば、WLAN、セルラーなど)、もしくは異種ネットワークのネットワークであってよい。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャストなどのコンテンツを複数のユーザに提供する複数のアクセスネットワークで構成されてよい。例えば、通信ネットワーク12は、符号分割多重アクセス(Code Division Multiple Access:CDMA)、時分割多重アクセス(Time Division Multiple Access:TDMA)、周波数分割多重アクセス(Frequency Division Multiple Access:FDMA)、直交FDMA(Orthogonal FDMA:OFDMA)、単一キャリアFDMA(Single-Carrier FDMA:SC−FDMA)などの1つまたは複数のチャネルアクセス方法を採用してもよい。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、産業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワークなどの他のネットワークを含んでよい。
図37Aに示すように、M2M/IoT/WoT通信システム10は、インフラストラクチャドメインおよびフィールドドメインを含んでいる場合がある。インフラストラクチャドメインとは、エンドツーエンドM2M展開のネットワーク側を指し、またフィールドドメインとは、通常は、M2Mゲートウェイの背後にあるエリアネットワークを指す。フィールドドメインは、M2Mゲートウェイ14および端末デバイス18を含む。任意の数のM2Mゲートウェイデバイス14およびM2M端末デバイス18が、所望に応じてM2M/IoT/WoT通信システム10に含まれてもよいことが理解されよう。M2Mゲートウェイデバイス14およびM2M端末デバイス18のそれぞれは、通信ネットワーク12または直接無線リンクを介して、信号を伝送および受信するように構成される。M2Mゲートウェイデバイス14は、通信ネットワーク12などのオペレータネットワーク、または直接無線リンクのいずれかを通して、無線M2Mデバイス(例えばセルラーおよび非セルラー)ならびに固定ネットワークM2Mデバイス(例えば、PLC)が通信できるようにする。例えば、M2Mデバイス18は、通信ネットワーク12または直接無線リンクを介して、データを収集し、かつデータをM2Mアプリケーション20または別のM2Mデバイス18に送信してもよい。M2Mデバイス18はまた、M2Mアプリケーション20またはM2Mデバイス18からデータを受信してもよい。さらに、データおよび信号は、下記で説明されるように、M2Mサービス層22を介して、M2Mアプリケーション20に送信され、そこから受信されてもよい。M2Mデバイス18およびゲートウェイ14は、セルラー、WLAN、WPAN(例えば、Zigbee、6LoWPAN、Bluetooth)、直接無線リンク、および有線を含む、種々のネットワークを介して通信してもよい。
図37Bを参照すると、フィールドドメイン内の図示されているM2Mサービス層22は、M2Mアプリケーション20、M2Mゲートウェイデバイス14およびM2M端末デバイス18、ならびに通信ネットワーク12にサービスを提供する。M2Mサービス層22は、所望により、任意の数のM2Mアプリケーション、M2Mゲートウェイデバイス14、M2M端末デバイス18、および通信ネットワーク12と通信できることが理解されよう。M2Mサービス層22は、1つまたは複数のサーバ、コンピュータなどによって実装される場合がある。M2Mサービス層22は、M2M端末デバイス18、M2Mゲートウェイデバイス14およびM2Mアプリケーション20に適用するサービス能力を提供する。M2Mサービス層22の機能は、例えば、ウェブサーバとして、セルラーコアネットワークで、クラウドで、などさまざまな方法で実装されてよい。
図示されているM2Mサービス層22に類似したM2Mサービス層22’がインフラストラクチャドメイン内に存在する。M2Mサービス層22’は、インフラストラクチャドメイン内のM2Mアプリケーション20’および下位通信ネットワーク12’にサービスを提供する。M2Mサービス層22’は、フィールドドメイン内のM2Mゲートウェイデバイス14およびM2M端末デバイス18にもサービスを提供する。M2Mサービス層22’は、任意の数のM2Mアプリケーション、M2MゲートウェイデバイスおよびM2M端末デバイスと通信してよいことが理解されよう。M2Mサービス層22’は、異なるサービスプロバイダによるサービス層と相互に連絡をとってもよい。M2Mサービス層22’は、1つまたは複数のサーバ、コンピュータ、仮想マシン(例えば、クラウド/コンピューティング/ストレージファームなど)などによって実装される場合がある。
図37Bをさらに参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよびバーティカルなシステムが活用することができるサービス配信能力のコアセットを提供する。これらのサービス能力は、M2Mアプリケーション20および20’がデバイスと相互に連絡をとり、データ収集、データ分析、デバイス管理、セキュリティ、請求、サービス/デバイス発見などの機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除くので、アプリケーション開発を単純化し、かつ市場に出す費用および時間を削減する。サービス層22および22’は、M2Mアプリケーション20および20’が、サービス層22および22’が提供するサービスと連携して、種々のネットワーク12および12’を通して通信することも可能にする。
一部の例では、M2Mアプリケーション20および20’は、本明細書にて開示するようなセマンティクス推論サポート操作を使用して通信する所望のアプリケーションを含む場合がある。M2Mアプリケーション20および20’は、限定されるものではないが輸送、保健および健康、コネクテッドホーム、エネルギー管理、資産追跡、ならびにセキュリティおよび監視などの種々の業界でのアプリケーションを含む場合がある。前述のように、デバイス、ゲートウェイ、およびシステムの他のサーバを動作させるM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、請求、位置追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合などの機能をサポートし、かつサービスとしてこれらの機能をM2Mアプリケーション20および20’に提供する。
本出願のセマンティクス推論サポート操作は、サービス層の一部として実装することができる。サービス層は、アプリケーションプログラミングインターフェース(Application Programming Interfaces:API)と下位ネットワークインターフェースとのセットを介して付加価値サービス能力をサポートするミドルウェア層である。M2Mエンティティ(例えば、ハードウェアに実装されるデバイス、ゲートウェイ、またはサービス/プラットフォームなどのM2M機能エンティティ)は、アプリケーションまたはサービスを提供する場合がある。ETSI M2MおよびoneM2Mの両方は、本出願のセマンティクス推論サポート操作を含むことができるサービス層を使用する。oneM2Mサービス層は、共通サービス機能(CSF)(例えば、サービス能力)のセットをサポートする。1つまたは複数の特定のタイプのCSFのセットのインスタンス化は、種々のタイプのネットワークノード(例えば、インフラストラクチャノード、ミドルノード、アプリケーション固有ノード)でホストされる場合がある共通サービスエンティティ(CSE)のことを指す。さらに、本願のセマンティクス推論サポート操作は、本願のセマンティクス推論サポート操作などのサービスにアクセスするサービス指向アーキテクチャ(Service Oriented Architecture:SOA)またはリソース指向アーキテクチャ(Resource-Oriented Architecture:ROA)を使用するM2Mネットワークの一部として実装されてよい。
本明細書で開示するように、サービス層は、ネットワークサービスアーキテクチャ内の機能層であってよい。サービス層は、典型的には、HTTP、CoAPまたはMQTTなどのアプリケーションプロトコル層の上位に位置し、かつクライアントアプリケーションに付加価値サービスを提供する。サービス層は、例えば、コントロール層およびトランスポート層/アクセス層などの下位リソース層で、コアネットワークへのインターフェースも提供する。サービス層は、サービス定義、サービス実行時使用可能性、ポリシー管理、アクセス制御、およびサービスクラスタ化を含む(サービス)能力または機能性の複数のカテゴリーをサポートする。近年、いくつかの業界規格団体、例えば、oneM2Mは、インターネット/ウェブ、セルラー、企業、およびホームネットワークなどの展開へのM2Mタイプのデバイスおよびアプリケーションの統合に関連する課題に対処するM2Mサービス層を開発している。M2Mサービス層は、CSEまたはSCLと呼ばれることもあるサービス層によってサポートされる上述の能力または機能性の集合またはセットへのアクセスをアプリケーションまたは種々のデバイスに提供することができる。いくつかの例としては、種々のアプリケーションによって一般に使用される場合のある、セキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニング、およびコネクティビティ管理が挙げられるが、これらに限定されない。これらの能力または機能性は、M2Mサービス層によって定義されるメッセージフォーマット、リソース構造、およびリソース表現を利用するAPIを介して、かかる種々のアプリケーションに提供されるものである。CSEまたはSCLは、ハードウェアまたはソフトウェアによって実装される場合がある機能エンティティであり、これらは、種々のアプリケーションまたはデバイス(例えば、機能エンティティ間の機能インターフェース)に搭載される(サービス)能力または機能性を提供して、該アプリケーションまたはデバイスはこのような能力または機能性を使用する。
図37Cは、M2M端末デバイス18(AE331を含む場合がある)またはM2Mゲートウェイデバイス14(図13から図15の1つまたは複数のコンポーネントを含む場合がある)などのM2Mデバイス30の例のシステム図である。図37Cに示すように、M2Mデバイス30は、プロセッサ32、送受信機34、伝送/受信要素36、スピーカ/マイクロホン38、キーパッド40、ディスプレイ/タッチパッド42、非取り外し可能メモリ44、取り外し可能メモリ46、電源48、全地球測位システム(Global Positioning System:GPS)チップセット50、および他の周辺機器52を備える場合がある。M2Mデバイス30は、開示される主題と一致したままで、上述の要素の任意の副次的組み合わせを含んでもよいことを理解されたい。M2Mデバイス30(例えば、CSE332、AE331、CSE333、CSE334、CSE335、その他)は、セマンティクス推論サポート操作の開示されるシステムおよび方法を実施する例示的実装形態であってよい。
プロセッサ32は、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(Digital Signal Processor:DSP)、複数のマイクロプロセッサ、DSPコアに関連付けられた1つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuits:ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)回路、任意の他のタイプの集積回路(Integrated Circuits:IC)、状態マシンなどであってよい。プロセッサ32は、信号コーディング、データ処理、電力制御、入力/出力処理、またはM2Mデバイス30が無線環境で動作することを可能にする任意の他の機能性を実施してもよい。プロセッサ32は、伝送/受信要素36に連結されることがある、送受信機34に連結されてもよい。図37Cでは、別個のコンポーネントとしてプロセッサ32と送受信機34とを示しているが、プロセッサ32と送受信機34とが、電子パッケージまたはチップ内に一緒に統合されてもよいことを理解されよう。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)または無線アクセス層(Radio Access-Layer:RAN)プログラムまたは通信を実施してもよい。プロセッサ32は、例えば、アクセス層またはアプリケーション層などで、認証、セキュリティキー一致または暗号化動作などのセキュリティ動作を実施してよい。
伝送/受信要素36は、M2Mサービスプラットフォーム22へ信号を伝送、またはそこから信号を受信するように構成されてよい。例えば、伝送/受信要素36は、RF信号を伝送または受信するように構成されたアンテナであってもよい。伝送/受信要素36は、WLAN、WPAN、セルラーなどの種々のネットワークおよびエアインターフェースをサポートしてよい。一例では、伝送/受信要素36は、例えば、IR、UV、もしくは可視光信号を伝送または受信するように構成されたエミッタ/検出器である場合がある。さらに別の例では、伝送/受信要素36は、RFおよび光信号の両方を伝送および受信するように構成される場合がある。伝送/受信要素36は、無線または有線信号の任意の組み合わせを伝送または受信するように構成されてもよいことを理解されよう。
加えて、伝送/受信要素36は、図37Cでは、単一の要素として描写されているが、M2Mデバイス30は、任意の数の伝送/受信要素36を含んでもよい。より具体的には、M2Mデバイス30は、MIMO技術を採用してもよい。したがって、一例では、M2Mデバイス30は、無線信号の伝送および受信向けに、2つ以上の伝送/受信要素36(例えば、複数のアンテナ)を含む場合がある。
送受信機34は、伝送/受信要素36によって伝送されることになる信号を変調し、かつ伝送/受信要素36によって受信される信号を復調するように構成されてよい。上記のように、M2Mデバイス30は、マルチモード能力を有する場合がある。したがって、例えば、UTRAおよびIEEE802.11などの複数のRATを介してM2Mデバイス30が通信することを可能にするために、送受信機34は複数の送受信機を含んでもよい。
プロセッサ32は、非取り外し可能メモリ44または取り外し可能メモリ46などの任意のタイプの好適なメモリからの情報にアクセスし、かつそこにデータを記憶してもよい。非取り外し可能メモリ44としては、ランダムアクセスメモリ(Random-Access Memory:RAM)、読み取り専用メモリ(Read-Only Memory:ROM)、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを挙げてもよい。取り外し可能メモリ46としては、加入者識別モジュール(Subscriber Identity Module:SIM)カード、メモリスティック、セキュアデジタル(Secure Digital:SD)メモリカードなどを挙げてもよい。別の例では、プロセッサ32は、サーバまたはホームコンピュータなどのM2Mデバイス30上に物理的に位置しないメモリからの情報にアクセスし、かつそこにデータを記憶してもよい。プロセッサ32は、本明細書に記載される例の一部でのセマンティクス推論サポート操作(例えば、セマンティック推論リソースを取得するなど)が、成功したか、失敗したかに応じて、ディスプレイまたはインジケータ42の点灯パターン、画像、または色を制御するように、または、セマンティクス推論サポート操作および関連するコンポーネントの状態を示すように構成されてよい。ディスプレイまたはインジケータ42の点灯パターン、画像または色の制御は、本明細書で示すまたは論じる各図(例えば、図6から図36など)の方法のフローまたはコンポーネントのいずれかの状態が反映される場合がある。セマンティクス推論サポート操作のメッセージおよびプロシージャが、本明細書にて開示される。ユーザが入力ソース(例えば、スピーカ/マイクロホン38、キーパッド40、またはディスプレイ/タッチパッド42)を介してサービス層関連情報を要求するためのインターフェース/APIを提供するために、メッセージおよびプロシージャは、拡張されてよい。追加の例では、特に、ディスプレイ42で表示される場合がある、セマンティクス推論サポートの要求、構成、または問い合わせが挙げられる。
プロセッサ32は、電源48から電力を得てもよく、M2Mデバイス30内のその他のコンポーネントへの電力を分配または制御するように構成されてよい。電源48は、M2Mデバイス30に給電するための任意の好適なデバイスであってよい。例えば、電源48としては、1つまたは複数の乾電池(例えば、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li−ion)など)、太陽電池、燃料電池などを挙げてもよい。
プロセッサ32はまた、M2Mデバイス30の現在位置に関する位置情報(例えば、経度および緯度)を提供するように構成されたGPSチップセット50に連結されてよい。M2Mデバイス30は、本明細書にて開示する情報に一致したままで、任意の好適な位置決定方法を介して位置情報を取得してもよいことを理解されよう。
プロセッサ32はさらに、追加の特徴、機能性、もしくは有線または無線コネクティビティを提供する1つまたは複数のソフトウェアまたはハードウェアモジュールを含むことがある他の周辺機器52に連結されてもよい。例えば、周辺機器52としては、加速度計、バイオメトリック(例えば、指紋)センサなどの種々のセンサ、e-コンパス、衛星送受信機、センサ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(Universal Serial Bus:USB)ポートまたは他の相互接続インターフェース、振動デバイス、テレビ送受信機、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調( Frequency Modulated:FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザなどを挙げてもよい。
伝送/受信要素36は、センサ、大衆消費電子製品、スマートウォッチまたはスマート衣類などのウェアラブルデバイス、医療またはe健康デバイス、ロボット、産業機器、ドローン、車、トラック、電車または飛行機などの乗物などの他の装置もしくはデバイス内で具現化されてもよい。伝送/受信要素36は、周辺機器52のうちの1つを含むことがある相互接続インターフェースなどの1つまたは複数の相互接続インターフェースを介して、そのような装置またはデバイスの他のコンポーネント、モジュール、またはシステムに接続してもよい。
図37Dは、例えば、図37Aおよび図37BのM2Mサービスプラットフォーム22が実装される場合がある例示的コンピューティングシステム90のブロック図である。コンピューティングシステム90(例えば、M2M端末デバイス18またはM2Mゲートウェイデバイス14)は、コンピュータまたはサーバを含んでもよく、主に、コンピュータ可読命令によって、かかる命令が記憶されるまたはアクセスされる手段が何であっても制御される場合がある。かかるコンピュータ可読命令は、コンピューティングシステム90を稼働させるように中央演算処理装置(Central Processing Unit:CPU)91内で実行されてよい。多くの既知のワークステーション、サーバ、およびパーソナルコンピュータでは、中央演算処理装置91は、マイクロプロセッサと呼ばれる単一チップCPUによって実装される。他のマシンでは、中央演算処理装置91は、複数のプロセッサを含むことがある。コプロセッサ81は、主要CPU91とは異なる、追加の機能を実施するか、またはCPU91を支援する任意選択のプロセッサである。CPU91またはコプロセッサ81は、セマンティック推論リソースを取得するなどの、セマンティクス推論サポート操作向けの開示のシステムおよび方法に関連するデータを受信、生成、および処理する場合がある。
動作時、CPU91は、命令をフェッチ、復号、および実行し、またコンピュータの主要データ転送パスであるシステムバス80を介して、情報を他のリソースへ転送し、かつ他のリソースから転送する。このようなシステムバスは、コンピューティングシステム90内のコンポーネント同士を接続し、かつデータ交換のための媒体を定義する。システムバス80は、典型的には、データを送信するためのデータライン、アドレスを送信するためのアドレスライン、および割り込みを送信し、かつシステムバスを操作するための制御ラインを含む。このようなシステムバス80の一例は、PCI(周辺コンポーネント相互接続)バスである。
システムバス80に連結されるメモリデバイスは、ランダムアクセスメモリ(RAM)82および読み取り専用メモリ(ROM)93を含む。このようなメモリは、情報の記憶および読み出しを可能にする回路を含む。ROM93は、概して、容易に修正することができない記憶されたデータを含む。RAM82内に記憶されたデータは、CPU91または他のハードウェアデバイスによって読み取られる、もしくは変更され得る。RAM82またはROM93へのアクセスは、メモリコントローラ92によって制御されてよい。メモリコントローラ92は、命令が実行されると、仮想アドレスを物理的アドレスに変換する、アドレス変換機能を提供する場合がある。メモリコントローラ92はまた、システム内のプロセスを隔離し、かつユーザプロセスからシステムプロセスを隔離するメモリ保護機能を提供する場合がある。したがって、第1のモードで起動するプログラムは、それ自体のプロセス仮想アドレス空間によってマップされるメモリのみにアクセスすることができるが、プロセス間のメモリ共有が設定されていない限り、別のプロセスの仮想アドレス空間内のメモリにアクセスすることはできない。
加えて、コンピューティングシステム90は、CPU91からプリンタ94、キーボード84、マウス95、およびディスクドライブ85などの周辺機器に命令を伝達する役割を担う、周辺機器コントローラ83を含んでもよい。
ディスプレイコントローラ96によって制御されるディスプレイ86は、コンピューティングシステム90によって生成される視覚出力を表示するために使用される。このような視覚出力は、テキスト、グラフィックス、動画グラフィックス、およびビデオを含んでよい。ディスプレイ86は、CRTベースのビデオディスプレイ、LCDベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイ、またはタッチパネルを用いて実装される場合がある。ディスプレイコントローラ96は、ディスプレイ86に送信されるビデオ信号を生成するために必要とされる電子コンポーネントを含む。
さらに、コンピューティングシステム90は、コンピューティングシステム90を、図37Aおよび図37Bのネットワーク12などの外部通信ネットワークに接続するために使用されることがあるネットワークアダプタ97を含んでもよい。
本明細書に記載されるシステム、方法およびプロセスのいずれかまたは全ては、コンピュータ可読記憶媒体に記憶されるコンピュータ実行可能命令(例えば、プログラムコード)の形態で具現化される場合があり、この命令は、コンピュータ、サーバ、M2M端末デバイス、M2Mゲートウェイデバイスなどのマシンによって実行されると、本明細書に記載されるシステム、方法、およびプロセスを実施または実装するものであることが理解される。具体的には、前述のいずれのステップ、操作、または機能も、このようなコンピュータ実行可能命令の形態で実装される場合がある。コンピュータ可読記憶媒体は、情報を記憶するための任意の方法もしくは技術で実装される揮発性および不揮発性媒体、取り外し可能および非取り外し可能媒体の両方を含むが、そのようなコンピュータ可読記憶媒体は本質的に信号を含まない。本明細書の記載から明らかなように、記憶媒体は、法的な主題であるものとして解釈されるべきである。コンピュータ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(Digital Versatile Disks:DVD)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、もしくは所望の情報を記憶するために使用され、かつコンピュータによってアクセスされることがある任意の他の物理的媒体を含む。コンピュータ可読記憶媒体は、コンピュータプログラムを有する場合があり、該コンピュータプログラムは、データ処理ユニットにロード可能なものであり、かつ、コンピュータプログラムのセマンティクス推論サポート操作がデータ処理ユニットによって実行されると、そのデータ処理ユニットに方法ステップを実行させるように適応されるものである場合がある。
各図に示すような、セマンティクス推論サポート操作を可能にする、本開示の主題の好ましい方法、システムまたは装置を説明する際に、明確にする目的で特定の用語が用いられる。しかし、請求される主題は、そのような選択された特定の用語に限定されることを意図するものではなく、また各特定の要素は、類似の目的を達成するために類似の方式で動作する全ての技術的等価物を含むことを理解されたい。
本明細書に記載されている種々の技術は、ハードウェア、ファームウェア、ソフトウェア、または適切な場合は、これらの組み合わせと連携して実装されてもよい。このようなハードウェア、ファームウェア、およびソフトウェアは、通信ネットワークの種々のノードで配置される装置に常駐してもよい。本明細書に記載の方法を実施するために、装置は単独でまたは互いに連携して動作してもよい。本明細書で用いられる用語「装置」、「ネットワーク装置」、「ノード」、「デバイス」、「ネットワークノード」、などは、同じ意味で用いられる場合がある。加えて、単語「または」は、別段の定めがある場合を除き包括的に本明細書で全般的に使用される。
本明細書は、最良の方式を含む主題を開示するために、また当業者が任意のデバイスまたはシステムを作製かつ使用し、任意の組み込まれた方法を行うことを含む請求される主題を実践することを可能にするために、各例を使用する。主題の特許性のある範囲は、特許請求の範囲によって定義され、かつ当業者に想起される他の例を含む場合がある(例えば、本明細書に開示される各例示的方法の間で、ステップを省く、ステップを組み合わせる、またはステップを追加する)。例えば、ステップ344は、省かれる場合がある。別の例では、ステップ204およびステップ205が、省かれるか、または追加される場合がある。そのような他の例は、特許請求の範囲の文字通りの言葉とは異ならない構造要素を有する場合に、または特許請求の範囲の文字通りの言葉とのごくわずかな差異を伴う同等の構造要素を含む場合に、特許請求の範囲の範囲内であることを意図している。
本明細書に記載される、方法、システムおよび装置は、特に、推論サポートを用いるサービス層セマンティクスを提供または管理するための方法を提供することができる。方法、システム、コンピュータ可読記憶媒体または装置は、セマンティック推論要求、ならびに第1事実セットについての情報および第1規則セットについての情報を含むメッセージを取得する方法を有し、そのメッセージに基づいて第1事実セットおよび第1規則セットを読み出し、その第1事実セットおよび第1規則セットに基づいて推測事実を推測し、かつ次のセマンティック操作のために、推測事実セットを装置に格納させる命令を出す。第1事実セットについての情報は、第1事実セットに対するユニフォームリソース識別子を含む場合がある。第1事実セットについての情報は、第1事実セットに関連付けられたオントロジーを含む場合がある。第2事実セットまたは第2規則セットを使用するかどうかを決定することは、第1規則セットに関連付けられたオントロジーと一致する第1事実セットについての情報にさらに基づく場合がある。第2事実セットまたは第2規則セットを使用するかどうかを決定することは、装置の構成テーブル内のキーワードと一致する第1事実セットについての情報にさらに基づく場合がある。操作は、第1事実セットおよび第1規則セットに基づく推測事実を推測することをさらに含む場合がある。次のセマンティック操作は、セマンティックリソース発見を含む場合がある。次のセマンティック操作は、セマンティック問い合わせを含む場合がある。装置は、セマンティック推論器(例えば、共通サービスエンティティ)である場合がある。この段落の全ての組み合わせ(ステップの省略または追加を含む)は、発明を実施するための形態の他の部分と一致する手段で考えられるものである。
Claims (15)
- サービス層におけるセマンティクス推論向けの装置であって、
プロセッサと、
前記プロセッサに連結されたメモリであって、前記プロセッサによって実行されると、前記プロセッサに、
セマンティック推論要求、ならびに第1事実セットについての情報および第1規則セットについての情報を含むメッセージを取得することと、
前記メッセージに基づいて、前記第1事実セットおよび前記第1規則セットを読み出すことと、
前記第1事実セットおよび前記第1規則セットに基づいて、推測事実を推測することと、
次のセマンティック操作のために、前記推測事実セットを前記装置に格納させる命令を出すことと、
を含む操作を実行させる実行可能命令がそれに記憶されているメモリと、
を備える装置。 - 前記第1事実セットについての情報は、前記第1事実セットへのユニフォームリソース識別子を含む、請求項1に記載の装置。
- 前記第1事実セットについての情報は、前記第1事実セットに関連付けられたオントロジーを含む、請求項1に記載の装置。
- 前記操作は、前記読み出された第1事実セットおよび前記第1規則セットに基づいて、第2事実セットまたは第2規則セットを使用するかどうかを決定することをさらに含む、請求項1に記載の装置。
- 前記操作は、前記第1規則セットに関連付けられたオントロジーと一致する前記第1事実セットについての情報に基づいて、第2事実セットまたは第2規則セットを使用するかどうかを決定することをさらに含む、請求項1に記載の装置。
- 前記操作は、前記装置の構成テーブル内のキーワードと一致する前記第1事実セットについての情報に基づいて、第2事実セットまたは第2規則セットを使用するかどうかを決定することをさらに含む、請求項1に記載の装置。
- 前記次のセマンティック操作は、セマンティックリソース発見を含む、請求項1に記載の装置。
- 前記次のセマンティック操作は、セマンティック問い合わせを含む、請求項1に記載の装置。
- 前記装置はセマンティック推論器である、請求項1に記載の装置。
- サービス層におけるセマンティック推論の方法であって、
共通サービスエンティティによって、セマンティック推論要求、ならびに第1事実セットについての情報および第1規則セットについての情報を含むメッセージを取得することと、
前記メッセージに基づいて、前記第1事実セットおよび前記第1規則セットを読み出すことと、
前記第1事実セットおよび前記第1規則セットに基づいて、推測事実を推測することと、
次のセマンティック操作のために、前記推測事実セットを前記共通サービスエンティティに格納させる命令を出すことと、
を含む方法。 - 前記第1事実セットについての情報は、前記第1事実セットに関連付けられたオントロジーを含む、請求項10に記載の方法。
- 前記読み出された第1事実セットおよび前記第1規則セットに基づいて、第2事実セットまたは第2規則セットを使用するかどうかを決定することをさらに含む、請求項10に記載の方法。
- 前記第1規則セットに関連付けられたオントロジーと一致する前記第1事実セットについての情報に基づいて、第2事実セットまたは第2規則セットを使用するかどうかを決定することをさらに含む、請求項10に記載の方法。
- 前記共通サービスエンティティの構成テーブル内のキーワードと一致する前記第1事実セットについての情報に基づいて、第2事実セットまたは第2規則セットを使用するかどうかを決定することをさらに含む、請求項10に記載の方法。
- コンピュータプログラムがそれに記憶されているコンピュータ読み取り可能記憶媒体であって、前記コンピュータプログラムは、データ処理ユニットにロード可能であり、かつ前記データ処理ユニットによって実行されると、前記データ処理ユニットに請求項11から14のいずれか1項に記載の方法ステップを実行させるように適応されている、コンピュータ読み取り可能記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862635827P | 2018-02-27 | 2018-02-27 | |
US62/635,827 | 2018-02-27 | ||
PCT/US2019/019743 WO2019168912A1 (en) | 2018-02-27 | 2019-02-27 | Semantic operations and reasoning support over distributed semantic data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021515317A true JP2021515317A (ja) | 2021-06-17 |
Family
ID=65802171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020545114A Pending JP2021515317A (ja) | 2018-02-27 | 2019-02-27 | 分散しているセマンティックデータに対するセマンティック操作および推論サポート |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210042635A1 (ja) |
EP (1) | EP3759614A1 (ja) |
JP (1) | JP2021515317A (ja) |
KR (1) | KR20200124267A (ja) |
CN (1) | CN111788565A (ja) |
WO (1) | WO2019168912A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11159368B2 (en) * | 2018-12-17 | 2021-10-26 | Sap Se | Component integration |
US11386334B2 (en) * | 2019-01-23 | 2022-07-12 | Kpmg Llp | Case-based reasoning systems and methods |
EP3712787B1 (en) * | 2019-03-18 | 2021-12-29 | Siemens Aktiengesellschaft | A method for generating a semantic description of a composite interaction |
CN113312443A (zh) * | 2021-05-06 | 2021-08-27 | 天津大学深圳研究院 | 一种基于新型存储器的存储内检索与查表构建方法 |
CN113434693B (zh) * | 2021-06-23 | 2023-02-21 | 重庆邮电大学工业互联网研究院 | 一种基于智慧数据平台的数据集成方法 |
KR102400201B1 (ko) * | 2021-11-02 | 2022-05-20 | 한국전자기술연구원 | 시맨틱 온톨로지를 활용한 oneM2M to NGSI-LD 표준 플랫폼 간 연동 방법 |
CN114282548A (zh) * | 2022-01-04 | 2022-04-05 | 重庆邮电大学 | 一种针对物联网数据的自动语义标注系统 |
US11991254B1 (en) * | 2022-06-27 | 2024-05-21 | Amazon Technologies, Inc. | Ontology-based approach for modeling service dependencies in a provider network |
TWI799349B (zh) * | 2022-09-15 | 2023-04-11 | 國立中央大學 | 利用本體論整合城市模型及物聯網開放式標準之智慧城市應用方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050222996A1 (en) * | 2004-03-30 | 2005-10-06 | Oracle International Corporation | Managing event-condition-action rules in a database system |
US10002325B2 (en) * | 2005-03-30 | 2018-06-19 | Primal Fusion Inc. | Knowledge representation systems and methods incorporating inference rules |
US20080071714A1 (en) * | 2006-08-21 | 2008-03-20 | Motorola, Inc. | Method and apparatus for controlling autonomic computing system processes using knowledge-based reasoning mechanisms |
EP1990741A1 (en) * | 2007-05-10 | 2008-11-12 | Ontoprise GmbH | Reasoning architecture |
US8341155B2 (en) * | 2008-02-20 | 2012-12-25 | International Business Machines Corporation | Asset advisory intelligence engine for managing reusable software assets |
US20120330869A1 (en) * | 2011-06-25 | 2012-12-27 | Jayson Theordore Durham | Mental Model Elicitation Device (MMED) Methods and Apparatus |
US10108720B2 (en) * | 2012-11-28 | 2018-10-23 | International Business Machines Corporation | Automatically providing relevant search results based on user behavior |
US10504025B2 (en) * | 2015-03-13 | 2019-12-10 | Cisco Technology, Inc. | Parallel processing of data by multiple semantic reasoning engines |
-
2019
- 2019-02-27 WO PCT/US2019/019743 patent/WO2019168912A1/en unknown
- 2019-02-27 US US16/975,522 patent/US20210042635A1/en not_active Abandoned
- 2019-02-27 JP JP2020545114A patent/JP2021515317A/ja active Pending
- 2019-02-27 KR KR1020207027508A patent/KR20200124267A/ko not_active Application Discontinuation
- 2019-02-27 EP EP19711468.9A patent/EP3759614A1/en not_active Ceased
- 2019-02-27 CN CN201980015837.4A patent/CN111788565A/zh active Pending
Non-Patent Citations (1)
Title |
---|
和泉 諭: "オントロジを利用した健康支援システムの提案とその評価", 情報処理学会論文誌 第49巻 第2号, JPN6023018114, 15 February 2008 (2008-02-15), JP, pages 822 - 837, ISSN: 0005052309 * |
Also Published As
Publication number | Publication date |
---|---|
KR20200124267A (ko) | 2020-11-02 |
WO2019168912A1 (en) | 2019-09-06 |
CN111788565A (zh) | 2020-10-16 |
US20210042635A1 (en) | 2021-02-11 |
EP3759614A1 (en) | 2021-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021515317A (ja) | 分散しているセマンティックデータに対するセマンティック操作および推論サポート | |
US11005888B2 (en) | Access control policy synchronization for service layer | |
US11093556B2 (en) | Restful operations for semantic IoT | |
JP7038113B2 (ja) | モノのインターネットにおけるセマンティックマッシュアップの許可 | |
KR101975845B1 (ko) | M2m 시스템들에 대한 시맨틱 주석 및 시맨틱 저장소 | |
CN109997114A (zh) | 用于通用互通和可扩展性的服务层资源管理 | |
US20180089281A1 (en) | Semantic query over distributed semantic descriptors | |
CN106663143A (zh) | M2m本体管理和语义互操作性 | |
JP6734404B2 (ja) | M2m/iotサービス層におけるセマンティクス推論サービス有効化 | |
CN105453085A (zh) | 语义发布和发现的机制 | |
Lee et al. | SEIF: A Semantic-enabled IoT Service Framework for Realizing Interoperable Data and Knowledge Retrieval | |
WO2017123712A1 (en) | Integrating data entity and semantic entity | |
Park et al. | Semantic open USN service platform architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230509 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20231205 |