CoordinateHasX
type: Imp
is rule enabled: true
comment: hasA must be defined on a Coordinate
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasX
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Coordinate

CoordinateDefinition
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasX
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasY
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasZ
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Coordinate

CoordinateHasY
type: Imp
is rule enabled: true
comment: hasB must be defined on a Coordinate
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasY
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Coordinate

CoordinateHasZ
type: Imp
is rule enabled: true
comment: hasC must be defined on a Coordinate
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasZ
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Coordinate

GlobalCellSizeDefinition_1
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Cubic
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize

CellSizeDefinition_C1
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Cubic
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3

CellSize_Cubic
type: Imp
is rule enabled: true
comment: If CellType = Cubic then CellSize1 = CellSize2 = CellSize3
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Cubic
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#b
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#c
  property predicate: hasCellSize3
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  builtin: equal
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: equal

CellSizeDefinition_C2
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Cubic
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3

CellSizeDefinition_C3
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Cubic
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2

GlobalCellSizeDefinition_3
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaH
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize

CellSizeDefinition_H1
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaH
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3

DifferentPoint_X
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: p1
  class predicate: Point
body: ClassAtom
  argument1: p2
  class predicate: Point
body: IndividualPropertyAtom
  argument1: p1
  argument2: cp1
  property predicate: hasCoordinate
body: IndividualPropertyAtom
  argument1: p2
  argument2: cp2
  property predicate: hasCoordinate
body: DatavaluedPropertyAtom
  argument1: cp1
  argument2: x1
  property predicate: hasX
body: DatavaluedPropertyAtom
  argument1: cp2
  argument2: x2
  property predicate: hasX
body: BuiltinAtom
  arguments: x1
  arguments: x2
  builtin: notEqual
head: DifferentIndividualsAtom
  argument1: p1
  argument2: p2

CellSize_HexaH
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaH
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#b
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#c
  property predicate: hasCellSize3
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  builtin: equal
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: equal

CellSizeDefinition_H2
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaH
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3

CellSizeDefinition_H3
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaH
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2

GlobalCellSizeDefinition_4
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaV
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize

CellSizeDefinition_V1
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaV
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3

CellSize_HexaV
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaV
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#b
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#c
  property predicate: hasCellSize3
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  builtin: equal
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: equal

CellSizeDefinition_V2
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaV
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3

CellSizeDefinition_V3
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: HexaV
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize2

PolarizationEncoding
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Pol
  property predicate: hasEncoding
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasLaserBeam
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasPolarization
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#t
  property predicate: hasPolarization
body: DifferentIndividualsAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#z
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#t
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: true
  property predicate: hasValidEncoding

GlobalCellSizeDefinition_2
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Rectangle
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize

CellSizeDefinition_R1
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Rectangle
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3

CellSize_Rectangle
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Rectangle
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#b
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#c
  property predicate: hasCellSize3
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: equal

CellSizeDefinition_R2
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Rectangle
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize3
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1

ValidParameters
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#z
  argument2: true
  property predicate: isValidOP
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: true
  property predicate: isValidEP
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasOutputParameter
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasExcitationParameter
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: true
  property predicate: isValidParameter

LaserBeam
type: Imp
is rule enabled: true
body: DifferentIndividualsAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasPolarization
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasPolarization
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: LaserBeam

DifferentPoint_Y
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: p1
  class predicate: Point
body: ClassAtom
  argument1: p2
  class predicate: Point
body: IndividualPropertyAtom
  argument1: p1
  argument2: cp1
  property predicate: hasCoordinate
body: IndividualPropertyAtom
  argument1: p2
  argument2: cp2
  property predicate: hasCoordinate
body: DatavaluedPropertyAtom
  argument1: cp1
  argument2: y1
  property predicate: hasY
body: DatavaluedPropertyAtom
  argument1: cp2
  argument2: y2
  property predicate: hasY
body: BuiltinAtom
  arguments: y1
  arguments: y2
  builtin: notEqual
head: DifferentIndividualsAtom
  argument1: p1
  argument2: p2

DifferentPoint_Z
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: p1
  class predicate: Point
