prefix : prefix rdfs: prefix owl: select ?X ?Room ?InR ?Y ?InterpretAsMaybeInR from where {{ ?X :in ?Room} UNION { ?X a :Furniture, ?InR . ?InR rdfs:subClassOf :Furniture . FILTER contains(str(?InR),"In")} UNION { ?Y a :Furniture . ?NotInR rdfs:subClassOf :Furniture . FILTER contains(str(?NotInR),"NotIn") . FILTER NOT EXISTS { ?Y a ?NotInR .} bind (?NotInR as ?InterpretAsMaybeInR) }} order by ?R ?InR ?NotInR