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] Fwd: Re: [protege-dev] Problem with events and database backing

clemens utschig clemens.utschig at
Sun Feb 16 12:48:09 PST 2014

---------- Forwarded message ----------
From: clemens utschig <clemens.utschig at>
Date: Sunday, February 16, 2014
Subject: Fwd: Re: [protege-dev] [protege-discussion] Problem with events
and database backing
To: Timothy Redmond <tredmond at>

So, i got to the point of sneaking a kb under the protege app at runtime -
pretty much a new constructor in project (using the code from the one with
uri, and calling all the methods) and then
projectmanager.getpm.setcurrentproject... Almost there, but now i really
need your help - all the default widgets are working - but when i click on
an instance within the instance widget the form does not show? ... If i use
the default project constructor (with a string) and do the same thing - it
does show up.. Unfortunately i cant debug into this with all the threads
running around, so i really need some advice here - is there some other

On Sunday, February 16, 2014, clemens utschig <clemens.utschig at>
> Hey timothy - first of all thanks a ton for the reply.
> Yes i am on version 3.5.. The problem is that i cant create a server
project first as i use the ontology to configure a (remote) application on
the fly - and want to use the protege app to do configuration on top of
that - think of the ontology as a graph within a deployable server app. And
i dont want to start messing with two servers (my own and its lifecyle and
the protege one ;-)
> I'll try to tweak the protege app tmrw a little - and see if i can sneak
a project instance underneath it on the fly (rather than it *owning* and
opening a uri..)..
> If you have some other super smart idea, any help is appreciated...
> Cheers from germany, i actually studied at stanford during my time in san
francisco ;-)
> On Saturday, February 15, 2014, Timothy Redmond <tredmond at>
>> Just in case you didn't see my reply.
>> -Timothy
>> -------- Original Message --------
>> Subject: Re: [protege-dev] [protege-discussion] Problem with events and
database backing
>> Date: Sat, 15 Feb 2014 09:39:14 -0800
>> From: Timothy Redmond <tredmond at>
>> Reply-To: protege-dev at
>> To: protege-discussion at, protege-dev at
>> I am a bit confused getting this message because I think that the new
>> lists are protege-users and protege-dev. So I am forwarded this message
>> to protege-dev just in case.
>> On 02/15/2014 07:23 AM, clemens utschig wrote:
>>> folks - this is rather urgent...
>>> I try to get the listener magic to work (e.g. new instance created,
>>> frame update, browser text changed) - between the protege application
>>> and and multiple api based consumers all using the same - database
>>> backed - project.
>>> It seems somehow events / listeners are not firing / generated by
>>> default?
>>> Any help much appreciated.
>> This is just a thought and may not be related to what you are
>> experiencing. I am assuming that you are talking about Protege 3
>> although -- even though the implementations are completely different --
>> the same comments apply to Protege 4 and 5.
>> If you create two separate Protege knowledge bases (e.g. separate java
>> objects) that point to the same database then you will have several
>> problems. These problems only occur when modifying the knowledge bases;
>> I think that things will work if all the callers are in read-only mode.
>> The most obvious problem is that changes in one Protege knowledge base
>> will only generate events in that knowledge base and not in the other
>> knowledge bases. A less obvious problem is that, in certain
>> circumstances, changes made with one knowledge base will not be seen in
>> other knowledge bases. There may be other problems as well.
>> If this is in fact your problem then there are two obvious fixes to the
>> problem. If everything is happening in a single JVM, then it is
>> possible that you can refactor your code so that all callers requesting
>> a knowledge base will get the same one. Maybe there would be a static
>> method or something that manages the process of getting the knowledge
>> base. Since the code will no longer be reentrant, you may need to also
>> add some synchronization.
>> If you have more than one JVM or there is some other reason why the
>> above solution is not practical then the other approach is to use a
>> Protege server. If you have several clients accessing the same server
>> all the events and other synchronization will be taken care of. This is
>> easier than it sounds and there is a wiki page telling you how to do
>> Protege 3 --
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the protege-discussion mailing list