body: ClassAtom
  argument1: p2
  class predicate: Point
body: IndividualPropertyAtom
  argument1: p1
  argument2: cp1
  property predicate: hasCoordinate
body: IndividualPropertyAtom
  argument1: p2
  argument2: cp2
  property predicate: hasCoordinate
body: DatavaluedPropertyAtom
  argument1: cp1
  argument2: z1
  property predicate: hasZ
body: DatavaluedPropertyAtom
  argument1: cp2
  argument2: z2
  property predicate: hasZ
body: BuiltinAtom
  arguments: z1
  arguments: z2
  builtin: notEqual
head: DifferentIndividualsAtom
  argument1: p1
  argument2: p2

SegmentLength
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#s
  class predicate: Segment
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#s
  argument2: v1
  property predicate: hasVertex
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#s
  argument2: v2
  property predicate: hasVertex
body: DifferentIndividualsAtom
  argument1: v1
  argument2: v2
body: IndividualPropertyAtom
  argument1: v1
  argument2: v1C
  property predicate: hasCoordinate
body: IndividualPropertyAtom
  argument1: v2
  argument2: v2C
  property predicate: hasCoordinate
body: DatavaluedPropertyAtom
  argument1: v1C
  argument2: xv1
  property predicate: hasX
body: DatavaluedPropertyAtom
  argument1: v1C
  argument2: yv1
  property predicate: hasY
body: DatavaluedPropertyAtom
  argument1: v2C
  argument2: xv2
  property predicate: hasX
body: DatavaluedPropertyAtom
  argument1: v2C
  argument2: yv2
  property predicate: hasY
body: BuiltinAtom
  arguments: p1
  arguments: xv2
  arguments: xv1
  builtin: subtract
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: p1
  arguments: 2.0
  builtin: pow
body: BuiltinAtom
  arguments: p2
  arguments: yv2
  arguments: yv1
  builtin: subtract
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: p2
  arguments: 2.0
  builtin: pow
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  builtin: add
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#e
  arguments: 1.0
  arguments: 2.0
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#d
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#e
  builtin: pow
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#s
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#d
  property predicate: hasSegmentLength

CellSizeMinValueDefinition
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: 10.0
  property predicate: hasCellSizeMin

CellSizeMaxValueDefinition
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: 30.0
  property predicate: hasCellSizeMax

ModelDefinition
type: Imp
is rule enabled: true
comment: Model must be associated to a Solid_Shape and a Mesh
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Model
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasShape
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasMesh
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Solid Shape
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#z
  class predicate: Mesh

ValidOSimulation
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: OpticalSimulation
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasModel
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasEnvironment
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#t
  property predicate: hasExcitationParameter
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#u
  property predicate: hasOutputParameter
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: true
  property predicate: isValidModel
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#z
  argument2: true
  property predicate: isValidEnvironment
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#t
  argument2: true
  property predicate: isValidEP
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#u
  argument2: true
  property predicate: isValidOP
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: true
  property predicate: isValidOSimulation

ValidOSimulation_Bis
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: OpticalSimulation
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasModel
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasEnvironment
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#u
  property predicate: hasParameter
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: true
  property predicate: isValidModel
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#z
  argument2: true
  property predicate: isValidEnvironment
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#u
  argument2: true
  property predicate: isValidParameter
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: true
  property predicate: isValidOSimulation

SolideShape
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: OpticalSimulation
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasShape
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Solid Shape

PointDifferentOrder
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Segment
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Point
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#z
  class predicate: Point
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasPoint
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasPoint
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: o1
  property predicate: hasOrder
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#z
  argument2: o2
  property predicate: hasOrder
head: BuiltinAtom
  arguments: o1
  arguments: o2
  builtin: notEqual

SegNumber2
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Shape
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasSegNumber
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: 2
  builtin: greaterThan

ValidShape
type: Imp
is rule enabled: true
comment: Verifies that the used shape is valid
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Shape
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: isValidShape
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: false
  builtin: booleanNot

ValidShape_bis
type: Imp
is rule enabled: true
body: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Shape
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: isValidShape
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: true
  builtin: booleanNot
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: InvalidElement

