diff --git a/data/SSC-01/SSC-01-01/SSC-01-01.cts.txt b/data/SSC-01/SSC-01-01/SSC-01-01.cts.txt
index 66f11b8bcf3618b79475c747a0a28079d83e6816..6faf73a561ab930f7b13a43f05066bb30aa757bf 100644
--- a/data/SSC-01/SSC-01-01/SSC-01-01.cts.txt
+++ b/data/SSC-01/SSC-01-01/SSC-01-01.cts.txt
@@ -107,19 +107,19 @@ STC-21 (x, y) :
      commonConcept(x)
      =>   nodes = { x.nodes }
           type = class
-          class_id = define-id(x.concept)
-          owl = string(class_id, ' a ', 'rdfs:Class')
-          values = { class_id, owl }
+          id = define-id(x.concept)
+          owl = string(id, ' a ', 'rdfs:Class')
+          values = { id, owl }
           newNet(nodes, type, values)
 
 STC-22 (x, y) :
      :domain(x,y) & class(x) & class(y)
      =>   nodes = { x.nodes, y.nodes }
           type = class
-          class_id = define-id(x.class_id, y.class_id)
-          owl = string(class_id, ' a ', 'rdfs:Class')
-          owl = string(class_id, ' rdfs:subClassOf ', y.class_id)
-          values = { class_id, owl }
+          id = define-id(x.id, y.id)
+          owl = string(id, ' a ', 'rdfs:Class')
+          owl = string(id, ' rdfs:subClassOf ', y.id)
+          values = { id, owl }
           newNet(nodes, type, values)
 
 
@@ -131,11 +131,11 @@ STC-23 (x, y) :
      :name(x, y) & class(x) & namedEntities(x, y)
      =>   nodes = { x.nodes }
           type = individual
-          class_id = x.class_id
-          individual_id = y.name
-          owl = string(individual_id, ' a ', 'owl:individual')
-          owl = string(individual_id, ' a ', class_id)
-          values = { class_id, individual_id, owl }
+          id = x.id
+          id = y.name
+          owl = string(id, ' a ', 'owl:individual')
+          owl = string(id, ' a ', id)
+          values = { id, id, owl }
           newNet(nodes, type, values)
 
 
@@ -167,11 +167,11 @@ STC-41 (x, y, z) :
      :ARG1-of(x, y) & class(x) & objectProperty(y) & ARG0(y, z) & class(z)
      =>   nodes = { x.nodes }
           type = class
-          class_id = define-id(z.class_id, y.property_id, x.class_id)
-          owl = string(class_id, ' a ', 'rdfs:Class')
-          owl = string(class_id, ' rdfs:subClassOf ', x.class_id)
-          owl = define-OWL-restriction (class_id, y.property_id, z.class_id)
-          values = { class_id, owl }
+          id = define-id(z.id, y.property_id, x.id)
+          owl = string(id, ' a ', 'rdfs:Class')
+          owl = string(id, ' rdfs:subClassOf ', x.id)
+          owl = define-OWL-restriction (id, y.property_id, z.id)
+          values = { id, owl }
           newNet(nodes, type, values)
 
 exemple :
@@ -181,7 +181,7 @@ exemple :
 
  => nodes = { s, b, g }
     type = class
-    class_id = "gravitation-bind-system"
+    id = "gravitation-bind-system"
     owl = ":gravitation-bind-system a rdfs:Class"
     owl = ":gravitation-bind-system a :system"
     owl = ":gravitation-bind-system      rdfs:subClassOf     [ rdf:type owl:Restriction ;
@@ -194,7 +194,14 @@ exemple :
 # STC niveau 6 : extraction de relations non taxonomiques
 # --------------------------------------------------------
 
-# --
+STC-51 (i1, i2) :
+     :part(i1, i2) & individual(c1) & individual(i1)
+     =>   nodes = { c1.nodes, i1.nodes }
+          type = relation
+          id = define-id('has-part')
+          owl = define-OWL-restriction (i1.id, id, i2.id)
+          values = { id, owl }
+          newNet(nodes, type, values)
 
 
 # --------------------------------------------------------
diff --git a/data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl b/data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl
index d3e437ea3d480bb30ed7e7973fd433bf4ba95fea..0d2cffceca96c2ace320730f46d26200c473ac90 100644
--- a/data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl
+++ b/data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl
@@ -89,16 +89,25 @@
 
 # ::comment "... and small Solar System bodies."
 
-:solar-system a owl:individual .
+:solar-system
+	a owl:individual ;
+	a :system .
 
-:solar-system-small-bodies a rdfs:Class ;
+body a rdfs:Class .
+
+small-body
+	a rdfs:Class ;
+	rdfs:subClassOf :body .
+
+:solar-system-small-body a rdfs:Class ;
+	rdfs:subClassOf :small-body ;
 	rdfs:subClassOf	[
 		a owl:Restriction ;
 		owl:onProperty :part-of ;
 		owl:hasValue :solar-system
 	] .
 
