GraphAware\Reco4PHP\Tests\Engine\OverrideDiscoveryEngine::discoveryQuery PHP Method

discoveryQuery() public method

public discoveryQuery ( GraphAware\Common\Type\Node $input, GraphAware\Reco4PHP\Context\Context $context ) : GraphAware\Common\Cypher\StatementInterface
$input GraphAware\Common\Type\Node
$context GraphAware\Reco4PHP\Context\Context
return GraphAware\Common\Cypher\StatementInterface
    public function discoveryQuery(Node $input, Context $context) : StatementInterface
    {
        $query = "MATCH (n) WHERE id(n) <> {input}\n        RETURN n LIMIT {limit}";
        return Statement::create($query, ['input' => $input->identity(), 'limit' => 300]);
    }

Usage Example

 public function testOverride()
 {
     $engine = new OverrideDiscoveryEngine();
     $input = FakeNode::createDummy();
     $this->assertCount(2, $engine->discoveryQuery($input)->parameters());
     $this->assertEquals($input->identity(), $engine->discoveryQuery($input)->parameters()['input']);
     $this->assertEquals("recommendation", $engine->recoResultName());
     $this->assertEquals("rate", $engine->scoreResultName());
     $this->assertEquals("source", $engine->idParamName());
     $this->assertEquals(10, $engine->defaultScore());
 }