dco http://denkbares.com/ConfigOptions/

c http://denkbares.com/ConfigOptionsDemo/

Definitions Configuration Options#

dco#ConfigOption
dco:ConfigOption
a
owl#Class
owl:Class
.
dco#ChoiceConfigOption
dco:ChoiceConfigOption
rdfs#subClassOf
rdfs:subClassOf
dco#ConfigOption
ConfigOption
.
dco#NumConfigOption
dco:NumConfigOption
rdfs#subClassOf
rdfs:subClassOf
dco#ConfigOption
ConfigOption
.
dco#ConfigOptionAssignment
dco:ConfigOptionAssignment
a
owl#Class
owl:Class
.
dco#option
dco:option
a
owl#ObjectProperty
owl:ObjectProperty
.
dco#is
dco:is
a
owl#ObjectProperty
owl:ObjectProperty
.
dco#isNot
dco:isNot
a
owl#ObjectProperty
owl:ObjectProperty
.
dco#ChoiceValue
dco:ChoiceValue
a
owl#Class
owl:Class
.
dco#availableChoice
dco:availableChoice
a
owl#ObjectProperty
owl:ObjectProperty
.

Definitions Constraints#

dco#Constraint
dco:Constraint
a
owl#Class
owl:Class
.
dco#ContradictingConstraint
dco:ContradictingConstraint
rdfs#subClassOf
rdfs:subClassOf
dco#Constraint
Constraint
.
dco#hasDisjointSet
dco:hasDisjointSet
a
owl#ObjectProperty
owl:ObjectProperty
.
dco#assignmentA
dco:assignmentA
a
owl#ObjectProperty
owl:ObjectProperty
.
dco#assignmentB
dco:assignmentB
a
owl#ObjectProperty
owl:ObjectProperty
.
dco#min
dco:min
a
owl#DatatypeProperty
owl:DatatypeProperty
.
dco#max
dco:max
a
owl#DatatypeProperty
owl:DatatypeProperty
.

Definitions Car configuration set#

dco#CarConfigSet
dco:CarConfigSet
a
owl#Class
owl:Class
.
dco#hasConfiguration
dco:hasConfiguration
a
owl#ObjectProperty
owl:ObjectProperty
.

Option Engine#

dco#Engine
dco:Engine
a
dco#ChoiceConfigOption
dco:ChoiceConfigOption
;
dco#availableChoice
dco:availableChoice
dco#SmallEngine
dco:SmallEngine
,
dco#MediumEngine
dco:MediumEngine
,
dco#Turbo
dco:Turbo
.
dco#SmallEngine
dco:SmallEngine
a
dco#ChoiceValue
ChoiceValue
.
dco#MediumEngine
dco:MediumEngine
a
dco#ChoiceValue
ChoiceValue
.
dco#Turbo
dco:Turbo
a
dco#ChoiceValue
ChoiceValue
.

Option Hitch#

dco#Hitch
dco:Hitch
a
dco#ChoiceConfigOption
dco:ChoiceConfigOption
;
dco#availableChoice
dco:availableChoice
dco#WithHitch
WithHitch
,
dco#WithoutHitch
WithoutHitch
.
dco#WithHitch
dco:WithHitch
a
dco#ChoiceValue
ChoiceValue
.
dco#WithoutHitch
dco:WithoutHitch
a
dco#ChoiceValue
ChoiceValue
.

Option Edition#

dco#Edition
dco:Edition
a
dco#ChoiceConfigOption
dco:ChoiceConfigOption
;
dco#availableChoice
dco:availableChoice
dco#FamilyEdition
FamilyEdition
,
dco#SportsEdition
SportsEdition
,
dco#OffroadEdition
OffroadEdition
.
dco#FamilyEdition
dco:FamilyEdition
a
dco#ChoiceValue
ChoiceValue
.
dco#SportsEdition
dco:SportsEdition
a
dco#ChoiceValue
ChoiceValue
.
dco#OffroadEdition
dco:OffroadEdition
a
dco#ChoiceValue
ChoiceValue
.

Option Number of Doors#

dco#NumberOfDoors
dco:NumberOfDoors
a
dco#NumConfigOption
dco:NumConfigOption
;
dco#min
dco:min
"3"
;
dco#max
dco:max
"5"
.

Constraint 1 : Hitch contradicts Small Engine#

