kb.addPropertyValue( p, x, b );
kb.addPropertyValue( p, x, c );
{
AtomIVariable v = new AtomIVariable( "v" );
RuleAtom body = new ClassAtom( some( p, or( and( A, B ), or(
and( A, C ), and( B, C ) ) ) ), v );
RuleAtom head = new IndividualPropertyAtom( q, v, new AtomIConstant( y ) );
Rule rule = new Rule( Collections.singleton( head ), Collections.singleton( body ) );
kb.addRule( rule );
}
{
AtomIVariable v = new AtomIVariable( "v" );
RuleAtom body = new ClassAtom( G, v );
RuleAtom head = new IndividualPropertyAtom( p, v, new AtomIConstant( y ) );
Rule rule = new Rule( Collections.singleton( head ), Collections.singleton( body ) );
kb.addRule( rule );
}