@prefix rdf: . @prefix : . @prefix rdfs: . @prefix mf: . @prefix qt: . @prefix dawgt: . <> rdf:type mf:Manifest ; rdfs:comment "Test of boolean expressions" ; mf:entries ( :dawg-boolean-literal :dawg-bev-1 :dawg-bev-2 :dawg-bev-3 :dawg-bev-4 :dawg-bev-5 :dawg-bev-6 ) . :dawg-boolean-literal a mf:QueryEvaluationTest ; mf:name "Test literal 'true'" ; dawgt:approval dawgt:Approved ; dawgt:approvedBy ; mf:action [ qt:query ; qt:data ] ; mf:result . :dawg-bev-1 a mf:QueryEvaluationTest ; mf:name "Test 'boolean effective value' - true" ; rdfs:comment "Non-zero numerics, non-empty strings, and the true boolean have an EBV of true" ; dawgt:approvedBy ; dawgt:approval dawgt:Approved ; mf:action [ qt:query ; qt:data ] ; mf:result . :dawg-bev-2 a mf:QueryEvaluationTest ; mf:name "Test 'boolean effective value' - false" ; rdfs:comment "Zero-valued numerics, the empty string, and the false boolean have an EBV of false" ; dawgt:approvedBy ; dawgt:approval dawgt:Approved ; mf:action [ qt:query ; qt:data ] ; mf:result . :dawg-bev-3 a mf:QueryEvaluationTest ; mf:name "Test 'boolean effective value' - &&" ; rdfs:comment "The && operator takes the EBV of its operands" ; dawgt:approvedBy ; dawgt:approval dawgt:Approved ; mf:action [ qt:query ; qt:data ] ; mf:result . :dawg-bev-4 a mf:QueryEvaluationTest ; mf:name "Test 'boolean effective value' - ||" ; rdfs:comment "The || operator takes the EBV of its operands" ; dawgt:approvedBy ; dawgt:approval dawgt:Approved ; mf:action [ qt:query ; qt:data ] ; mf:result . :dawg-bev-5 a mf:QueryEvaluationTest ; mf:name "Test 'boolean effective value' - optional" ; rdfs:comment "The EBV of an unbound value or a literal with an unknown datatype is a type error, which eliminates the solution in question" ; dawgt:approvedBy ; dawgt:approval dawgt:Approved ; mf:action [ qt:query ; qt:data ] ; mf:result . :dawg-bev-6 a mf:QueryEvaluationTest ; mf:name "Test 'boolean effective value' - unknown types" ; rdfs:comment "Negating a type error is still a type error" ; dawgt:approvedBy ; dawgt:approval dawgt:Approved ; mf:action [ qt:query ; qt:data ] ; mf:result .