dco#HitchConstradictsSmallEngine
dco:HitchConstradictsSmallEngine
a
dco#ContradictingConstraint
ContradictingConstraint
;
rdfs#label
rdfs:label
"Anhängerkupplung nicht mit kleinem Motor"
;
dco#assignmentA
assignmentA
[
dco#option
option
dco#Hitch
Hitch
;
dco#is
is
dco#WithHitch
WithHitch
]
;
dco#assignmentB
assignmentB
[
dco#option
option
dco#Engine
Engine
;
dco#is
is
dco#SmallEngine
SmallEngine
]
.

Constraint 2 : Family Edition contradict 3 doors#

dco#FamilyConstradicts3Doors
dco:FamilyConstradicts3Doors
a
dco#ContradictingConstraint
ContradictingConstraint
;
dco#assignmentA
assignmentA
[
dco#option
option
dco#Edition
Edition
;
dco#is
is
dco#FamilyEdition
FamilyEdition
]
;
dco#assignmentB
assignmentB
[
dco#option
option
dco#NumberOfDoors
NumberOfDoors
;
dco#is
is
"3" ]
.

Constraint 3 : Offroad Edition requires TurboEngine#

dco#OffroadRequiresTurboEngine
dco:OffroadRequiresTurboEngine
a
dco#ContradictingConstraint
ContradictingConstraint
;
dco#assignmentA
assignmentA
[
dco#option
option
dco#Edition
Edition
;
dco#is
is
dco#OffroadEdition
OffroadEdition
]
;
dco#assignmentB
assignmentB
[
dco#option
option
dco#Engine
Engine
;
dco#isNot
isNot
dco#Turbo
Turbo
]
.

Car 1#

dco#Car1
dco:Car1
a
dco#CarConfigSet
CarConfigSet
;
dco#hasConfiguration
hasConfiguration
[
dco#option
option
dco#Engine
Engine
;
dco#is
is
dco#MediumEngine
MediumEngine
]
,
[
dco#option
option
dco#Hitch
Hitch
;
dco#is
is
dco#WithHitch
WithHitch
]
.

Car 2#

dco#Car2
dco:Car2
a
dco#CarConfigSet
CarConfigSet
;
dco#hasConfiguration
hasConfiguration
[
dco#option
option
dco#Engine
Engine
;
dco#is
is
dco#SmallEngine
SmallEngine
]
,
[
dco#option
option
dco#Edition
Edition
;
dco#is
is
dco#OffroadEdition
OffroadEdition
]
,
[
dco#option
option
dco#Hitch
Hitch
;
dco#is
is
dco#WithHitch
WithHitch
]
.

Car 3#

dco#Car3
dco:Car3
a
dco#CarConfigSet
CarConfigSet
;
dco#hasConfiguration
hasConfiguration
[
dco#option
option
dco#Edition
Edition
;
dco#is
is
dco#FamilyEdition
FamilyEdition
]
,
[
dco#option
option
dco#NumberOfDoors
NumberOfDoors
;
dco#is
is
"3"]
.

Car 4#

dco#Car4
dco:Car4
a
dco#CarConfigSet
CarConfigSet
;
dco#hasConfiguration
hasConfiguration
[
dco#option
option
dco#Edition
Edition
;
dco#is
is
dco#FamilyEdition
FamilyEdition
]
,
[
dco#option
option
dco#NumberOfDoors
NumberOfDoors
;
dco#is
is
"5"]
.

Ill-defined Car#

dco#CarX
dco:CarX
a
dco#CarConfigSet
CarConfigSet
;
dco#hasConfiguration
hasConfiguration
[
dco#option
option
dco#Engine
Engine
;
dco#is
is
dco#WithHitch
WithHitch
]
,
[
dco#option
option
dco#NumberOfDoors
NumberOfDoors
;
dco#is
is
"99" ]
,
[
dco#option
option
dco#Hitch
Hitch
;
dco#is
is
dco#SportsEdition
SportsEdition
]
.

Assignment Consistency Query #

Constraint Validation Query#

Violated Constraints:

VisualizationConfig
@name: configVis@colors: c:color

c#color
c:color
a
owl#DatatypeProperty
owl:DatatypeProperty
.
dco#Constraint
dco:Constraint
c#color
c:color
"orange"
.
dco#ConfigOption
dco:ConfigOption
c#color
c:color
"#80ccff"
.

configOptions