MeshHasCell
type: Imp
is rule enabled: true
comment: hasCell must be defined between a Mesh and a Cell
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Mesh
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Cell

MeshDefinition
type: Imp
is rule enabled: true
comment: Mesh must be associated to a Cell, a VectorA and a VectorB
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: vA
  property predicate: hasVectorA
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: vB
  property predicate: hasVectorB
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: vC
  property predicate: hasVectorC
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Mesh
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Cell
head: ClassAtom
  argument1: vA
  class predicate: Vector
head: ClassAtom
  argument1: vB
  class predicate: Vector
head: ClassAtom
  argument1: vC
  class predicate: Vector

ValidMesh
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: vA
  property predicate: hasVectorA
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: vB
  property predicate: hasVectorB
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: vC
  property predicate: hasVectorC
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: true
  property predicate: isValidMesh

VectorC_Coordinate_Rectangle
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: Rectangle
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorC
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasZ
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasX

VectorB_Coordinate_Rectangle
type: Imp
is rule enabled: true
comment: Verify the Coordinate value of the VectorB associated to the Mesh in the case of Rectangle cell type
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: Rectangle
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorB
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasZ
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasX

VectorA_Coordinate_Cubic
type: Imp
is rule enabled: true
comment: Verify the Coordinate value of the VectoA associated to the Mesh in the case of Cubic cell type
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: Cubic
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorA
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasX
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasZ

VectorB_Coordinate_Cubic
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: Cubic
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorB
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasZ
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasX

VectorC_Coordinate_Cubic
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: Cubic
  property predicate: hasCellType
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorC
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasZ
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasX

VectorA_Coordinate_HexaH
type: Imp
is rule enabled: true
comment: ?xval = CellSize * sqrt(3)/2, ?yval = CellSize/2, CellSize = ?z, ?xval = ?z * ?c, ?c = ?b/2, ?b= 3^a, ?a= 1/2
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: HexaH
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorA
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
body: BuiltinAtom
  arguments: yval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: 2
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: 1.0
  arguments: 2.0
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: 3.0
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  builtin: pow
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: 2.0
  builtin: divide
body: BuiltinAtom
  arguments: xval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: multiply
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: xval
  property predicate: hasX
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: yval
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasZ

VectorB_Coordinate_HexaH
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: HexaH
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorB
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasX
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasZ

VectorC_Coordinate_HexaH
type: Imp
is rule enabled: true
comment: ?xval = CellSize/(2*sqrt(3)), ?yval = CellSize/2, ?zval = CellSize * sqrt(2/3), Cellsize = ?z, ?xval = ?z/?c, ?c = ?b* 2, ?b = 3^?a, ?a = 1/2; ?zval = ?z * ?e, ?e = ?d^?a, ?d =2/3, ?a = 1/2
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: HexaH
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorC
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
body: BuiltinAtom
  arguments: yval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: 2
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: 1.0
  arguments: 2.0
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: 3.0
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  builtin: pow
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: 2.0
  builtin: multiply
body: BuiltinAtom
  arguments: xval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#d
  arguments: 2.0
  arguments: 3.0
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#e
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#d
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  builtin: pow
body: BuiltinAtom
  arguments: zval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#e
  builtin: multiply
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: xval
  property predicate: hasX
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: yval
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: zval
  property predicate: hasZ

VectorA_Coordinate_HexaV
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: HexaV
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorA
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasX
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasZ

VectoB_Coordinate_HexaV
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: HexaV
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorB
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
body: BuiltinAtom
  arguments: xval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: 2
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: 1.0
  arguments: 2.0
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: 3.0
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  builtin: pow
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: 2.0
  builtin: divide
body: BuiltinAtom
  arguments: yval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: multiply
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: xval
  property predicate: hasX
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: yval
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasZ

VectoC_Coordinate_HexaV
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: HexaV
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorC
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
body: BuiltinAtom
  arguments: xval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: 2.0
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: 1.0
  arguments: 2.0
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: 3.0
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  builtin: pow
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  arguments: 2.0
  builtin: multiply
