gpt4 book ai didi

java - 注释传感器数据但没有 rdf :type

转载 作者:行者123 更新时间:2023-11-30 05:08:16 26 4
gpt4 key购买 nike

我使用 JENA、RDF 和 W3C SSNXG 的传感器本体来注释传感器观测结果。

我使用个体的本地命名空间创建了 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 来说似乎不可见。如何正确添加类型元数据?

最佳答案

你很接近:

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

您使用的调用将 rdf:type 设置为字符串“http://purl.oclc.org/NET/...”,而不是具有该 URL 的资源。

但是您可以通过两种方式简化它。首先,属性类型已经作为RDF.type存在于jena中。其次,不需要创建语句,直接添加到模型中即可:

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

(您可以使用 jena 的 schemagen 从本体创建 java 常量,顺便说一句)

关于java - 注释传感器数据但没有 rdf :type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4347349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com