您好我正在尝试在这两个人之间添加一个对象属性。我在代码中也有对象属性,个人在本体中。只需要使用属性连接它们。个人在代码中看起来像这样,我的问题是我从来没有使用过这个“描述”标签的本体。
<!-- http://vivo.iu.edu/individual/n6356 -->
<owl:Thing rdf:about="http://vivo.iu.edu/individual/n6356">
<rdf:type rdf:resource="&bibo;Article"/>
<rdf:type rdf:resource="&bibo;Document"/>
<rdf:type rdf:resource="&vivo;ConferencePaper"/>
<rdf:type rdf:resource="&vivo;InformationResource"/>
<rdf:type rdf:resource="&owl;NamedIndividual"/>
<rdfs:label xml:lang="en-us">Indiana University Digital Music Library Project</rdfs:label>
<vitro:modTime rdf:datatype="&xsd;dateTime">2010-07-28T15:36:03</vitro:modTime>
<vitro:moniker rdf:datatype="&xsd;string">conference paper</vitro:moniker>
<bibo:doi rdf:datatype="&xsd;string">http://doi.acm.org/10.1145/379437.379774</bibo:doi>
<title>Indiana University Digital Music Library Project</title>
<dateTimeValue rdf:resource="http://vivo.iu.edu/individual/n4086167"/>
<bibo:presentedAt rdf:resource="http://vivo.iu.edu/individual/n5092"/>
<informationResourceInAuthorship rdf:resource="http://vivo.iu.edu/individual/n6257"/>
<informationResourceInAuthorship rdf:resource="http://vivo.iu.edu/individual/n6300"/>
<vitro:mostSpecificType rdf:resource="&vivo;ConferencePaper"/>
</owl:Thing>
<!-- http://vivo.iu.edu/individual/n6399 -->
<owl:Thing rdf:about="http://vivo.iu.edu/individual/n6399">
<rdf:type rdf:resource="&bibo;Article"/>
<rdf:type rdf:resource="&bibo;Document"/>
<rdf:type rdf:resource="&vivo;ConferencePaper"/>
<rdf:type rdf:resource="&vivo;InformationResource"/>
<rdf:type rdf:resource="&owl;NamedIndividual"/>
<rdfs:label xml:lang="en-us">Assessing Future Ecosystem Services: a Case Study of the Northern Highlands Lake District Wisconsin</rdfs:label>
<vitro:modTime rdf:datatype="&xsd;dateTime">2010-07-28T15:36:03</vitro:modTime>
<vitro:moniker rdf:datatype="&xsd;string">conference paper</vitro:moniker>
<bibo:doi rdf:datatype="&xsd;string">http://doi.acm.org/10.1145/379437.99999</bibo:doi>
<title>Assessing Future Ecosystem Services: a Case Study of the Northern Highlands Lake District Wisconsin</title>
<dateTimeValue rdf:resource="http://vivo.iu.edu/individual/n111111"/>
<bibo:presentedAt rdf:resource="http://vivo.iu.edu/individual/n2222"/>
<informationResourceInAuthorship rdf:resource="http://vivo.iu.edu/individual/n3333"/>
<informationResourceInAuthorship rdf:resource="http://vivo.iu.edu/individual/n4444"/>
<vitro:mostSpecificType rdf:resource="&vivo;ConferencePaper"/>
</owl:Thing>
我已尝试使用此代码,但getter为我提供了null值。获取两个人的名字,获取对象属性并将其添加到模型中。
Individual doc = model.getIndividual("n6356");
Individual ref = model.getIndividual("n6399");
ObjectProperty cites = model.getObjectProperty("http://purl.org/ontology/bibo/cites");
model.add(doc,cites,ref);
答案 0 :(得分:2)
RDF中的资源是空节点或URI节点。您的个人恰好是IRI节点,因此您需要使用以下方式检索它们:
Individual doc = model.getIndividual("http://vivo.iu.edu/individual/n6356");
Individual ref = model.getIndividual("http://vivo.iu.edu/individual/n6399");
如果你要做很多这样的事情,可能有意义:
final String NS = "http://vivo.iu.edu/individual/";
Individual doc = model.getIndividual(NS+"n6356");
Individual ref = model.getIndividual(NS+"n6399");
答案 1 :(得分:1)
如果您不将模型保存在内存中,请不要忘记将其写出来。
final String NS = "http://vivo.iu.edu/individual/";
Individual doc = model.getIndividual(NS+"n6356");
Individual ref = model.getIndividual(NS+"n6399");
ObjectProperty cites = model.getObjectProperty("http://purl.org/ontology/bibo/cites");
model.add(doc,cites,ref).write(new FileOutputStream(new File("rdf/myRDFFile.owl"));