body: BuiltinAtom
  arguments: yval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#d
  arguments: 2.0
  arguments: 3.0
  builtin: divide
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#e
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#d
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  builtin: pow
body: BuiltinAtom
  arguments: zval
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#d
  builtin: multiply
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: xval
  property predicate: hasX
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: yval
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: zval
  property predicate: hasZ

VectorA_Coordinate_Rectangle
type: Imp
is rule enabled: true
comment: Verify the Coordinate value of the VectoA associated to the Mesh in the case of Rectangle cell type
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: Rectangle
  property predicate: hasCellType
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#v
  property predicate: hasVectorA
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#v
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#p
  property predicate: hasCoordinate
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasX
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasY
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#p
  argument2: 0.0
  property predicate: hasZ

VectorDefinition
type: Imp
is rule enabled: true
comment: hasCoordinate must be defined between a Vector and a Coordinate
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCoordinate
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Vector
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Coordinate

OSHasEnvironment
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasEnvironment
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: OpticalSimulation
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Environment

OSHasEP
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasExcitationParameter
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: OpticalSimulation
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: ExcitationParameter

ModelHasMesh
type: Imp
is rule enabled: true
comment: hasMesh must be defined between a Model and a Mesh
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasMesh
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Model
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Mesh

ValidModel
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasMesh
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasShape
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: true
  property predicate: isValidMesh
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#z
  argument2: true
  property predicate: isValidShape
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: true
  property predicate: isValidModel

ValidModel_Mesh
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasMesh
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: false
  property predicate: isValidMesh
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: false
  property predicate: isValidModel

OSHasModel
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasModel
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: OpticalSimulation
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Model

OpticalSimulationDefinition
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasModel
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasEnvironment
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#t
  property predicate: hasExcitationParameter
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#u
  property predicate: hasOutputParameter
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: OpticalSimulation

ValidOSimulation_Env
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasModel
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: false
  property predicate: isValidEnvironment
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: false
  property predicate: isValidOSimulation

ValidOSimulation_Model
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasModel
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: false
  property predicate: isValidModel
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: false
  property predicate: isValidOSimulation

OSHasOP
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasOutputParameter
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: OpticalSimulation
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: OutputParameter

ValidOSimulation_Parameters
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasParameter
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: false
  property predicate: isValidParameter
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: false
  property predicate: isValidOSimulation

ValidPolygon
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasSegment
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: false
  property predicate: isValidSegment
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: false
  property predicate: isValidPolygon

ModelHasSolidShape
type: Imp
is rule enabled: true
comment: Model must has a Solid_Shape
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasShape
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Model
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Solid Shape

ValidModel_Shape
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasShape
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  argument2: false
  property predicate: isValidShape
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: false
  property predicate: isValidModel

MeshHasVectorA
type: Imp
is rule enabled: true
comment: hasVectorA must be defined between a Mesh and a Vector
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasVectorA
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Mesh
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Vector

MeshHasVectorB
type: Imp
is rule enabled: true
comment: hasVectorB must be defined between a Mesh and a Vector
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasVectorB
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Mesh
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Vector

MeshHasVectorC
type: Imp
is rule enabled: true
body: IndividualPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasVectorC
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Mesh
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#y
  class predicate: Vector

GlobalCellSizeDefinition
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize

CellType_Rectangle
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#a
  property predicate: hasCellSize1
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#b
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#c
  property predicate: hasCellSize3
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#c
  builtin: equal
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#a
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#b
  builtin: notEqual
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: Rectangle
  property predicate: hasCellType

CellDefinition_CellSize1
type: Imp
is rule enabled: true
comment: hasCellSize1 must be defined on a Cell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize1
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell

CellDefinition
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize1
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#t
  property predicate: hasCellSize3
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: max
  property predicate: hasCellSizeMax
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: min
  property predicate: hasCellSizeMin
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#u
  property predicate: hasCellType
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell

CellSize1_Max
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize1
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSizeMax
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  builtin: lessThanOrEqual

CellSize1_Min
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize1
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSizeMin
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  builtin: greaterThanOrEqual

CellDefinition_CellSize2
type: Imp
is rule enabled: true
comment: hasCellSize2 must be defined on a Cell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize2
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell

CellSize2_Max
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSizeMax
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  builtin: lessThanOrEqual