-:solar-system-small-bodies a rdfs:Class ;
+:solar-system-small-body a rdfs:Class ;
 	rdfs:subClassOf	[
 		a owl:Restriction ;
 		owl:onProperty :part-of ;
diff --git a/data/SSC-02/SSC-02-01/SSC-02-01.cts.txt b/data/SSC-02/SSC-02-01/SSC-02-01.cts.txt
index 9f67b5fba7daa6ebd631e861b13422ce6a76aab6..2a7d388c71e0125b4afe62064f98a9207075291a 100644
--- a/data/SSC-02/SSC-02-01/SSC-02-01.cts.txt
+++ b/data/SSC-02/SSC-02-01/SSC-02-01.cts.txt
@@ -107,19 +107,19 @@ STC-21 (x, y) :
      commonConcept(x)
      =>   nodes = { x.nodes }
           type = class
-          class_id = define-id(x.concept)
-          owl = string(class_id, ' a ', 'rdfs:Class')
-          values = { class_id, owl }
+          id = define-id(x.concept)
+          owl = string(id, ' a ', 'rdfs:Class')
+          values = { id, owl }
           newNet(nodes, type, values)
 
 STC-22 (x, y) :
      :domain(x,y) & class(x) & class(y)
      =>   nodes = { x.nodes, y.nodes }
           type = class
-          class_id = define-id(x.class_id, y.class_id)
-          owl = string(class_id, ' a ', 'rdfs:Class')
-          owl = string(class_id, ' rdfs:subClassOf ', y.class_id)
-          values = { class_id, owl }
+          id = define-id(x.id, y.id)
+          owl = string(id, ' a ', 'rdfs:Class')
+          owl = string(id, ' rdfs:subClassOf ', y.id)
+          values = { id, owl }
           newNet(nodes, type, values)
 
 
@@ -131,11 +131,11 @@ STC-23 (x, y) :
      :name(x, y) & class(x) & namedEntities(x, y)
      =>   nodes = { x.nodes }
           type = individual
-          class_id = x.class_id
-          individual_id = y.name
-          owl = string(individual_id, ' a ', 'owl:individual')
-          owl = string(individual_id, ' a ', class_id)
-          values = { class_id, individual_id, owl }
+          id = x.id
+          id = y.name
+          owl = string(id, ' a ', 'owl:individual')
+          owl = string(id, ' a ', id)
+          values = { id, id, owl }
           newNet(nodes, type, values)
 
 
@@ -167,11 +167,11 @@ STC-41 (x, y, z) :
      :ARG1-of(x, y) & class(x) & objectProperty(y) & ARG0(y, z) & class(z)
      =>   nodes = { x.nodes }
           type = class
-          class_id = define-id(z.class_id, y.property_id, x.class_id)
-          owl = string(class_id, ' a ', 'rdfs:Class')
-          owl = string(class_id, ' rdfs:subClassOf ', x.class_id)
-          owl = define-OWL-restriction (class_id, y.property_id, z.class_id)
-          values = { class_id, owl }
+          id = define-id(z.id, y.property_id, x.id)
+          owl = string(id, ' a ', 'rdfs:Class')
+          owl = string(id, ' rdfs:subClassOf ', x.id)
+          owl = define-OWL-restriction (id, y.property_id, z.id)
+          values = { id, owl }
           newNet(nodes, type, values)
 
 exemple :
@@ -181,7 +181,7 @@ exemple :
 
  => nodes = { s, b, g }
     type = class
-    class_id = "gravitation-bind-system"
+    id = "gravitation-bind-system"
     owl = ":gravitation-bind-system a rdfs:Class"
     owl = ":gravitation-bind-system a :system"
     owl = ":gravitation-bind-system      rdfs:subClassOf     [ rdf:type owl:Restriction ;
@@ -193,17 +193,17 @@ exemple :
 # --------------------------------------------------------
 # STC niveau 6 : extraction de relations non taxonomiques
 # --------------------------------------------------------
-# question sur rstriction : voir ticket 1
+# question sur restriction : voir ticket 1
 
-STC-51 (x, y, z) :
-     :part-of(x, y) & class(x) & individual(z)
-     =>   nodes = { x.nodes }
+STC-51 (c1, i1) :
+     :part-of(c1, i1) & class(c1) & individual(i1)
+     =>   nodes = { c1.nodes, i1.nodes }
           type = class
-          class_id = define-id(z.class_id, y.property_id, x.class_id)
-          owl = string(class_id, ' a ', 'rdfs:Class')
-          owl = string(class_id, ' rdfs:subClassOf ', x.class_id)
-          owl = define-OWL-restriction (class_id, ':part-of', z.class_id)
-          values = { class_id, owl }
+          id = define-id(i1.id, c1.id)
+          owl = string(id, ' a ', 'rdfs:Class')
+          owl = string(id, ' rdfs:subClassOf ', c1.id)
+          owl = define-OWL-restriction (id, ':part-of', i1.id)
+          values = { id, owl }
           newNet(nodes, type, values)