This page (revision-180) was last changed on 05-May-2017 09:17 by Jochen Reutelshöfer

This page was created on 22-Apr-2017 17:20 by unknown

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
180 05-May-2017 09:17 7 KB Jochen Reutelshöfer to previous
179 05-May-2017 09:15 7 KB Jochen Reutelshöfer to previous | to last
178 05-May-2017 09:15 7 KB Jochen Reutelshöfer to previous | to last
177 05-May-2017 09:14 7 KB Jochen Reutelshöfer to previous | to last
176 05-May-2017 09:13 7 KB Jochen Reutelshöfer to previous | to last
175 05-May-2017 09:13 7 KB Jochen Reutelshöfer to previous | to last
174 05-May-2017 09:08 7 KB Jochen Reutelshöfer to previous | to last
173 05-May-2017 09:08 7 KB Jochen Reutelshöfer to previous | to last
172 05-May-2017 09:07 7 KB Jochen Reutelshöfer to previous | to last
171 05-May-2017 09:07 7 KB Jochen Reutelshöfer to previous | to last
170 24-Apr-2017 22:29 7 KB Jochen Reutelshöfer to previous | to last
169 24-Apr-2017 22:26 7 KB Jochen Reutelshöfer to previous | to last
168 24-Apr-2017 22:26 7 KB Jochen Reutelshöfer to previous | to last
167 24-Apr-2017 22:25 7 KB Jochen Reutelshöfer to previous | to last
166 24-Apr-2017 22:25 7 KB Jochen Reutelshöfer to previous | to last
165 24-Apr-2017 22:24 7 KB Jochen Reutelshöfer to previous | to last
164 24-Apr-2017 22:24 7 KB Jochen Reutelshöfer to previous | to last
163 24-Apr-2017 22:22 7 KB Jochen Reutelshöfer to previous | to last
162 24-Apr-2017 22:22 7 KB Jochen Reutelshöfer to previous | to last
161 24-Apr-2017 22:22 6 KB Jochen Reutelshöfer to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 9 removed 3 lines
%%namespace
c http://denkbares.com/ConfigOptionsDemo/
%
At line 13 removed one line
At line 23 removed one line
dco:isNot a owl:ObjectProperty .
At line 36 changed 4 lines
dco:assignmentA a owl:ObjectProperty .
dco:assignmentB a owl:ObjectProperty .
dco:min a owl:DatatypeProperty .
dco:max a owl:DatatypeProperty .
dco:hasValueA a owl:ObjectProperty .
dco:hasValueB a owl:ObjectProperty .
dco:contradicts a owl:ObjectProperty .
dco:largerOrEqual a owl:DatatypeProperty .
dco:smallerOrEqual a owl:DatatypeProperty .
At line 48 changed one line
dco:hasConfiguration a owl:ObjectProperty .
dco:hasConfigAssignment a owl:ObjectProperty .
At line 95 changed 2 lines
dco:min "3" ;
dco:max "5" .
dco:largerOrEqual "3" ;
dco:smallerOrEqual "5" .
At line 106 changed 4 lines
dco:HitchConstradictsSmallEngine a ContradictingConstraint ;
rdfs:label "Anhängerkupplung nicht mit kleinem Motor" ;
assignmentA [ option Hitch; is WithHitch] ;
assignmentB [ option Engine; is SmallEngine ] .
dco:HitchConstradictsSmallEngine a ContradictingConstraint ;
hasValueA [ option Hitch; is WithHitch] ;
hasValueB [ option Engine; is SmallEngine ] .
At line 118 changed 2 lines
assignmentA [ option Edition; is FamilyEdition] ;
assignmentB [ option NumberOfDoors; is "3" ] .
hasValueA [ option Edition; is FamilyEdition] ;
hasValueB [ option NumberOfDoors; is "3" ] .
At line 124 changed one line
! Constraint 3 : Offroad Edition requires TurboEngine
! Constraint 3 : Offroad Edition contradicts Small Engine
At line 127 changed 3 lines
dco:OffroadRequiresTurboEngine a ContradictingConstraint ;
assignmentA [ option Edition; is OffroadEdition] ;
assignmentB [ option Engine; isNot Turbo ] .
dco:OffroadConstradictsSmallEngine a ContradictingConstraint ;
hasValueA [ option Edition; is OffroadEdition] ;
hasValueB [ option Engine; is SmallEngine ] .
At line 138 changed one line
hasConfiguration
hasConfigAssignment
At line 145 changed one line
dco:Car1 dco:hasConfiguration ?assignment.
dco:Car1 dco:hasConfigAssignment ?assignment.
At line 157 changed one line
hasConfiguration
hasConfigAssignment
At line 165 changed one line
dco:Car2 dco:hasConfiguration ?assignment.
dco:Car2 dco:hasConfigAssignment ?assignment.
At line 177 changed one line
hasConfiguration
hasConfigAssignment
At line 184 changed one line
dco:Car3 dco:hasConfiguration ?assignment.
dco:Car3 dco:hasConfigAssignment ?assignment.
At line 196 changed one line
hasConfiguration
hasConfigAssignment
At line 203 changed one line
dco:Car4 dco:hasConfiguration ?assignment.
dco:Car4 dco:hasConfigAssignment ?assignment.
At line 215 changed one line
hasConfiguration
hasConfigAssignment
At line 223 changed one line
dco:CarX dco:hasConfiguration ?assignment.
dco:CarX dco:hasConfigAssignment ?assignment.
At line 228 added one line
At line 238 changed one line
?car dco:hasConfiguration ?assignment .
?car dco:hasConfigAssignment ?assignment .
At line 249 changed one line
?car dco:hasConfiguration ?assignment .
?car dco:hasConfigAssignment ?assignment .
At line 253 changed 4 lines
?option dco:min ?minValue .
?option dco:max ?maxValue .
FILTER (xsd:integer(?value) < xsd:integer(?minValue)
|| xsd:integer(?value) > xsd:integer(?maxValue) )
?option dco:largerOrEqual ?minValue .
?option dco:smallerOrEqual ?maxValue .
FILTER (xsd:integer(?value) < ?minValue
|| xsd:integer(?value) > ?maxValue )
At line 264 changed 23 lines
!! Constraint Validation Query
__Violated Constraints:__
%%sparql
SELECT ?car ?constraint ?constraintOptionA ?carOptionA ?valueA ?constraintOptionB ?carOptionB ?valueB ?compliesA ?compliesB WHERE {
# for each car config and constraint do...
?car rdf:type dco:CarConfigSet .
?constraint rdf:type dco:Constraint .
# First constraint/configuration match
?car dco:hasConfiguration ?carConfigAssignment1 .
?carConfigAssignment1 dco:is ?valueA .
?carConfigAssignment1 dco:option ?carOptionA .
?constraint dco:assignmentA ?constraintAssignmentA .
?constraintAssignmentA dco:option ?constraintOptionA .
FILTER (?constraintOptionA = ?carOptionA) .
OPTIONAL {
?constraintAssignmentA dco:is ?constraintValueA .
! numberical consistency
%%Sparql
SELECT * {
?car rdf:type dco:CarConfigSet .
?car dco:hasConfigAssignment ?assignment .
?assignment dco:option ?option .
?assignment dco:is ?value .
?option rdf:type dco:NumConfigOption .
?option dco:largerOrEqual ?minValue .
?option dco:smallerOrEqual ?maxValue .
At line 288 removed 7 lines
OPTIONAL {
?constraintAssignmentA dco:isNot ?constraintValueA .
}
BIND( IF (
(EXISTS{?constraintAssignmentA dco:is ?constraintValueA} && ?constraintValueA = ?valueA)
|| (EXISTS{?constraintAssignmentA dco:isNot ?constraintValueA} && ?constraintValueA != ?valueA)
, "true", "false") as ?compliesA) .
At line 296 changed 10 lines
# Second constraint/configuration match
?car dco:hasConfiguration ?carConfigAssignment2 .
?carConfigAssignment2 dco:is ?valueB .
?carConfigAssignment2 dco:option ?carOptionB .
?constraint dco:assignmentB ?constraintAssignmentB .
?constraintAssignmentB dco:option ?constraintOptionB .
FILTER (?constraintOptionB = ?carOptionB) .
OPTIONAL {
?constraintAssignmentB dco:is ?constraintValueB .
UNION {
?option rdf:type dco:NumConfigOption .
At line 307 removed 7 lines
OPTIONAL {
?constraintAssignmentB dco:isNot ?constraintValueB .
}
BIND( IF (
(EXISTS{?constraintAssignmentB dco:is ?constraintValueB} && ?constraintValueB = ?valueB)
|| (EXISTS{?constraintAssignmentB dco:isNot ?constraintValueB} && ?constraintValueB != ?valueB)
, "true", "false") as ?compliesB) .
At line 315 removed 4 lines
# filter identities and aggregate result
FILTER (?constraintAssignmentA != ?constraintAssignmentB) .
FILTER (?carConfigAssignment1 != ?carConfigAssignment2) .
FILTER (?compliesA = "true" && ?compliesB = "true" ).
At line 320 changed one line
}
!! Constraint Validation Query
At line 279 added one line
__Violated Constraints:__
At line 323 removed 2 lines
%
At line 326 changed 3 lines
SELECT ?car ?constraint ?valueA ?valueB WHERE {
?car rdf:type dco:CarConfigSet .
SELECT ?car ?constraint WHERE {
At line 330 changed 4 lines
?car dco:hasConfiguration ?carConfigAssignment1 .
?constraint dco:assignmentA ?constraintAssignmentA .
?constraint dco:hasValueA ?constraintAssignmentA .
At line 335 changed 5 lines
?carConfigAssignment1 dco:is ?valueA .
?car dco:hasConfiguration ?carConfigAssignment2 .
?constraint dco:assignmentB ?constraintAssignmentB .
?constraint dco:hasValueB ?constraintAssignmentB .
At line 341 removed one line
?carConfigAssignment2 dco:is ?valueB .
At line 343 changed one line
}
?car rdf:type dco:CarConfigSet .
?car dco:hasConfigAssignment ?assignment1 .
?assignment1 dco:is ?valueA .
?car dco:hasConfigAssignment ?assignment2 .
?assignment2 dco:is ?valueB .
At line 346 removed 7 lines
%
%%sparql
SELECT ?constraint ?edge ?option WHERE {
?constraint dco:assignmentA|dco:assignmentB ?assignment .
?assignment dco:option ?option .
BIND ( "usesOption" AS ?edge ) .
At line 357 removed 22 lines
%%sparqlVisualization
SELECT ?constraint ?edge ?option WHERE {
?constraint dco:assignmentA|dco:assignmentB ?assignment .
?assignment dco:option ?option .
BIND ( "usesOption" AS ?edge ) .
}
@config: configVis
%
%%VisualizationConfig
@name: configVis
@colors: c:color
%
%%turtle
c:color a owl:DatatypeProperty .
dco:Constraint c:color "orange" .
dco:ConfigOption c:color "#80ccff" .
%