Аннотирование данных датчика, но без rdf:type

Я комментирую наблюдения датчиков, используя JENA, RDF и онтологию датчиков W3C SSNXG.

Я создал индивидуальное устройство SensingDevice SSNXG, используя для него локальное пространство имен. Когда я использую индивидуальный 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. Как правильно добавить метаданные типа?


person Bailz    schedule 03.12.2010    source источник


Ответы (1)


Вы были рядом:

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

Вызов, который вы использовали, устанавливает rdf:type в строку "http://purl.oclc.org/NET/...", а не в ресурс с этим URL-адресом.

Однако вы можете упростить это двумя способами. Во-первых, Property type уже существует в Йене как RDF.type. Во-вторых, вам не нужно создавать оператор, просто добавьте его в модель напрямую:

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

(Вы можете создавать константы Java из онтологий, используя schemagen jena, кстати)

person user205512    schedule 03.12.2010