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.

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
Incoming links Outgoing links

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 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 2 lines
?constraintAssignmentA dco:is ?valueA .
IF(EXISTS(?constraintAssignmentA dco:is ?valueA), BIND( "true" as ?matchA), BIND ("true" as ?matchA)) .
?carConfigAssignment1 dco:option ?carOptionA .
?constraint dco:assignmentA ?constraintAssignmentA .
?constraintAssignmentA dco:option ?constraintOptionA .
FILTER (?constraintOptionA = ?carOptionA) .
At line 285 added 10 lines
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 282 changed one line
if(EXISTS(?constraintAssignmentB dco:is ?valueB), BIND( "true" as ?matchB), BIND ("true" as ?matchB)) .
?carConfigAssignment2 dco:option ?carOptionB .
?constraint dco:assignmentB ?constraintAssignmentB .
?constraintAssignmentB dco:option ?constraintOptionB .
FILTER (?constraintOptionB = ?carOptionB) .
At line 304 added 2 lines
OPTIONAL {
?constraintAssignmentB dco:is ?constraintValueB .
At line 307 added 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 added 4 lines
# filter identities and aggregate result
FILTER (?constraintAssignmentA != ?constraintAssignmentB) .
FILTER (?carConfigAssignment1 != ?carConfigAssignment2) .
FILTER (?compliesA = "true" && ?compliesB = "true" ).
At line 320 added 3 lines
}
At line 296 changed one line
?constraint dco:hasValueA ?constraintAssignmentA .
?constraint dco:assignmentA ?constraintAssignmentA .
At line 303 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" .
%