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] pprj not saving meta-class

Len Yabloko protege at
Fri Jun 6 10:51:58 PDT 2008


>I understand from your email that you are using the XML Backend. Is this 

No -  I using regular Protege files to save project, but problem only occurs when using *.pont and *.pins , no problem when using *.pprj with *.xml (it is  called "xml experimental")

>The undefined class message means that there is an instance of a class, 
>for which you don't have any definition in the xml file. Could it be 
>that the class was included from another project and the class is not 
>found anymore (e.g. you removed the included project, or the included 
>project is not found)? In any case, Protege will create the class for 
>you and add it under a :UNDEFINED class.

No - I only use single file project and all classes are generated by sing Protege frame API (not direct user entries). Before project is saved all classes are defined, but when open after saving project I get errors (blow) and classes are shown :UNDEFINED.

>Second issue with the metaclass. From your description, it seems that 
>the metaclass is abstract. The metaclass should not be abstract if you 
>have classes that are instances of it. Is the message that you get 
>similar to the one attached to this email? If the metaclass is abstract, 
>the solution is to make it concrete, and you won't get that message anymore.

No - all my meta-classes are concrete, but when I click some generated top level meta-classes to open detail view I get message asking me if I want to make it abstract (and warning about existing instances).  

It seems that common issue in both cases may be something about how I generate  meta-classes using API:

First I generate top level meta-class like this 

DB = KB.createCls(reverseEngine.getCatalog(),TOPIC);

Then I define collection 

DATABASE = Arrays.asList(new Cls[] {DB});

And later I generate child meta-class:

table = KB.createCls(tableName, DATABASE); 

All meta-classes later get instance classes, but only non-leaf meta-classes lose definition when saving in *.pont, *.pins.

>Len Yabloko wrote:
>> Dear Protege developers, 
>> I noticed a strange behavior in saving project as .pprj with meta-classes: for some reason some meta-classes are not properly saved resulting in messages like that when opening .pprj file
>> Undefined class: OPERAND_TYPE found while loading instances
>> The strange thing to me is that using .xml file instead of .pprj seem solves the problem. This happens the same way in both Protege 3.3.1 and 3.4 beta (500). I did not have this problem before, so it is something about my meta-classes that changed. But what? May be the large number of instance classes can cause it? Because every time when opening meta-class I get a message about large number of  instances asking me if I really want to make the class "concrete" (why??)
>> Thank you in advance for your help.
>> _______________________________________________
>> protege-discussion mailing list
>> protege-discussion at
>> Instructions for unsubscribing: 

More information about the protege-discussion mailing list