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 added 3 lines
%%namespace
c http://denkbares.com/ConfigOptionsDemo/
%
At line 13 added one line
At line 23 added one line
dco:isNot a owl:ObjectProperty .
At line 31 changed 2 lines
dco:hasValueA a owl:ObjectProperty .
dco:hasValueB a owl:ObjectProperty .
dco:assignmentA a owl:ObjectProperty .
dco:assignmentB a owl:ObjectProperty .
At line 101 changed 3 lines
dco:HitchConstradictsSmallEngine a ContradictingConstraint ;
hasValueA [ option Hitch; is WithHitch] ;
hasValueB [ option Engine; is SmallEngine ] .
dco:HitchConstradictsSmallEngine a ContradictingConstraint ;
rdfs:label "Anhängerkupplung nicht mit kleinem Motor" ;
assignmentA [ option Hitch; is WithHitch] ;
assignmentB [ option Engine; is SmallEngine ] .
At line 112 changed 2 lines
hasValueA [ option Edition; is FamilyEdition] ;
hasValueB [ option NumberOfDoors; is "3" ] .
assignmentA [ option Edition; is FamilyEdition] ;
assignmentB [ option NumberOfDoors; is "3" ] .
At line 118 changed one line
! Constraint 3 : Offroad Edition contradicts Small Engine
! Constraint 3 : Offroad Edition requires TurboEngine
At line 121 changed 3 lines
dco:OffroadConstradictsSmallEngine a ContradictingConstraint ;
hasValueA [ option Edition; is OffroadEdition] ;
hasValueB [ option Engine; is SmallEngine ] .
dco:OffroadRequiresTurboEngine a ContradictingConstraint ;
assignmentA [ option Edition; is OffroadEdition] ;
assignmentB [ option Engine; isNot Turbo ] .
At line 269 added one line
At line 264 changed one line
SELECT ?car ?constraint ?valueA ?valueB ?matchA ?matchB WHERE {
SELECT ?car ?constraint ?constraintOptionA ?carOptionA ?valueA ?constraintOptionB ?carOptionB ?valueB ?compliesA ?compliesB WHERE {
At line 273 added one line
# for each car config and constraint do...
At line 277 added one line
# First constraint/configuration match
At line 270 removed 2 lines
?constraint dco:hasValueA ?constraintAssignmentA .
At line 273 changed one line
?constraintAssignmentA dco:is ?valueA .
?carConfigAssignment1 dco:option ?carOptionA .
?constraint dco:assignmentA ?constraintAssignmentA .
?constraintAssignmentA dco:option ?constraintOptionA .
FILTER (?constraintOptionA = ?carOptionA) .
At line 275 changed one line
BIND( IF (EXISTS{?constraintAssignmentA dco:is ?constraintValueA} && ?constraintValueA == ?valueA , "true", "false") as ?matchA) .
OPTIONAL {
?constraintAssignmentA dco:is ?constraintValueA .
}
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 277 changed one line
# Second constraint/configuration match
At line 279 removed 2 lines
?constraint dco:hasValueB ?constraintAssignmentB .
?constraintAssignmentB dco:is ?valueB .
At line 299 added 4 lines
?carConfigAssignment2 dco:option ?carOptionB .
?constraint dco:assignmentB ?constraintAssignmentB .
?constraintAssignmentB dco:option ?constraintOptionB .
FILTER (?constraintOptionB = ?carOptionB) .
At line 304 added 10 lines
OPTIONAL {
?constraintAssignmentB dco:is ?constraintValueB .
}
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 284 changed one line
BIND( IF (EXISTS{?constraintAssignmentB dco:is ?valueB}, "true", "false") as ?matchB) .
# filter identities and aggregate result
FILTER (?constraintAssignmentA != ?constraintAssignmentB) .
FILTER (?carConfigAssignment1 != ?carConfigAssignment2) .
FILTER (?compliesA = "true" && ?compliesB = "true" ).
At line 298 changed one line
?constraint dco:hasValueA ?constraintAssignmentA .
?constraint dco:assignmentA ?constraintAssignmentA .
At line 305 changed one line
?constraint dco:hasValueB ?constraintAssignmentB .
?constraint dco:assignmentB ?constraintAssignmentB .
At line 348 added 31 lines
%%sparql
SELECT ?constraint ?edge ?option WHERE {
?constraint dco:assignmentA|dco:assignmentB ?assignment .
?assignment dco:option ?option .
BIND ( "usesOption" AS ?edge ) .
}
%
%%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" .
%