有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用Jena在java中向rdf文件动态添加rdf资源?

我有这个{}:

initial jframe

每当我点击add按钮时,JComboBoxJLabel将被添加到我的JFrame

最后的JFrame如下所示:

final jframe

JComboBox的项目是我从本体中提取的URI

例如,我希望我的rdf文件包含4个不同的资源,因此我添加了4个ComboBox并选择了4个不同的URI,但问题是:它只适用于第一个URI,但其他三个URI是相同的

这是我的rdf文件的结果:

the rdf file

这是我生成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) 个答案