2013-10-15 12 views
0

Java에서 DL 쿼리 구문 분석기를 쓰고 있습니다. 이 코드는 클래스 이름을 입력 할 때 정확한 결과를 제공하지만 "hasColor value Red"또는 "hasSugar value Dry"와 같은 쿼리를 제공 할 때 아무 것도 반환하지 않습니다. 나는 OWLAPI를 사용하고 있습니다.DL 쿼리 파서가 특정 쿼리에 대해 빈을 반환합니다.

+1

새로운 질문을하기 전에 몇 가지 이전 질문에 대한 답변을 요청할 수 있습니다 (단, 이에 대한 요구 사항은 없습니다). 그 외에, 색상이 빨간색이거나 개인이 없기 때문에 기대할 수 있습니다. 설탕 건조. 우리는 귀하의 데이터를 볼 수 없으면 알 수 없습니다. 귀하의 데이터를 볼 수 있습니까? 결국, "작성한 코드 관련 문제는 특정 문제를 설명하고 문제를 재현 할 수있는 유효한 코드를 포함해야합니다." –

+0

설명 된 문제의 소스가 너무 많아 의미있는 대답을 제공 할 수 없습니다. 가능성은 다음과 같습니다 :'hasColor' 또는'Red'는 온톨로지에서 선언되지 않았거나 그러한 클래스의 인스턴스가 없습니다. 모호성을 제거하기 위해 작성한 코드 중 일부를 제공해야합니다. – Ignazio

답변

1

예를 들어 this code을 사용한다고 가정합니다.

기본 구조적 추론 도구를 사용하고있는 것으로 보입니다. 예를 들어, HermiT과 같은 더 복잡한 reasoner를 사용하도록 설정해야합니다.

OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();

그것은 작동합니다 의해

OWLReasonerFactory reasonerFactory = new StructuralReasonerFactory();

: 다운로드 및 클래스 패스에 항아리를 추가

첫째, 해, 행 178을 대체! 의견에서 @Joshua에 의해 언급 된 것처럼이 솔루션에 대한 자세한 내용은 this answer을보십시오.

+0

@DipinAzhikodan은 특정 소스 코드에 대해서는 언급하지 않았습니다. "178 호선"은 어디에서 보셨습니까? 그것은 아마, 여기에 참조 된 코드 (http://stackoverflow.com/a/14356151/1281433)를 기반으로하고 있습니까? –

+0

네, 죄송합니다. 증상에 따라 OP가이 문제에 직면 해 있다고 생각합니다. (정확히 발견 한대로 많은 시간을 보았습니다. 그에 따라 답변을 편집합니다). – loopasam

+0

이 경우 합리적인 가정입니다. 비슷한 문제가 OWLAPI 메일 링리스트에 나타나는 예제에서 StructuralReasoner를 남겨 두었 기 때문에 여기에 링크 된 것을 발견하지 못했습니다. OWLAPI 위키에 예제를 추가하고 링크 해 보겠습니다. – Ignazio