Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-discussion] Oracle backend

scott o oswa at
Wed Jul 1 15:34:29 PDT 2009

I encountered Oracle backend problems in Protege 3.4.1 (Build 537) when changing the project format from pont/pins to database similar to those described in:

The problems I encountered were these:
1 - Index creation failed because varchar2 fields exceeded the block size of the database instance,
2 - inserts failed on null facets because the table creation statements restricted null values,
3 - select and insert statements failed during attempts to match empty strings representing null facets.

I modified the class for a workable solution:
1 - Separated the index creation on the base table to have an index for each frame/facet/slot column (the resulting index does not exceed the block size defined as 8k in my database - Oracle databases with larger block sizes may not encounter the problem - I have not tested performance on large datasets),
2 - Removed the NOT NULL constraint on the frame/facet/slot columns (facet values can be null, i.e. empty strings  - Oracle treats empty strings as nulls),
3a - Modified each select/insert statement to hard-code "facet is null" when the facet instance is null (Oracle does not match facet = ''  when the column value is null),
3b - adjusted the statement parameter assignments accordingly (order of parameters in the prepared statement needed to change to accommodate the change to the null facet handling).

I have done limited testing, but these fixes seem to work.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the protege-discussion mailing list