1

それで、私はオントロジーを持っていて、SPARQL クエリの助けが必要です。オントロジーは、さまざまなビールの原料と醸造設備に基づいています。たとえば、クラス「Ingredients」、サブクラス「Malt/Grain」、サブクラス「Dark」があります。現在、私はいくつかの異なる、より具体的なタイプのダーク モルトを持っています。それは個人であり、クラス ダークのメンバーです。

Protege で 1 つの個体、たとえば「Dark_Crystal」に移動すると、「Types」フィールドの下に「Dark」が表示されます。

だから、「すべてのダークモルトを見せて」「モルト「Dark_Crystal」を見せて、在庫がない場合は同じタイプの代替モルトを表示するなどのクエリを実行できるようにしたいと考えています。私は SPARQL が苦手なので、オントロジーにはかなりの時間が費やされました. 私は少し知っていますが、それをどのように定式化するか、またはどのタグがそれらを定義する必要があるかを知りません.

これはクエリでの私の下手なショットです。どうすれば正しく定式化できるかわかりません。

SELECT ?Malt WHERE
{
?malt rdfs:subClassOf [
    owl:someValuesFrom :Dark

}

どうもありがとう、私がそれを十分に説明したことを願っています。あなたの中にはいくつかの例があるかもしれません.

4

1 に答える 1

1

私はあなたのオントロジーを持っていないのでテストできませんが、私の頭の上にあるので、それが私が行う方法です:

Darkリテラルの場合:

SELECT ?malt WHERE
{
?malt :hasColor "Dark"
}

Darkがクラスの場合:

SELECT ?malt WHERE
{
?malt :hasColor ?color.
?color rdf:type :Dark
}
于 2013-10-29T09:51:47.780 に答える