2013-11-23 35 views
0

你好,我想在这两个人之间添加一个对象属性。我也在代码中拥有对象属性,而个体在本体中。只需要使用属性连接它们。个人在代码中看起来像这样,我的问题是我从来没有使用这个“描述”标签来处理这个本体。如何添加对象属性与耶拿?特殊格式

<!-- 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> 

我已经尝试过使用这段代码,但getters给了我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

你有什么进展吗? –

回答

1

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

如果你不保存你的模型在内存中,不要忘记写出来。

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"));