1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

API Jena

Discussion in 'Java' started by bpr25, Aug 8, 2011.

  1. bpr25

    bpr25 New Member

    Joined:
    Aug 8, 2011
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Hi,

    I have an interface with 4 labels, 4 textfields and some buttons like "Add", "modify, "next", etc. The user will enter name, first name, birth date, etc. After clicking the button "add", the information that he has entered will be added on rdf file. The "next" (in french "Suivant") button didn't work. When i click on "next" button, nothing appears on textfields. There is nothing in the textfields.
    Can you help me please?
    Thanks.


    Code:
        
        //ActionAdd
        public class ActionAjoutPersonne extends Onto implements ActionListener
        {
            
            public void actionPerformed(ActionEvent evt)
            {
                        
                Onto f;
                            
                f = new Onto();
        
                
                for(int i=0;i<4;i++)
                {
                    
                                
                    tabTF[i].getText();    
                    Resource p1 = model.createResource(uriBase+tabTF[0].getText());
                    p1.addProperty(RDF.type, f.personne);
                    
                    if (i==0) 
                    {
                        p1.addProperty(f.aPourPrenom, tabTF[i].getText());
                        
                    }
                    if (i==1)
                    {
                        p1.addProperty(f.aPourNom, tabTF[i].getText());
                    }
                    if (i==2)
                    {
                        
                        p1.addProperty(f.aDateNaiss, tabTF[i].getText());
                    }
                    if (i==3)
                    {
                        if (tabTF[i].getText().equals("F"))
                        {
                            p1.addProperty(f.aGenre, tabTF[i].getText());
                            p1.addProperty(RDF.type, f.femme);
                        }
                        else 
                            if (tabTF[i].getText().equals("H"))
                            {
                                p1.addProperty(f.aGenre, tabTF[i].getText());
                                p1.addProperty(RDF.type, f.homme);
                            }
                    }
                    
                    StringWriter sw = new StringWriter();
                    model.write(sw, "RDF/XML-ABBREV");
                    String owlCode = sw.toString();
                    File file = new File("d:/teste20.rdf");
                    try{
                        FileWriter fw = new FileWriter(file);
                        fw.write(owlCode);
                        fw.close();
                    } catch(FileNotFoundException fnfe){
                        fnfe.printStackTrace();} 
                    catch(IOException ioe){
                            ioe.printStackTrace();
                    }    
                    
                }
                
            }
            }
        
        //ActionNext
        class ActionSuivant extends Onto implements ActionListener
        {
            public void actionPerformed(ActionEvent evt)
            {
                        
                Onto s = new Onto();
                int indice=1;
                String []M= new String [10];
                
                //Read RDF File
                InputStream in = FileManager.get().open("d:\teste20.rdf");
                if (in == null) 
                {
                  throw new IllegalArgumentException("File: " + "d:\teste20.rdf" + " not found");
                }
                s.model.read(in, null);
                    
                //Search instances of Personne Class            
                ExtendedIterator instances=s.personne.listInstances();
                        
                indice++;
                for(int p=0;p<10;p++) //10 instances
                {
                    while (instances.hasNext())
                    {
                         Individual thisInstance = (Individual) instances.next();
                         M[p]= thisInstance.getLocalName();
                         
                        if(p==indice)
                        {                                      tabTF[0].setText((thisInstance.getPropertyResourceValue(s.aPourPrenom)).toString());
                          tabTF[1].setText((thisInstance.getPropertyResourceValue(s.aPourNom)).toString());
                          tabTF[2].setText((thisInstance.getPropertyResourceValue(s.aDateNaiss)).toString());
                        }
                     }
                 }
            }
        }
    }
     
  2. alssadi

    alssadi Banned

    Joined:
    Dec 11, 2010
    Messages:
    41
    Likes Received:
    3
    Trophy Points:
    0
    Occupation:
    Creative director & web developer
    Location:
    Dubai
    Home Page:
    where do you store your data , and in what kind of format , is next mean next or next mean new record
     
  3. bpr25

    bpr25 New Member

    Joined:
    Aug 8, 2011
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Hi, thanks for your answer.

    The format is "RDF/XML-ABBREV". When the code below is executed, a window appears with 4 text fields and buttons Next, back, add, modify and remove. The button Next means move to the next instance of the Person class and displays the values of DatatypeProperties for this instance in text fields.
    One click on Next button -> display on text fields values for the DatatypeProperties of Instance 1; Two clicks on Next button -> display on text fields values for the DatatypeProperties of Instance 2; etc.
    But this button doesn't work. :nonod: The text fields are empty.

    Code:
        //ontology
        public class Onto 
        {
            (...)   
            public Onto (){
            model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
            (...)        
            //Classes
            (...)       
            
            //Sub-classes
            (...)
            
            }
        //ActionAdd for Add button- It works!
        public class ActionAjoutPersonne extends Onto implements ActionListener
        {
            
            public void actionPerformed(ActionEvent evt)
            {
                      
                Onto f;
                            
                f = new Onto();
        
                
                for(int i=0;i<4;i++)
                {
                    
                                
                    tabTF[i].getText();    
                    Resource p1 = model.createResource(uriBase+tabTF[0].getText());
                    p1.addProperty(RDF.type, f.personne);
                    
                    if (i==0) 
                    {
                        p1.addProperty(f.aPourPrenom, tabTF[i].getText());
                        
                    }
                    if (i==1)
                    {
                        p1.addProperty(f.aPourNom, tabTF[i].getText());
                    }
                    if (i==2)
                    {
                        
                        p1.addProperty(f.aDateNaiss, tabTF[i].getText());
                    }
                    if (i==3)
                    {
                        if (tabTF[i].getText().equals("F"))
                        {
                            p1.addProperty(f.aGenre, tabTF[i].getText());
                            p1.addProperty(RDF.type, f.femme);
                        }
                        else 
                            if (tabTF[i].getText().equals("H"))
                            {
                                p1.addProperty(f.aGenre, tabTF[i].getText());
                                p1.addProperty(RDF.type, f.homme);
                            }
                    }
                    
                    StringWriter sw = new StringWriter();
                    model.write(sw, "RDF/XML-ABBREV");
                    String owlCode = sw.toString();
                    File file = new File("d:/teste20.rdf");
                    try{
                        FileWriter fw = new FileWriter(file);
                        fw.write(owlCode);
                        fw.close();
                    } catch(FileNotFoundException fnfe){
                        fnfe.printStackTrace();} 
                    catch(IOException ioe){
                            ioe.printStackTrace();
                    }    
                    
                }
                
            }
            }
        
        //ActionNext - for next button: it does not work
        class ActionSuivant extends Onto implements ActionListener
        {
            public void actionPerformed(ActionEvent evt)
            {
                        
                Onto s = new Onto();
                int indice=1;
                String []M= new String [10];
                
                //Read RDF File
                InputStream in = FileManager.get().open("d:\teste20.rdf");
                if (in == null) 
                {
                  throw new IllegalArgumentException("File: " + "d:\teste20.rdf" + " not found");
                }
                s.model.read(in, null);
                    
                //Search instances of Personne Class            
                ExtendedIterator instances=s.personne.listInstances();
                        
                indice++;
                for(int p=0;p<10;p++) //10 instances
                {
                    while (instances.hasNext())
                    {
                         Individual thisInstance = (Individual) instances.next();
                         M[p]= thisInstance.getLocalName();
                         
                        if(p==indice)
                        { 
                          tabTF[0].setText((thisInstance.getPropertyResourceValue(s.aPourPrenom)).toString());
                          tabTF[1].setText((thisInstance.getPropertyResourceValue(s.aPourNom)).toString());
                          tabTF[2].setText((thisInstance.getPropertyResourceValue(s.aDateNaiss)).toString());
                        }
                     }
                 }
            }
        }
        
       
        }
     

Share This Page