CellSize2_Min
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize2
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSizeMin
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  builtin: greaterThanOrEqual

CellDefinition_CellSize3
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize3
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell

CellSize3_Max
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize3
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSizeMax
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  builtin: lessThanOrEqual

CellSize3_Min
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSize3
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasCellSizeMin
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  builtin: greaterThanOrEqual

CellDefinition_CellSizeMax
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSizeMax
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell

CellSizeMaxValue
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSizeMax
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: 30.0
  builtin: equal

CellDefinition_CellSizeMin
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSizeMin
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell

CellSizeMinValue
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellSizeMin
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: 10.0
  builtin: equal

CellDefinition_CellType
type: Imp
is rule enabled: true
comment: hasCellType must be defined on a Cell
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasCellType
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Cell

SegNumber1
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasSegNumber
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: 2
  builtin: greaterThan
head: ClassAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  class predicate: Shape

SegmentLength_Min
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasSegmentLength
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasMinSegmentLength
head: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  builtin: greaterThanOrEqual

ValidSegment
type: Imp
is rule enabled: true
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#y
  property predicate: hasSegmentLength
body: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: https://ontology.dalhai.webapp.ciad-lab.fr#z
  property predicate: hasMinSegmentLength
body: BuiltinAtom
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#y
  arguments: https://ontology.dalhai.webapp.ciad-lab.fr#z
  builtin: lessThan
head: DatavaluedPropertyAtom
  argument1: https://ontology.dalhai.webapp.ciad-lab.fr#x
  argument2: false
  property predicate: isValidSegment

DALHAI Ontology
type: Ontology
abstract: The DALHAI project aims at developing compact all-optical Arithmetic and Logic Units (ALU) exploiting the spatial and spectral distributions of 2D confined plasmons modes in planar cavities tailored in ultrathin Au or Ag crystals. Yet, the optimization of the logic gate output contrast, the definition of the logic function reconfiguration schemes and the generalization of this concept towards complex ALU is a non-intuitive challenge.

Cell
type: Class
comment: Cell must have a type (CellType) and a size (CellSize). Cell types are : Cubic, HexaH, HexaV, Rectangle. If CellType = Cubic or HexaH or HexaV then one cell size (CellSize) If CellType = Rectangle then two cell sizes (CellSize, CellSize2)
subclass of: Restriction
  on data range: float
  on property: hasCellSize1
  qualified cardinality: 1
subclass of: Restriction
  on data range: float
  on property: hasCellSize2
  qualified cardinality: 1
subclass of: Restriction
  on data range: float
  on property: hasCellSize3
  qualified cardinality: 1
subclass of: Restriction
  on data range: float
  on property: hasCellSizeMax
  qualified cardinality: 1
subclass of: Restriction
  on data range: float
  on property: hasCellSizeMin
  qualified cardinality: 1
subclass of: Restriction
  on data range: CellType
  on property: hasCellType
  qualified cardinality: 1

CellType
type: Datatype
equivalent class: Datatype
  one of: Cubic
  one of: HexaH
  one of: HexaV
  one of: Rectangle

Coordinate
type: Class
comment: A triplet of values (A, B, C) used to define a Vector. 'A' represents the origin point.
subclass of: Restriction
  on data range: float
  on property: hasX
  qualified cardinality: 1
subclass of: Restriction
  on data range: float
  on property: hasY
  qualified cardinality: 1
subclass of: Restriction
  on data range: float
  on property: hasZ
  qualified cardinality: 1

EncodingType
type: Datatype
equivalent class: Datatype
  one of: Ph
  one of: Pol
  one of: WL

LaserBeam
type: Class
subclass of: ExcitationParameter
subclass of: Class
  intersection of: Restriction
    min qualified cardinality: 1
    on class: Phase
    on property: hasPhase
  intersection of: Restriction
    max qualified cardinality: 2
    on class: Phase
    on property: hasPhase
subclass of: Class
  intersection of: Restriction
    min qualified cardinality: 1
    on class: Polarization
    on property: hasPolarization
  intersection of: Restriction
    max qualified cardinality: 2
    on class: Polarization
    on property: hasPolarization
