ORタイプのステートメントを使用する必要があるSWRLルールを実装する方法を見つけようとしています。シナリオは次のとおりです。オントロジーには、「hasProcess」のオブジェクトプロパティといくつかのプロセスクラスを持つクラス「MachineTool」があります。hasProcess値が「EndMilling」または「Drilling」のMachineToolの個人のリストを取得できるようにする必要があります。
'または'ステートメントが許可された場合、SWRLルールは次のようになります。
MachineTool(?mt) ^ hasProcess(?mt, ?p) ^ (EndMilling OR Drilling)(?p) -> MyMachineTools(?mt)
しかし、そのルールは合法ではありません。誰かが私たちが探していることを達成できるルール(またはルールのセット)を知っていますか?私は1つの代替案があり得ると思っていました(しかしそれをテストしていません、Protegeは現在奇妙です):
EndMilling(?p) -> MyProcesses(?p)
Drilling(?p) -> MyProcesses(?p)
MachineTool(?mt) ^ hasProcess(?mt, ?p) ^ MyProcesses(?p) -> MyMachineTools(?mt)
私はこの問題についてのすべての考えを歓迎します。