2012-06-24 3 views
0

다음 Jena 코드를 썼습니다. 그러나 이것은 오류이며이 문제를 해결하는 방법을 알지 못했습니다. 그의 범위는 int 동안Jena에서 DatatyProperties를 적절하게 인스턴스화하는 방법은 무엇입니까?

여기 여기에 코드

Resource subject = null; 
Property property = null; 
Statement statement = null; 

... 

OntModel domainModel = ModelFactory.createOntologyModel(ProfileRegistry.OWL_DL_LANG); 
domainModel.read((new FileInputStream(bootstrapInOwl)), null); 

subject = domainModel.getIndividual(bootbase + "Frame" + frameNum);      
property = domainModel.getOntProperty(bootbase + "hasDuration");     
statement = domainModel.createLiteralStatement(subject, property, 12000); 
domainModel.add(statement); 

오류 메시지

Exception in thread "main" java.lang.NullPointerException 
    at com.hp.hpl.jena.rdf.model.impl.StatementImpl.<init>(StatementImpl.java:29) 
    at com.hp.hpl.jena.rdf.model.impl.ModelCom.createStatement(ModelCom.java:1116) 
    at com.hp.hpl.jena.rdf.model.impl.ModelCom.createLiteralStatement(ModelCom.java:626) 
    at soctrace.Intology.manageOntologies2(Intology.java:217) 
    at soctrace.Intology.main(Intology.java:56) 

속성입니다 hasDuration 도메인은 Frame 클래스입니다.

답장을 보내 주셔서 감사합니다.

답변

2

이 두 줄 중 하나가 아래 null 포인터를 반환하는 것 같다

subject = domainModel.getIndividual(bootbase + "Frame" + frameNum);      
property = domainModel.getOntProperty(bootbase + "hasDuration"); 

는 기존 URI를 찾아 있는지 확인합니다.

+0

예! 즉,'frameNum'의 값이 예기치 않게 변경되었습니다! –

관련 문제