問題タブ [rdfs+]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rdf - RDF ストアの推論機能に関する SPARQL ベースのテストはありますか?
SPARQL / SPARQL Update エンドポイントが与えられた場合、RDFS/RDFS+/OWL 1/2 の RDF ストアを経験的にテストする方法 * / おそらくそれが提供する SPIN 機能? すぐに利用できる一連のクエリはありますか?
つまり、これらのクエリを実行した後、返されたトリプルに応じて、推論機能のサポート (表現力) と準拠レベルを推測できます。
これは非常に些細なアイデアのように思えます (専門家が一連のクエリを考え出すのはおそらく簡単なことです) が、そのような資料はどこにも見つかりません。
SPARQL サービス記述がこれに関連するかどうかはわかりませんが、何かを宣言することと実際に提供することは別のことです。
rdf - RDF のクラスのないプロパティ
クラスがありPerson
ます。と の 2 つのプロパティがhasAge
ありhasZipCode
ます。
と はプロパティhasAge
のhasZipCode
サブhasColumn
プロパティです。したがって、次のように言及しました。
しかし、私の RDF グラフには、 property を含むクラスがありませんhasColumn
。つまり、次のようなものはありません。
RDF ではhasColumn
、クラスなしでプロパティ (例: ) を定義することは許可されていますか?
sparql - owl:equivalentClass の RDFS アナログ?
私は、患者が薬の処方箋を持っているP
ヘルスケアの出会いに参加していると言うトリプルを持ってE
います。M
処方箋はmention
、Drug Ontology (DrOn) からの薬にすることができます。
この場合、http://purl.obolibrary.org/obo/CHEBI_39548M1
として ChEBI から DrOn にインポートされたコレステロール低下薬アトルバスタチンに言及しているとします。
prefix obo: <http://purl.obolibrary.org/obo/>
:M1 obo:IAO_0000142 obo:CHEBI_39548 .
ChEBI には、obo:CHEBI_39548 が役割http://purl.obolibrary.org/obo/CHEBI_35821、「抗コレステロール血症薬」を持っているという公理があります。これにより、アトルバスタチンや同じ役割を持つ他の薬を処方された患者を簡単に見つけることができます。
残念ながら、DrOn は ChEBI から輸入するのではなく、一部の薬物について独自の用語を作成しました。たとえば、別のコレステロール低下薬であるロスバスタチンは、 http://purl.obolibrary.org/obo/CHEBI_38545 ではなく、 http://purl.obolibrary.org/obo/DRON_00018679 としてモデル化されています。ロスバスタチンに対する ChEBI の用語には、役割 obo:CHEBI_39548 の注釈も付けられていますが、obo:DRON_00018679 はそうではありません。そのため、ロスバスタチンを処方されたデータセット内の患者は、既存の役割ベースのクエリには表示されません。
これらのデータは GraphDB RDFS-plus リポジトリにあり、現在は推論レベルを変更したくありません。それがOWLリポジトリである場合、私はただ言うでしょう
obo:CHEBI_38545 owl:equivalentClass obo:DRON_00018679
RDFS や GraphDB カスタム ルールセットで同様のことができますか?
rdf - 考えられるすべての推論を計算するアルゴリズムが必要
静的 RDFS-Plus 推論エンジンを作成しています。
含まれているすべての構成要素に対して適切な推論を行う関数を作成しました。たとえば、この関数に triple が渡された場合C1 rdf:subClassOf C2
、フォーム のトリプル内のすべての X に対して、フォームX rdf:type C1
の新しいトリプルX rdf:type C2
が生成されます。
私が苦労しているのは、考えられるすべての推論を行う方法を見つけることです。苦労は、推論に基づいて推論をしなければならないという事実から来ています。
これが私のプログラムのどこにいるかです:
私が確実に機能すると確信している唯一のアイデアは、RDFS-Plus リストのすべての順列を生成し (リストのリストを与える)、各内部リストに対して私の推論関数をマップすることです。これは非常に非効率的であるため、役に立たない解決策です。
私の推論関数は、考えられるすべての推論を生成するのに十分ですか?それとも不毛な道をたどったのでしょうか? ルールの依存関係グラフを作成するのに十分な準備はできていますか? モデリング構造が別の構造に依存する可能性があるかどうかを計算する方法がわかりません。たとえば、owl:FunctionalProperty
依存する可能性がありますrdfs:subClassOf
か、これは意味不明ですか?
いくつかの洞察をいただければ幸いです。