Q: (owns ?p ?c) (type ?c Car) (has-color ?c Red)
must-bind ?p don't-bind ?c
A: (exists ?c (and (owns Joe ?c) (type ?c Car) (has-color ?c Red)))
5
Q: (has-father Bill ?f)
must-bind ?f
A: No answers
5
Q: (has-father Bill ?f)
may-bind ?f (or don't-bind ?f)
A: One answer (with no binding for ?f)
5
Q: (has-father ?p ?f)
must-bind: ?p ?f
A: One answer for each known father
5
Q: (has-father ?p ?f)
must-bind ?p, may-bind ?f (or don't-bind ?f)
A: One answer for each known person
5
If C1 is a Seafood Course and W1 is a drink of C1, what color is W1?
P: (type C1 Seafood-Course) (drink C1 W1)
Q: (has-color W1 ?x)
must-bind ?x
A: White
5
Suppose Fred is of type Person. What other types is Fred?
P: (instanceOf Fred Person)
Q: (instanceOf Fred ?x)
must-bind ?x
A: Person, HumanBeing, Animal, Thing, Resource
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x)
|http://www.daml.org/2001/03/daml oil-ex#|::|Person|
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)
(|http://www.w3.org/2000/01/rdf-schema#|::domain |http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x)
|http://www.w3.org/2000/01/rdf-schema#|::|Resource|
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::domain |http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?subj ?x))
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x)
|http://www.w3.org/2000/01/rdf-schema#|::|Resource|
(|http://www.w3.org/2000/01/rdf-schema#|::domain |http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.w3.org/2000/01/rdf-schema#|::|Resource|)
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::domain ?prop ?x)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?subj ?x))
(or (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x) (not (|http://www.w3.org/2000/01/rdf-schema#|::domain |http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x)))
(|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| |http://www.daml.org/2001/03/daml oil-ex#|::|Animal|)
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?inst ?c)) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?c ?x)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?inst ?x))
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?c)) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?c ?x)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x))
(|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)
|http://www.daml.org/2001/03/daml oil-ex#|::|Animal|
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)
(or (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)))
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x)
|http://www.daml.org/2001/03/daml oil-ex#|::|Animal|
(|http://www.w3.org/2000/01/rdf-schema#|::domain |http://www.daml.org/2001/03/daml oil#|::|disjointWith| |http://www.daml.org/2001/03/daml oil#|::|Class|)
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::domain ?prop ?c)) (not (|:has-slot| ?x ?prop)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x ?c))
(|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| |http://www.daml.org/2001/03/daml oil#|::|Thing|)
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?inst ?c)) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?c ?x)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?inst ?x))
(or (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x |http://www.daml.org/2001/03/daml oil#|::|Class|) (not (|:has-slot| ?x |http://www.daml.org/2001/03/daml oil#|::|disjointWith|)))
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?c)) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?c ?x)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x))
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?c |http://www.daml.org/2001/03/daml oil#|::|Class|)) (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?c |http://www.daml.org/2001/03/daml oil#|::|Thing|))
(|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)
|http://www.daml.org/2001/03/daml oil#|::|Thing|
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)
(or (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)))
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::domain |http://www.daml.org/2001/03/daml oil#|::|disjointWith| ?c)) (not (|:has-slot| ?x |http://www.daml.org/2001/03/daml oil#|::|disjointWith|)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x ?c))
(|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?c |http://www.daml.org/2001/03/daml oil#|::|Thing|)
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x)
|http://www.daml.org/2001/03/daml oil#|::|Thing|
(or (not (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?x ?val)) (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?x ?val))
(or (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x) (not (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?x |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)))
(|http://www.w3.org/2000/01/rdf-schema#|::domain |http://www.daml.org/2001/03/daml oil#|::|disjointWith| |http://www.daml.org/2001/03/daml oil#|::|Class|)
(or (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x) (not (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)))
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::|subPropertyOf| ?psub ?prop)) (not (holds ?psub ?x ?val)) (holds ?prop ?x ?val))
(|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Person| |http://www.daml.org/2001/03/daml oil#|::|Class|)) (not (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)) (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x))
(|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?x |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)
|http://www.daml.org/2001/03/daml oil-ex#|::|HumanBeing|
(or (not (|http://www.daml.org/2001/03/daml oil#|::|inverseOf| |http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?p2)) (not (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?x ?val)) (holds ?p2 ?val ?x))
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?inst ?c)) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?c ?x)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?inst ?x))
(|http://www.daml.org/2001/03/daml oil#|::|inverseOf| |http://www.daml.org/2001/03/daml oil#|::|equivalentTo| |http://www.daml.org/2001/03/daml oil#|::|equivalentTo|)
(or (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x |http://www.daml.org/2001/03/daml oil#|::|Class|) (not (|:has-slot| ?x |http://www.daml.org/2001/03/daml oil#|::|disjointWith|)))
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::|subPropertyOf| |http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?prop)) (not (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?fr ?x)) (holds ?prop ?fr ?x))
(or (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)))
(or (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?x |http://www.daml.org/2001/03/daml oil-ex#|::|Person|) (not (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?x |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)))
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::domain ?prop ?c)) (not (|:has-slot| ?x ?prop)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x ?c))
(|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)
|http://www.daml.org/2001/03/daml oil-ex#|::|HumanBeing|
(|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)
(or (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x) (not (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)))
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::|subPropertyOf| |http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?prop)) (not (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?x ?val)) (holds ?prop ?x ?val))
(|http://www.w3.org/2000/01/rdf-schema#|::|subPropertyOf| |http://www.daml.org/2001/03/daml oil#|::|sameClassAs| |http://www.daml.org/2001/03/daml oil#|::|equivalentTo|)
(or (not (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?x ?val)) (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?val ?x))
(or (not (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x)) (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| |http://www.daml.org/2001/03/daml oil-ex#|::|Person| ?x))
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)
(or (not (|http://www.daml.org/2001/03/daml oil#|::|inverseOf| ?p1 ?p2)) (not (holds ?p1 ?x ?val)) (holds ?p2 ?val ?x))
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?c |http://www.daml.org/2001/03/daml oil#|::|Class|)) (not (|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?c ?x)) (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?c ?x))
(|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| |http://www.daml.org/2001/03/daml oil-ex#|::|HumanBeing| |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::|subPropertyOf| ?psub ?prop)) (not (holds ?psub ?fr ?x)) (holds ?prop ?fr ?x))
(or (not (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?c)) (not (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?c ?x)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x))
(or (not (|http://www.w3.org/2000/01/rdf-schema#|::domain |http://www.daml.org/2001/03/daml oil#|::|disjointWith| ?c)) (not (|:has-slot| ?x |http://www.daml.org/2001/03/daml oil#|::|disjointWith|)) (|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type ?x ?c))
(|http://www.daml.org/2001/03/daml oil#|::|equivalentTo| ?x |http://www.daml.org/2001/03/daml oil-ex#|::|Person|)
|http://www.daml.org/2001/03/daml oil-ex#|::|HumanBeing|
(|http://www.w3.org/2000/01/rdf-schema#|::|subPropertyOf| |http://www.daml.org/2001/03/daml oil#|::|sameClassAs| |http://www.w3.org/2000/01/rdf-schema#|::|subClassOf|)
(|http://www.w3.org/1999/02/22-rdf-syntax-ns#|::type |http://www.daml.org/2001/03/daml oil-ex#|::|Fred| ?x)
(or (not (|http://www.daml.org/2001/03/daml oil#|::|sameClassAs| ?fr ?x)) (|http://www.w3.org/2000/01/rdf-schema#|::|subClassOf| ?fr ?x))