subclass of: Class
  intersection of: Restriction
    min qualified cardinality: 1
    on class: WaveLength
    on property: hasWaveLength
  intersection of: Restriction
    max qualified cardinality: 2
    on class: WaveLength
    on property: hasWaveLength
subclass of: Restriction
  on class: Intensity
  on property: hasIntensity
  qualified cardinality: 1
subclass of: Restriction
  on class: Waist
  on property: hasWaist
  qualified cardinality: 1

LaserBeamParameter
type: Class
subclass of: ExcitationParameter
subclass of: Restriction
  on data range: float
  on property: hasParameterValue
  qualified cardinality: 1

MatterType
type: Datatype
equivalent class: Datatype
  one of: Gold
  one of: Silver

Mesh
type: Class
comment: The mesh represents a set of cells paving the 2D or 3D space (infinite number of cells). The Mesh concept is defined by a Cell and three Vectors (VectorA, VectorB, VectorC). VectoA, VectorB and VectorC can be calculated using CellSize and CellSize2 (in the case of a cell of type Rectangle). If CellType = Cubic then VectorA = (CellSize, 0, 0) VectorB = (0, CellSize, 0) VectorC = (0, 0, CellSize) If CellType = Rectangle (Defined by 2 CellSize : CellSize and CellSize2) then VectorA = (CellSize, 0, 0) VectorB = (0, CellSize2, 0) VectorC = (0, 0, CellSize) If CellType = HexaH VectorA = (CellSize*sqrt(3)/2, CellSize/2, 0) VectorB = (0, CellSize, 0) VectorC = (CellSize/(2*sqrt(3)), CellSize/2, CellSize*sqrt(2/3)) If CellType = HexaV then VectorA = (CellSize , 0, 0) VectorB = (CellSize/2, CellSize*sqrt(3)/2, 0) VectorC = (CellSize/2, CellSize/(2*sqrt(3)), CellSize*sqrt(2/3))
subclass of: Restriction
  on class: Cell
  on property: hasCell
  qualified cardinality: 1
subclass of: Restriction
  on class: Vector
  on property: hasVectorA
  qualified cardinality: 1
subclass of: Restriction
  on class: Vector
  on property: hasVectorB
  qualified cardinality: 1
subclass of: Restriction
  on class: Vector
  on property: hasVectorC
  qualified cardinality: 1

Model
type: Class
comment: The Model concept represents the set of Cells that are used to describe the Solid Shape. It is the projection of the Solid Shape onto the Mesh. The Model concept is indispensable in pyGDM (an open-source python toolkit for electro-dynamical simulations).
subclass of: Restriction
  on class: Mesh
  on property: hasMesh
  qualified cardinality: 1
subclass of: Restriction
  on class: Solid Shape
  on property: hasShape
  qualified cardinality: 1

OpticalSimulation
type: Class
comment: The OpticalSimulation concept is used to define an optical simulation An optical simulation is valid if it has a valid Model, valid Environment, valid Excitation parameters and valid Output parameters
subclass of: Class
  intersection of: Restriction
    on class: Environment
    on property: hasEnvironment
    qualified cardinality: 1
  intersection of: Restriction
    on class: ExcitationParameter
    on property: hasExcitationParameter
    qualified cardinality: 1
  intersection of: Restriction
    on class: Model
    on property: hasModel
    qualified cardinality: 1
  intersection of: Restriction
    on class: OutputParameter
    on property: hasOutputParameter
    qualified cardinality: 1

Polygon
type: Class
comment: At least one of the segments must have a length (hasLength) >= hasValMin defined in shape
subclass of: Shape
subclass of: Class
  union of: Empty Shape
  union of: Solid Shape
subclass of: Restriction
  on property: hasSegment
  some values from: Segment
subclass of: Restriction
  min qualified cardinality: 3
  on data range: integer
  on property: hasSegNumber

Segment
type: Class
comment: A segment cannot be smaller than one cell (CellSize)
subclass of: Restriction
  on class: Vertex
  on property: hasVertex
  qualified cardinality: 2
subclass of: Restriction
  on data range: float
  on property: hasSegmentLength
  qualified cardinality: 1

