如何使用Jena在java中向rdf文件动态添加rdf资源?
我有这个{
每当我点击add
按钮时,JComboBox
和JLabel
将被添加到我的JFrame
最后的JFrame
如下所示:
JComboBox
的项目是我从本体中提取的URI
例如,我希望我的rdf文件包含4个不同的资源,因此我添加了4个ComboBox
并选择了4个不同的URI,但问题是:它只适用于第一个URI,但其他三个URI是相同的
这是我的rdf文件的结果:
这是我生成rdf文件的代码
btnGenerateRdf.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String u = c2.getSelectedItem().toString();
String uu = c4.getSelectedItem().toString();
Model model = ModelFactory.createDefaultModel();
String u1 = u.substring(u.lastIndexOf("#") + 1);
String str=u1.replace('_',' ');
String uu1 = uu.substring(uu.lastIndexOf("#") + 1);
String str1=uu1.replace('_',' ');
Resource node = model.createResource(u)
.addProperty(VCARD.N,
model.createResource()
.addProperty(FOAF.name, str));
Resource node1 = model.createResource(uu)
.addProperty(VCARD.N,
model.createResource()
.addProperty(FOAF.name, str1));
String s = c4.getSelectedItem().toString();
if(add.getActionListeners()!=null)
{
Resource[] nodes = new Resource[panel_2.getComponentCount()-2];
for(int i = 0 ; i<panel_2.getComponentCount()-2;i++)
{
String s1 = s.substring(s.lastIndexOf("#") + 1);// to get the final substring
String s2=s1.replace('_',' ');
nodes[i] = model.createResource(s)
.addProperty(VCARD.N,
model.createResource()
.addProperty(FOAF.name,s2));
}
共 (0) 个答案