2010-12-03 2 views
1

JENA, RDF 및 W3C SSNXG의 센서 온톨로지를 사용하여 센서 관측에 주석을 달았습니다.센서 데이터에 주석을 달았지만 rdf가 없음 : type

SSNXG의 SensingDevice 개인을 로컬 네임 스페이스를 사용하여 만들었습니다. 개인의 URI를 사용하여 RDF 리소스를 만들 때 얻을 수있는 모든 것은 설명입니다. 그러나 rdf : type 메타 데이터가 작성되지 않습니다. 코드에서 명시 적으로이 작업을 수행 했어야합니까? 나는이 같은 정보를 추가하려고했습니다

:

OntClass sensingDevice = ssn.getOntClass(NS + "SensingDevice"); 
Individual ard = ssn.createIndividual(DTPNS + arduino, sensingDevice); 
Property type = incomingData.createProperty(RDFNS, "type"); 
Statement stmt0 = incomingData.createStatement(ardu, type, NS + "SensingDevice"); 
incomingData.add(stmt0); 

그러나,이 결과

...

<rdf:Description rdf:about="http://dtp-126.sncs.abdn.ac.uk#CD7514"> 
    <rdf:type>http://purl.oclc.org/NET/ssnx/ssn#SensingDevice</rdf:type 
</rdf:Description> 

이 SPARQL 볼 될 것 같지 않습니다. 유형 메타 데이터를 올바르게 추가하려면 어떻게해야합니까?

답변

2

당신은 가까웠다 :

Statement stmt0 = incomingData.createStatement(ardu, type, sensingDevice); 

당신은 RDF 설정 사용 호출 : 형식 문자열에 "http : //purl.oclc.org/NET/..."보다는 해당 URL과 자원 .

그러나 두 가지 방법으로이를 단순화 할 수 있습니다. 첫째, Property type은 이미 jena에 RDF.type으로 존재합니다. 둘째, 당신은 직접 모델에 추가, 성명을 만들 필요가 없습니다 : (BTW, 당신은 예나의 schemagen를 사용하여 온톨로지에서 자바 상수를 생성 할 수 있습니다)

incomingData.add(ard, RDF.type, sendingDevice); 

관련 문제