Apache Jena를 사용하는 데있어 새로운 기능입니다. 나는 여기서 문제를 직면하고있다.Apache Jena가 자동으로 객체 속성을 병합합니다.
Protege를 사용하여 RDF 파일을 디자인했습니다. 기본적으로, 나는 연합, 집계, & 구성이라는 3 가지 객체 속성을 가지고 있습니다. AGGREGATION & COMPOSITION은 모두 ASSOCIATION의 하위 속성입니다. Protege에서 이처럼 세 가지 객체가 함께 멋지게 생성됩니다.
그러나 Java에서 Jena를 사용할 때 (아래 코드는 내 코드 임), 생성 된 결과는 예상 된 결과와 다릅니다.
모델 m = ModelFactory.createDefaultModel(); String NS = "http://example.com/test/";
OntModel ontoModel = >ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null); ObjectProperty ASSOCIATION = ontoModel.createObjectProperty(NS + >"ASSOCIATION"); ObjectProperty AGGREGATION = ontoModel.createObjectProperty(NS + >"AGGREGATION"); AGGREGATION.addProperty(RDFS.subPropertyOf, ASSOCIATION); ObjectProperty COMPOSITION = ontoModel.createObjectProperty(NS + >"COMPOSITION"); COMPOSITION.addProperty(RDFS.subPropertyOf, ASSOCIATION);
가 생성 된 출력에서 볼 수 있듯이 :
1) ASSOCIATION 객체 속성 응집 & COMPOSITION 아래에 중첩된다.
2) AGGREGATION & COMPOSITION의 하위 하위 속성이 생성됩니다.
여기에 도움을 주시면 매우 감사하겠습니다.
Expected output generated from Protege & output generated with Jena
감사합니다.