scope blank(provider=
"list_non_blanks.ListNonBlanks") {
function list_non_blanks(term item...)
}
template order
(
order,
string nostrils,
string live,
string bill,
string feet,
string eats
)
template family
(
family,
order ? order == order.order,
string size,
string wings,
string neck,
string color,
string flight,
string feed,
string head,
string feet,
string tail,
string bill,
string eats
)
template waterfowl
(
bird,
family ? family.family,
. order ? "waterfowl",
color,
size,
flight,
throat,
voice,
eats,
tail
)
flow list_waterfowl
{
export list<string> species
}
(
cursor<axiom> waterfowl_order = waterfowl(),
{
? fact waterfowl_order,
cursor<string> birds = blank.list_non_blanks(waterfowl_order++),
string text = birds++,
? fact birds,
{ ?? (birds) text += "," + birds++ },
species += text
}
)
query list_waterfowl (list_waterfowl)
query<axiom> waterfowl (bird_order:order, bird_family:family, bird_species:waterfowl)
axiom list bird_order (order, nostrils, live, bill, feet, eats)
{
"waterfowl", ?, ?,
"flat",
"webbed", ?}
{
"tubenose",
"external tubular",
"at sea",
"hooked",
"webbed", ?}
{
"falconiforms", ?, ?,
"sharp hooked",
"curved talons",
"meat"}
{
"passerformes", ?, ?, ?,
"one long backward toe", ?}
axiom list bird_family (family, order, size, wings, neck, color, flight, feed, head, tail, bill, eats)
{
"swan",
"waterfowl", ?, ?,
"long",
"white",
"ponderous", ?, ?, ?, ?, ?}
{
"goose",
"waterfowl",
"plump", ?, ?, ?,
"powerful", ?, ?, ?, ?, ?}
{
"duck",
"waterfowl", ?, ?, ?, ?,
"agile",
"on water surface", ?, ?, ?, ?}
{
"albatross",
"tubenose",
"large",
"long narrow", ?, ?, ?, ?, ?, ?, ?, ?}
{
"procellariidae",
"tubenose", ?,
"long narrow", ?, ?, ?, ?, ?, ?, ?, ?}
{
"vulture",
"falconiforms", ?,
"broad", ?, ?, ?,
"scavange", ?, ?, ?, ?}
{
"falcon",
"falconiforms", ?,
"long pointed", ?, ?, ?, ?,
"large",
"narrow at tip", ?, ?}
{
"flycatcher",
"passerformes", ?, ?, ?, ?, ?, ?, ?, ?,
"flat",
"flying insects"}
{
"swallow",
"passerformes", ?,
"long pointed", ?, ?, ?, ?, ?,
"forked",
"short", ?}
axiom list bird_species (bird, family, color, size, flight, throat, voice, eats, tail)
{
"whistling swan",
"swan", ?, ?, ?, ?,
"muffled musical whistle", ?, ?}
{
"trumpeter swan",
"swan", ?, ?, ?, ?,
"loud trumpeting", ?, ?}
{
"snow goose",
"goose",
"white", ?, ?, ?,
"honks", ?, ?}
{
"pintail",
"duck", ?, ?, ?, ?,
"short whistle", ?, ?}
{
"laysan_albatross",
"albatross",
"white", ?, ?, ?, ?, ?, ?}
{
"black footed albatross",
"albatross",
"dark", ?, ?, ?, ?, ?, ?}
{
"fulmar",
"procellariidae", ?,
"medium",
"flap glide", ?, ?, ?, ?}
{
"turkey vulture",
"vulture", ?, ?,
"v shaped", ?, ?, ?, ?}
{
"california condor",
"vulture", ?, ?,
"flat", ?, ?, ?, ?}
{
"sparrow hawk",
"falcon", ?, ?, ?, ?, ?,
"insects", ?}
{
"peregrine falcon",
"falcon", ?, ?, ?, ?, ?,
"birds", ?}
{
"great crested flycatcher",
"flycatcher", ?, ?, ?, ?, ?, ?,
"long rusty"}
{
"ash throated flycatcher",
"flycatcher", ?, ?, ?,
"white", ?, ?, ?}
{
"barn swallow",
"swallow", ?, ?, ?, ?, ?, ?,
"forked"}
{
"cliff swallow",
"swallow", ?, ?, ?, ?, ?, ?,
"square"}
{
"purple martin",
"swallow",
"dark", ?, ?, ?, ?, ?, ?}