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

Reply via email to