I dont know if attaching screen shot is allowed or not, but kindly if you can check it.
After running the code , it has added the garbage classes to the file. User class is also there as I have created it, but again it has disappeared my classes in ontology. *Note:* I have added new class in the same file I have read it and used the same namespace of the ontology for new class (User class). My ontology uri is : *String ns="http://www.semanticweb.org/ontologies/2016/7/untitled-54/ <http://www.semanticweb.org/ontologies/2016/7/untitled-54/>";* And I used this for *User* class also. On Fri, Jul 22, 2016 at 2:47 AM, Dave Reynolds <dave.e.reyno...@gmail.com> wrote: > On 22/07/16 10:44, kumar rohit wrote: > >> Yes because the model.write() works but the FileWriter does not. I also >> tried something like this to append data but failed: >> >> FileOutputStream f1=new FileOutputStream(file, *true*); >> >> Any solution please you suggest to write it to the same file I have read >> from? >> > > You can't, at least not in RDF/XML format. > > As Lorenz says, you would have to read in the current file, add your new > assertions, then write out the whole file again. > > > Dave > > On Fri, Jul 22, 2016 at 2:22 AM, Lorenz B. < >> buehm...@informatik.uni-leipzig.de> wrote: >> >> Hello Dave, >>> >>> I think the problem is that he writes to another file - and I guess this >>> one already contains some data. Of course the write method cannot append >>> data, but just overwrites the file. Am I right? Anything else would >>> sound like some magic. >>> >>> Otherwise, to append data, one would have to load it into a separate >>> model and add data directly to this model. >>> >>> >>> >>> Kind regards, >>> Lorenz >>> >>> On 22/07/16 09:58, kumar rohit wrote: >>>> >>>>> The main() pass the required file and then just the GUI loads because >>>>> we >>>>> have to deal with a text field where user enter his name and we will >>>>> create >>>>> individual of that name. >>>>> >>>>> The main purpose of this code is to create individual (after user >>>>> enter the >>>>> name) and store it locally in a file *(either a separate file or to the >>>>> file we have read **InputStream in =FileManager.get().open(file);*) >>>>> >>>>> It writes the required result to the console(model.write method) but >>>>> when I >>>>> try to write it in a file, it just remove all the data from the >>>>> destination >>>>> file and even the ontology URI. >>>>> >>>>> For writing to a file, I used these both methods but both does not >>>>> work. >>>>> >>>>> (1) FileWriter out = new FileWriter( fileName ); >>>>> >>>>> try { >>>>> model.write( out, "RDF/XML-ABBREV" );} >>>>> >>>>> 2) FileOutputStream out=new FileOutputStream(filename); >>>>> RDFWriter d = model.getWriter("RDF/XML-ABBREV"); >>>>> d.write(model,out,null); >>>>> }catch(Exception e) {} >>>>> >>>> >>>> >>>> Make sure you close the stream, that's probably the source of your >>>> random loss of output. >>>> >>>> The reason you see Seq and other such junk is because you are writing >>>> the whole model, with inference, and a default OntModel includes RDFS >>>> inference. Use model.write which for an OntModel defaults to writing >>>> just the base model. Also, unless you need inference use an explicit >>>> OntModelSpec which doesn't have any (e.g. OWL_MEM). >>>> >>>> Dave >>>> >>>> On Fri, Jul 22, 2016 at 12:30 AM, Lorenz B. < >>>>> buehm...@informatik.uni-leipzig.de> wrote: >>>>> >>>>> 1.) This is not a minimal running example! that means, nobody can test >>>>>> it without some (in your case too much) effort to get it running. >>>>>> 2.) w.r.t. 1), look at your main() method, it reads a file and then? >>>>>> 2.) Please tell us exactly WHAT does not work and WHAT you expect. >>>>>> 3.) The OntModel object has a method write, not sure what you did >>>>>> there >>>>>> with calling getWriter and the like >>>>>> >>>>>> *When I run this program without writing it to the file, it runs >>>>>>> >>>>>> smoothly. >>>>>> >>>>>>> But when I copy it to a file (both newly created and existing file), >>>>>>> sometime it adds the garbage claases to the file like Seq, Bag, >>>>>>> Resource >>>>>>> and most of the time it does nothing except it empties the >>>>>>> destination >>>>>>> file.* >>>>>>> >>>>>>> *I have copied the whole code except the code auto generated by >>>>>>> netbeans* >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> *public class NewJFrame extends javax.swing.JFrame {* >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> * public static void readOntology(String file,OntModel model)* >>>>>>> >>>>>>> * {* >>>>>>> >>>>>>> >>>>>>> * InputStream in =FileManager.get().open(file);* >>>>>>> >>>>>>> >>>>>>> >>>>>>> *if (in==null) {* >>>>>>> >>>>>>> *throw new IllegalArgumentException( "File: " + file + " not >>>>>>> found");* >>>>>>> >>>>>>> *}* >>>>>>> >>>>>>> * model.read(in,null);* >>>>>>> >>>>>>> * //in.close();}}* >>>>>>> >>>>>>> >>>>>>> >>>>>>> private void read1(String str, OntModel model) >>>>>>> >>>>>>> { >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> String ns=" >>>>>>> http://www.semanticweb.org/ontologies/untitled-ontology-54/"; >>>>>>> >>>>>>> >>>>>>> OntClass user = model.createClass(ns + "User"); >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> OntClass user1 = model.getOntClass(ns + "User"); >>>>>>> >>>>>>> Individual janeSmith = user1.createIndividual(ns + str) >>>>>>> >>>>>>> >>>>>>> >>>>>>> try { >>>>>>> >>>>>>> String file="F://newontology.owl"; >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> FileOutputStream f1=new FileOutputStream(file); >>>>>>> >>>>>>> RDFWriter d = model.getWriter("RDF/XML-ABBREV"); >>>>>>> >>>>>>> d.write(model,f1,null); >>>>>>> >>>>>>> }catch(Exception e) {} >>>>>>> >>>>>>> >>>>>>> *private void jButton1ActionPerformed(java.awt.event.ActionEvent >>>>>>> evt) { >>>>>>> * >>>>>>> >>>>>>> >>>>>>> >>>>>>> *OntModel model=ModelFactory.createOntologyModel();* >>>>>>> >>>>>>> >>>>>>> * String str=jTextField2.getText()* >>>>>>> >>>>>>> >>>>>>> >>>>>>> * read1(str, model); }}* >>>>>>> >>>>>>> >>>>>>> >>>>>>> * public static void main(String args[]) {* >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> * OntModel model = ModelFactory.createOntologyModel();* >>>>>>> >>>>>>> * String file="F://updated.owl";* >>>>>>> >>>>>>> * readOntology(file , model );* >>>>>>> >>>>>>> *}* >>>>>>> >>>>>>> -- >>>>>> Lorenz Bühmann >>>>>> AKSW group, University of Leipzig >>>>>> Group: http://aksw.org - semantic web research center >>>>>> >>>>>> >>>>>> >>>>> >>>> -- >>> Lorenz Bühmann >>> AKSW group, University of Leipzig >>> Group: http://aksw.org - semantic web research center >>> >>> >>> >>