Java에서 DL 쿼리 구문 분석기를 쓰고 있습니다. 이 코드는 클래스 이름을 입력 할 때 정확한 결과를 제공하지만 "hasColor value Red"또는 "hasSugar value Dry"와 같은 쿼리를 제공 할 때 아무 것도 반환하지 않습니다. 나는 OWLAPI를 사용하고 있습니다.DL 쿼리 파서가 특정 쿼리에 대해 빈을 반환합니다.
답변
예를 들어 this code을 사용한다고 가정합니다.
기본 구조적 추론 도구를 사용하고있는 것으로 보입니다. 예를 들어, HermiT과 같은 더 복잡한 reasoner를 사용하도록 설정해야합니다.
OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();
그것은 작동합니다 의해
OWLReasonerFactory reasonerFactory = new StructuralReasonerFactory();
: 다운로드 및 클래스 패스에 항아리를 추가
첫째, 해, 행 178을 대체! 의견에서 @Joshua에 의해 언급 된 것처럼이 솔루션에 대한 자세한 내용은 this answer을보십시오.
@DipinAzhikodan은 특정 소스 코드에 대해서는 언급하지 않았습니다. "178 호선"은 어디에서 보셨습니까? 그것은 아마, 여기에 참조 된 코드 (http://stackoverflow.com/a/14356151/1281433)를 기반으로하고 있습니까? –
네, 죄송합니다. 증상에 따라 OP가이 문제에 직면 해 있다고 생각합니다. (정확히 발견 한대로 많은 시간을 보았습니다. 그에 따라 답변을 편집합니다). – loopasam
이 경우 합리적인 가정입니다. 비슷한 문제가 OWLAPI 메일 링리스트에 나타나는 예제에서 StructuralReasoner를 남겨 두었 기 때문에 여기에 링크 된 것을 발견하지 못했습니다. OWLAPI 위키에 예제를 추가하고 링크 해 보겠습니다. – Ignazio
새로운 질문을하기 전에 몇 가지 이전 질문에 대한 답변을 요청할 수 있습니다 (단, 이에 대한 요구 사항은 없습니다). 그 외에, 색상이 빨간색이거나 개인이 없기 때문에 기대할 수 있습니다. 설탕 건조. 우리는 귀하의 데이터를 볼 수 없으면 알 수 없습니다. 귀하의 데이터를 볼 수 있습니까? 결국, "작성한 코드 관련 문제는 특정 문제를 설명하고 문제를 재현 할 수있는 유효한 코드를 포함해야합니다." –
설명 된 문제의 소스가 너무 많아 의미있는 대답을 제공 할 수 없습니다. 가능성은 다음과 같습니다 :'hasColor' 또는'Red'는 온톨로지에서 선언되지 않았거나 그러한 클래스의 인스턴스가 없습니다. 모호성을 제거하기 위해 작성한 코드 중 일부를 제공해야합니다. – Ignazio