protegeproject/cellfie-plugin

Cellfie does not update existing entity

Opened this issue · 6 comments

When I try to run rules that have to update existing classes, the "Generate Axioms" function gives the error "Entitity already exists: http://www.xxxx.xx#nameOfClass".

To create the classes initialy I used a simple rule Class:@B*

This is the rule I am using to add some comments to the previously created classes:
Class: @B* Annotations: rdfs:comment @C*

I Would expect that cellfie just find the existing classes and updates it (i.e. adding the comment), or am I missing something?

A similar issue happens to me.

I'm trying to add new instances to an existing OWL ontology (created some time ago), imported from an Spreadsheet, via Cellfie.

My code is:

Individual: @**(mm:hashEncode mm:SkipIfEmptyLocation rdfs:label=@**)
Types: @A*

(the spreadsheet is organized so that the row starts with the class name and instances are in other fields in that class; obviously I iterate from B to +, from 1 to +). What I get is only "Entity already exists" error.

Can I anyhow finish the job without exporting the whole ontology to a spreadsheet, joining with the aforementioned one and creating an ontology from the new one?
-----EDIT-----
I posted the above question since I was stuck for several hours googling an answer. Some magical answer helped me, along the lines of this issue -- it was enough to change (in view) render type of individuals to "Render by entity IRI short name (Id)"

So did the email list response solve your problem?

I just wanted to point out the exact same thing that @pjoziak has discovered in the email archives:
http://protege-project.136.n4.nabble.com/Cellfie-plugin-Protege-5-can-t-create-axioms-with-skos-tp4669718p4669742.html

Besides that, if the problem is not about the way names are generated and matched, what @intrixius experienced could be a potential bug. I need to take a deeper look into it. But what helped me when I encountered a similar issue recently, was to run the rules one at a time.

I am having the same issue that if I try to add an rdfs:label to an existing class I get an error that the class already exists, which is surprising as I thought the expected behavior is that Cellfie would find the class referenced in column A and add the label in column B. How else can you add any label or axiom to existing classes?

@clynchmd Can you share a sample ontology, spreadsheet and rules where the problem appears? It is really hard to tell what the problem is, or how to overcome it, if we can't reproduce it.

Also, did you try the solution that @pjoziak found, and described in his comment #110 (comment) ?

-----EDIT-----
I posted the above question since I was stuck for several hours googling an answer. Some magical answer helped me, along the lines of this issue -- it was enough to change (in view) render type of individuals to "Render by entity IRI short name (Id)"

I was having the same error so I tried changing "Render by rdfs:label" to "Render by ow:DASE_RULE. So now I am able to add rdfs:comment to an existing individual entity. I hope this would help
Screenshot 2021-03-04 at 12 44 32 PM