Shape
type: Class
comment: Abstract concept to define a shape. It has a data property to specify if the shape is geometrically valid.
subclass of: Restriction
  on data range: boolean
  on property: isValidShape
  qualified cardinality: 1

SimulationPoint
type: Class
comment: Des distances à respecter entre les points
subclass of: SegmentPoint
subclass of: Class
  union of: InsideSegmentPoint
  union of: Vertex

Solid Shape
type: Class
comment: Used to define a solid shape. The solid shape has a matter that can be gold or silver.
subclass of: Shape
subclass of: Restriction
  on property: hasHole
  some values from: Empty Shape
subclass of: Restriction
  all values from: MatterType
  on property: hasMatter

Vector
type: Class
comment: The Vector concept represents a directed segment. It is defined by 3 coordinates (Coordinate concept).
subclass of: Restriction
  on class: Coordinate
  on property: hasCoordinate
  qualified cardinality: 1

hasCellSize
type: DatatypeProperty
comment: A global value to represent CellSize. It is used to calculate the coordinate of VectorA, VectorB and VectorC. If CellType = "Cubic" then CellSize1=CellSize2=CellSize3=CellSize If CellType = "Rectangle" then CellSize1 = CellSize3 = CellSize
domain: Cell
range: float

hasCellSize1
type: DatatypeProperty
comment: The size of a cell (h parameter).
domain: Cell
range: Datatype
  on datatype: float
  with restrictions:
    min inclusive: 10.0
  with restrictions:
    max inclusive: 30.0

hasCellSize2
type: DatatypeProperty
comment: The size of a cell (h parameter). Used in the case of Cell of type Rectangle.
domain: Cell
range: Datatype
  on datatype: float
  with restrictions:
    min inclusive: 10.0
  with restrictions:
    max inclusive: 30.0

hasCellSize3
type: DatatypeProperty
domain: Cell
range: Datatype
  on datatype: float
  with restrictions:
    min inclusive: 10.0
  with restrictions:
    max inclusive: 30.0

hasCellType
type: DatatypeProperty
comment: The type of a cell (Cubic, HexaH, HexaV, Rectangle).
domain: Cell
range: CellType

hasPhaseValue
type: DatatypeProperty
domain: Phase
range: float
range: Datatype
  on datatype: float
  with restrictions:
    min inclusive: 0.0
  with restrictions:
    max inclusive: 170.0
sub property of: hasParameterValue

hasPolarizationValue
type: DatatypeProperty
domain: Polarization
range: float
range: Datatype
  on datatype: float
  with restrictions:
    min inclusive: 0.0
  with restrictions:
    max inclusive: 170.0
sub property of: hasParameterValue

hasX
type: DatatypeProperty
comment: First point in a Bipoint.
domain: Coordinate
domain: Point
range: float

hasY
type: DatatypeProperty
comment: Second point in a Bipoint.
domain: Coordinate
domain: Point
range: float

isValidEP
type: DatatypeProperty
comment: Takes the boolean value "true" if the Excitation Parameters are valid Allows to verify if the Excitation Parameters are well defined
domain: ExcitationParameter
range: boolean

isValidEnvironment
type: DatatypeProperty
comment: Takes the boolean value "true" if the Environment is valid Allows to verify if the Environment is well defined
domain: Environment
range: boolean

isValidModel
type: DatatypeProperty
comment: Takes the boolean value "true" if the Model is valid Allows to verify if the Model is well defined
domain: Model
range: boolean

isValidOP
type: DatatypeProperty
comment: Takes the boolean value "true" if the Output Parameters are valid Allows to verify if the Output Parameters are well defined
domain: OutputParameter
range: boolean

isValidOSimulation
type: DatatypeProperty
comment: Takes the boolean value "true" if the optical simulation is valid Allows to verify if the simulation is well defined (right model and all required parameters are correctly defined))
domain: OpticalSimulation
range: boolean

isValidParameter
type: DatatypeProperty
comment: Takes the boolean value "true" if all optical simulation parametersare valid Allows to verify if the Excitation Parameters and the Output Parameters are well defined
domain: Parameter
range: boolean