[Cubicweb] Error while defining a relation

Sylvain Thénault sylvain.thenault at logilab.fr
Thu Jul 7 16:00:32 CEST 2011

On 07 juillet 15:32, Dominique GEFFROY wrote:
> In fact, what I really wanted to do is to add this relation has_file
> to all the entity type of my schema that all derive from the same
> entity type.
> Let's say I have a parent entity type class A and several entity
> type class B, C, etc that all derive directly or not from class A.
> I first tried to to give A as the subject of the relation but then I
> got an error when I tried to add this relation to an entity of type
> B for example. The error was about incompatible types and I supposed
> that the relation was not inherited in the subclasses of A. That's
> why I used "*" to add the relation to all the entity types, I don't
> know if there is a better way to do so ?

if you define this relation in class A (using SubjectRelation),
then all subclasses will have it.
Else, you can also explicitly list all entity types that should
have it as 'subject'
> Anyway, I thought I had to define at least the cardinality of the
> relation because it is "*" ( each entity can have several has_file
> relations) and it seems that the default cardinality is "1". I
> actually tried to define the relation with only subject and object
> attributes but then I got entities with only one has_file
> relation... And when I add the cardinality attribute in the
> relation, I have the reported error about the composite attribute...
> Does it mean that I should create an entity for the object of the
> relation ? If a relation with String as object is automatically an
> attribute relation, maybe it is not possible to have a cardinality
> different from 1 in such relation ?

yep, attribute relations can only have ? or 1 cardinality. We should
have an error when trying to do otherwise. When you want multiple
values, you currently have to define an entity type.
Sylvain Thénault                               LOGILAB, Paris (France)
Formations Python, Debian, Méth. Agiles: http://www.logilab.fr/formations
Développement logiciel sur mesure:       http://www.logilab.fr/services
CubicWeb, the semantic web framework:    http://www.cubicweb.org

More information about the Cubicweb mailing list