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] collabProtege is fantastic! - trying to convert annotation onto to database

Tania Tudorache tudorache at
Mon Jul 2 16:19:57 PDT 2007

Hi Jens,

Thanks a lot for the feedback!

See below my answers.

> - Annotation Database Project is file based. On a protege server installation,
> this forces me to use the "saveIntervalSec" option to save the file every 120
> seconds. I tried to convert this project to a database project as well, but
> it doesn't work when starting the server. Protege allows only conversion to
> Frames Database project. Why did you choose RDFS File format in favor of a
> Database Annotation Project and is there any way to achieve this?

Indeed, in the current version, there is a hard-coded limitation that 
requires to use a file RDF schema project as the annotation project. I 
plan to change this very soon, so that one can use also a database 
backend for the annotation & changes project. It is not much work, but 
it needs to be tested well.

I will be out of office most of this month, but I plan to add this 
feature as soon as I get back, probably sometimes in August.

> - How about scalability? Tracking any changes to the main ontology causes
> one or more instances in the annotation history. The annotation history could
> get very big. What impact does it have? Are there any thoughts on housekeeping
> e.g. removing very old changes in the change history

We are also thinking about scalability. Tracking changes generates more 
instances in the annotation & changes ontology than user annotation do. 
We are thinking of ways to optimize and configure the changes ontology 
so that the generated changes are not so fine grained. In the current 
version, there are certain operations (especially in OWL), in which one 
operation generates 10 or more atomic changes (e.g. deleting a 
restriction). If we make this configurable and only store the 
"top-level" change (e.g. "delete restriction"), it should already reduce 
the size of the change ontology.

The server is also doing a lot of caching of frames that different 
Protege clients might need. We have optimized the Protege server to 
"guess" the frames that will be asked by a client and this seems to work 
very well. The problem with accessing the annotations ontology is that 
it is very hard to predict what a Protege client will ask for, because 
the access is more random than the one in the user ontology. So, we are 
also thinking of other caching strategies for the server side.

Another thing we are thinking about is to provide some utilities that 
will extract parts of the annotations & changes ontology to a different 
project. For example, you may want to backup and clean your change 
ontology each month, but you would like to preserve the annotations. We 
are happy to get feedback on other useful features!


> Regards,
> Jens.
> Protege Server side log:
> ------------------------------------------------------------
> CONFIG: Protege 3.3 Build 411, JVM 1.5.0_11-b03, memory=416M, Linux,
> encoding=UTF-8, language=en, country=US
> CONFIG: Loaded plugin edu.stanford.smi.protegex.standard_extensions - Graph
> Widget, Table Widget
> CONFIG: Loaded plugin edu.stanford.smi.protegex.rdf_backend - RDF Backend
> CONFIG: Loaded plugin edu.stanford.smi.protegex.owl - OWL Plugin
> CONFIG: Loaded plugin edu.stanford.smi.protegex.changes - Changes tab
> CONFIG: Loaded plugin edu.stanford.smi.protegex.chatPlugin
> CONFIG: Loaded plugin edu.stanford.smi.protege.collab - CollaborativeProtege
> CONFIG: Save interval sec=120
> INFO: Loading project Onto_Test
> INFO: Loaded 5000 instances: onto_ProjectKB_Instance_139
> INFO: Set type on 5000 instances: onto_ProjectKB_Instance_40069
> INFO: Loaded 6000 instances: cmdb_ProjectKB_Instance_41013
> INFO: Set type on 6000 instances: onto_ProjectKB_Instance_70688
> INFO: Loading project Onto_Test_Annotations
> INFO: Loading project plugins for project Onto_Test
> WARNING: There were errors at loading project plugin ChangesProject --
> java.lang.ClassCastException: edu.stanford.smi.protege.model.DefaultSimpleInstance
>         at
> edu.stanford.smi.protegex.server_changes.ChangesDb.initializeFrameMap(Unknown
> Source)
>         at edu.stanford.smi.protegex.server_changes.ChangesDb.<init>(Unknown Source)
>         at
> edu.stanford.smi.protegex.server_changes.ChangesProject.createChangeProject(Unknown
> Source)
>         at
> edu.stanford.smi.protegex.server_changes.ChangesProject.initialize(Unknown Source)
>         at
> edu.stanford.smi.protegex.server_changes.ChangesProject.afterLoad(Unknown Source)
>         at
> edu.stanford.smi.protege.plugin.ProjectPluginManager.afterLoad(Unknown Source)
>         at edu.stanford.smi.protege.server.Server.startServer(Unknown Source)
>         at edu.stanford.smi.protege.server.Server.startServer(Unknown Source)
>         at edu.stanford.smi.protege.server.Server.main(Unknown Source)
> INFO: Loading project plugins for project Onto_Test_Annotations
> INFO: Protege server ready to accept connections...
> ------------------------------------------------------------
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at
> Instructions for unsubscribing: 

More information about the protege-discussion mailing list