35 RQLConstraint('NOT S identity O'), |
35 RQLConstraint('NOT S identity O'), |
36 # conflicting constraints, see cw_unrelated_rql tests in |
36 # conflicting constraints, see cw_unrelated_rql tests in |
37 # unittest_entity.py |
37 # unittest_entity.py |
38 RQLVocabularyConstraint('NOT (S connait P, P nom "toto")'), |
38 RQLVocabularyConstraint('NOT (S connait P, P nom "toto")'), |
39 RQLVocabularyConstraint('S travaille P, P nom "tutu"')]) |
39 RQLVocabularyConstraint('S travaille P, P nom "tutu"')]) |
|
40 actionnaire = SubjectRelation('Societe', cardinality='??', |
|
41 constraints=[RQLConstraint('NOT EXISTS(O contrat_exclusif S)')]) |
|
42 dirige = SubjectRelation('Societe', cardinality='??', |
|
43 constraints=[RQLConstraint('S actionnaire O')]) |
|
44 associe = SubjectRelation('Personne', cardinality='1*', |
|
45 constraints=[RQLConstraint('S actionnaire SOC, O actionnaire SOC')]) |
40 |
46 |
41 |
47 |
42 class Societe(EntityType): |
48 class Societe(EntityType): |
43 nom = String() |
49 nom = String() |
44 evaluee = SubjectRelation('Note') |
50 evaluee = SubjectRelation('Note') |
45 fournit = SubjectRelation(('Service', 'Produit'), cardinality='1*') |
51 fournit = SubjectRelation(('Service', 'Produit'), cardinality='1*') |
46 |
52 contrat_exclusif = SubjectRelation('Personne', cardinality='??') |
47 |
53 |
48 class Service(EntityType): |
54 class Service(EntityType): |
49 fabrique_par = SubjectRelation('Personne', cardinality='1*') |
55 fabrique_par = SubjectRelation('Personne', cardinality='1*') |
50 |
56 |
51 |
57 |