I have not but would be an option. I think I was looking more toward the
objects being able to do that themselves rather than essentially creating a
file and saving the file to a database (rather than a file). I don't mind
that there isn't a database storage option available, it was just that the
documentation spoke like one exists.

Thanks,
~Ben

On Fri, Apr 14, 2017 at 1:23 PM, Daniel Russ <dr...@apache.org> wrote:

> Ok,  So that is serializing the model to an OutputStream.
>
> http://opennlp.apache.org/documentation/1.7.2/apidocs/
> opennlp-tools/opennlp/tools/util/model/BaseModel.html#method.summary
>
> Have you tried serializing to a ByteArrayStream.  Getting the byte[] with
> toByteArray(), and writing to database as a blob?
> Daniel
>
>
> > On Apr 14, 2017, at 1:13 PM, Benedict Holland <
> benedict.m.holl...@gmail.com> wrote:
> >
> > Sure. It is actually throughout the document. All I had to do was search
> > for "database" in
> >
> > https://opennlp.apache.org/documentation/1.7.2/manual/opennlp.html
> >
> > I pulled text above as a copy and paste.
> >
> > I think the solution I was looking for would be to take a model's
> database
> > connection (input steam equivalent), create tables, and manipulate the
> > database to store the internal model format---however the object would
> > save. It would then control the object loading in the same way. I
> wouldn't
> > need to save the byte representation to a database, essentially saving a
> > file within a database, but I was wondering if objects would save
> internal
> > state to a database and then load and re-read it. If not, that might be
> an
> > interesting feature.
> >
> > Thanks,
> > ~Ben
> >
> > On Fri, Apr 14, 2017 at 12:46 PM, Daniel Russ <dr...@apache.org> wrote:
> >
> >> I wont say it is impossible.  I have custom BaseModel (like POSModel or
> >> ParseModel but it does something different), if you use the commandline
> >> tool there is call to CmdLineUtil.writeModel(String,File,BaseModel).
> >> Notice that it requires a file.  If you want to save it in a database, I
> >> can think of a few ways of doing this.
> >>
> >> 1.  (Expert knowlege required)  Edit the code to read/write to db
> >> 2.  Write to file, then read as a large byte[], write to a blob.  read
> blob
> >> from db, write file, read into opennlp.
> >> 3.  Use something like MapDB?  Read in models. put them in a MapDB
> database
> >> (looks like a hashmap, but is actually a key-value database.
> >>
> >> I think 1 and 2 would be difficult.  If 3 works for you, let me know.
> Even
> >> if 3 does work, I don't think it will work with the command line tool.
> The
> >> best option may be to stick with the file-based models.  Is there some
> >> reason this wont work?  You might wont to consider adding a feature
> >> request, opennlp.apache.org > issue tracker (though you may have to
> create
> >> a login).
> >>
> >> Can you tell me where in the documentation it talks about saving models
> to
> >> a database?  It probably should be fixed, since we cant do it now.
> >> Daniel
> >>
>
>

Reply via email to