$pg->add_fact( owns => ('Ovid', 'Cheap Whiskey'));
####
[0]{2}[1]{3} = {}
[1]{3} = {}
##
##
# object ids are hashes and argument positions are arrays
$self->{_arg_levels}{2}[0]{2}[1]{3};
##
##
$_ = $self->_get_vertex( $_ ) foreach @args;
# @important is a list of argument positions that are
# not null (e.g, undef, empty string, or '_')
my $a = shift @important;
while( my $z = shift @important ) {
return if !$self->_check_path($predicate_id,$a,$z,@args[$a,$z]);
$a = $z;
}
return 1;
##
##
$pg->add_fact( gnarfle => qw/ foo bar baz / );
$pg->add_fact( gnarfle => qw/ foo tac toe / );
$pg->add_fact( gnarfle => qw/ tic tac toe / );
my $results = gnarfle( qw/ $one _ $two / );
# or
my $results = gnarfle( qw/ $one tac $two / );
##
##
foo baz
foo toe
tic toe
##
##
foo toe
tic toe