hi ralph
On 8/1/07, Ralph Spickermann <ralph.spickermann@uni-rostock.de> wrote:
> Hi,
>
> I am currently exploring if and how the JSR 170 and Jackrabbit could
> work together with an existing database.
>
> I have a DB2 database that stores collections of images along with
> structured information about the images in object-relational tables.
> For a simple example let's consider the following tables:
>
> Table Collection (
> id Integer,
> name String)
>
> Table Image (
> id Integer,
> parent Ref(Collection)
> content Blob,
> format String)
>
> Table Region (
> id Integer,
> parent Ref(Image),
> area Double,
> averageColorR Integer,
> averageColorG Integer,
> averageColorB Integer)
>
> The mapping to a JSR tree is not that difficult.
> I have Collecions that contain Images that contain Regions, so I could
> access the property averageColorR via a hierarchy like
> /Collection1/Image1/Region1/averageColorR
>
> In Jackrabbit for database persistence the tables Node, Props, Refs and
> Binval are used, at least for DB2. In the table Node the NodeState is
> serialized and stored together with the NodeId.
>
> Now I am thinking about adapting the Jackrabbit functionality so that
> my scheme is used for storage. For example, if I create an image, it
> gets stored in the Image table together with the image properties.
> How would I start doing that? Extending the SimpleDbPersistenceManager
> for my needs? Is it even possible and how complex would it be?
supporting (i.e. 'jcr-enabling') legacy data systems has never been a
design goal of jackrabbit.
developing a custom persistence manager that supports your schema
might theoretically be possible, but it's a *lot* of work and i certainly
wouldn't recommend it.
why don't you just import your data into jackrabbit?
in case you absolutely need to keep and maintain the data in your
legacy system/schema i suggest you take a look at the SPI project
in contrib which should make it significantly easier to 'jcr-enable'
existing legacy data systems.
cheers
stefan
>
> Another question concerns user defined functions that are stored in the
> database. Consider a function that computes the similarity between two
> regions by comparing area and averageColor.
> Is there a possibility to call that function in SQL or Xpath queries
> from Jackrabbit? So when I have a certain region I could search for
> similar regions.
> I know there are some functions like jcr:contains or jcr:score, could I
> implement other functions as well?
>
> I am not very familiar with JSR/Jackrabbit, maybe you could help me out
> a bit.
>
> Best regards, Ralph
>
>
>
>
>
|