Gérer l'imbrication de mod
La relation :mod
permet de mettre en évidence une caractéristique associée à une entité. Il est possible d'avoir plusieurs :mod
imbriqués, c'est à dire une relation :mod
partant d'une caractéristique (donc, elle même pointée par une relation :mod
).
Voir SSC-09, SSC-10...
Ex. : [(planet, :mod, giant), (giant, :mod, gas)]
Dans ce cas, nous voulons extraire deux caractéristique (giant
et gas
dans l'exemple), et créer une classe associée à une caractéristique. Précisément, pour l'exemple, nous voulons extraire la classe gas-giant-planet
, sous classe de giant-planet
, elle-même sous classe de planet
. Ces classes doivent être associées aux restrictions attendues.
Résultat attendu pour l'exemple :
### https://reference.tetras-libre.fr/expected-result#giant-planet
result:giant-planet rdf:type owl:Class ;
rdfs:subClassOf result:planet ,
[ rdf:type owl:Restriction ;
owl:onProperty result:hasFeature ;
owl:hasValue result:giant
] .
### https://reference.tetras-libre.fr/expected-result#gas-giant-planet
result:gas-giant-planet rdf:type owl:Class ;
rdfs:subClassOf result:giant-planet ,
[ rdf:type owl:Restriction ;
owl:onProperty result:hasFeature ;
owl:hasValue result:gas
] .
Edited by Aurélien Lamercerie