質問

Protege 4.3とSWRLを使用して、ペレットを推論者としていくつかのルールを作成しています。

私はSWRLビルトインを使用しようとしていますが、まったく機能させることはできません。

ルールは正しいですが、プロテッジはすべてのビルトインを認識していないようです(例:SWRLB:GreaterThan)

Protege 4.3にSWRLの組み込みを識別するために必要なプロセスについて私に知らせていただけますか?

これがルールの例です。

Asset(?p), id(?p, ?x), swrlb:greaterThan(?x, 10) -> State(?p)

私の問題は、それがまったく認識していないように見えることです swrlb:greaterThan. 。エラーは言う:

owlruntimeexception:org.protege.editor.owl.model.classexpression.owlexpressionparseRexception:exounted swrlb:greaterthan at line 1列30。

役に立ちましたか?

解決 2

Protégé(4.2.0、とにかく、しかし、私は4.3にも同じことが当てはまると思います)、プレフィックスを追加する必要はありません swrlb: 編集者。使用するだけです greaterThan. 。たとえば、これをエディターに入力した場合:

rule editor

あなたは得る:

the rendered rule

他のヒント

クラス:状態

id some xsd:int[> "10"^^xsd:int]

現在、Protege(私はV 5.5.0を使用しています)は、SWRLBを推論でサポートしていません(Hermit、Pellet、...)。あなたはできる:

  • クラス「状態」を作成する
  • 上記のような「等価」ルールを「州クラス」に追加する
  • 推論者を実行します

タイプリストに「状態」があるID> 10のエンティティが表示されるはずです

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top