R1: CreateKB response KB name(/ResponseMessage[1]/*[1]) = 'KB' and count(/ResponseMessage[1]/*[1][@kb='http://www.owllink.org/ont/families']) = 1 R2: LoadOntologies response OK name(/ResponseMessage[1]/*[2]) = 'OK' R3: IsKBSatisfiable response is BooleanResponse true name(/ResponseMessage[1]/*[3]) = 'BooleanResponse' and count(/ResponseMessage[1]/*[3][@result='true'])=1 or count(/ResponseMessage[1]/*[position()=3 and (contains(@error, 'supported') or contains(@error, 'implemented'))])=1 R4: IsKBConsistentlyDeclared response is BooleanResponse true name(/ResponseMessage[1]/*[4]) = 'BooleanResponse' and count(/ResponseMessage[1]/*[4][@result='true'])=1 or /ResponseMessage[1]/*[position()=4 and contains(@error, 'implemented')] or count(/ResponseMessage[1]/*[position()=4 and (contains(@error, 'supported') or contains(@error, 'implemented'))])=1 R5: GetKBLanguage response is BooleanResponse true name(/ResponseMessage[1]/*[5]) = 'StringResponse' and count(/ResponseMessage[1]/*[5])=1 or count(/ResponseMessage[1]/*[position()=5 and (contains(@error, 'supported') or contains(@error, 'implemented'))])=1 R6: ReleaseKB response OK name(/ResponseMessage[1]/*[6]) = 'OK'