나는 entarment의 sparql과 사용을 시도하고있다. 다른 Entailment 체제의 Jena 효과
는 예를 들어 나는 예나에 넣어하려고http://www.w3.org/TR/2010/WD-sparql11-entailment-20100126/#t112을 사용했다.
OntClass book1= model.createClass(NS+"book1");
OntClass book2=model.createClass(NS+"book2");
OntClass book3=model.createClass(NS+"book3");
OntClass publication=model.createClass(NS+"publication");
OntClass article=model.createClass(NS+"article");
OntClass mit=model.createClass(NS+"MIT");
ObjectProperty a = model.createObjectProperty(NS+"a");
ObjectProperty publishes = model.createObjectProperty(NS+"publishes");
book1.addProperty(a, publication);
book2.addProperty(a, article);
publication.addSubClass(article);
publishes.addRange(publication);
mit.addProperty(publishes, book3);
여기서 모델은 OntModel 유형입니다.
그리고 난 모델은 다음과 같이 생성 된 문제
"PREFIX table: "I have correct namespace here"+
"SELECT *"+
"WHERE"+
"{"+
" ?x ?y table:publication ."+
"}";
과 유사한 쿼리를 사용했다. 희망 OntModelSpec은 괜찮습니다. 쿼리
x y
| http://www.example.com/ontologies/sample.owl#publishes | rdfs:range |
| http://www.example.com/ontologies/sample.owl#article | rdfs:subClassOf |
| http://www.example.com/ontologies/sample.owl#book1 | http://www.example.com/ontologies/sample.owl#a |
| http://www.example.com/ontologies/sample.owl#publication | rdfs:subClassOf |
| http://www.example.com/ontologies/sample.owl#book3 | rdf:type |
결과는 사람,과 및 함의하지 않고, 나에게 그래서 캔트 시도 코드를 예를 줄 수있는 결과를 바로 얻을 수
OntModel m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_RDFS_INF, null);
내가 얻을.
xx는 잘 작동했다. 나는 당신의 생각에 따라 모델을 바꿨다. 추론을하지 않고 book1 (더하기 게시 및 기사), 추론, 3 권의 책. 고마워. y 수업으로 책은 나쁜 실수 였지만 같은 결과를 얻지 못했지만 book3을 확인하지 못했습니다. – blueomega
기꺼이 도와 드리겠습니다! – cygri