문제

나는 Protege 4.3과 SWRL을 사용하여 Pellet을 추론 자로 만들고 있습니다.

나는 SWRL Buildins를 사용하려고 노력하고 있지만 전혀 작동하지 않을 수는 없습니다.

규칙은 정확하지만 Protege는 모든 내장에서 인식하지 못하는 것 같습니다 (예 : 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 : SWRLB : 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, ...). 당신은 할 수 있습니다 :

  • "상태"클래스 만들기
  • "State Class"에서 위와 같은 "동등한"규칙을 추가하십시오.
  • 추론자를 실행하십시오

이제 유형 목록에 "state"가있는 ID> 10이있는 엔티티를 볼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top