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. <
[email protected]> 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. <
[email protected]> 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