public function testRecoForJohn() { $engine = $this->recoService->getRecommender('find_friends'); $john = $this->getUserNode('John'); $recommendations = $engine->recommend($john, new SimpleContext()); $recommendations->sort(); $this->assertEquals(2, $recommendations->size()); $this->assertNull($recommendations->getItemBy('name', 'John')); $recoForMarc = $recommendations->getItemBy('name', 'marc'); $this->assertEquals(1, $recoForMarc->totalScore()); $recoForBill = $recommendations->getItemBy('name', 'Bill'); $this->assertEquals(2, $recoForBill->totalScore()); }
/** * @param int $id * @return \GraphAware\Reco4PHP\Result\Recommendations */ public function recommendMovieForUserWithId($id) { $input = $this->service->findInputBy('User', 'id', $id); $recommendationEngine = $this->service->getRecommender("user_movie_reco"); return $recommendationEngine->recommend($input, new SimpleContext()); }
<?php require_once __DIR__ . '/vendor/autoload.php'; $rs = \GraphAware\Reco4PHP\RecommenderService::create("http://*****:*****@localhost:7474"); $rs->registerRecommendationEngine(new \GraphAware\Reco4PHP\Tests\Example\ExampleRecommendationEngine()); $input = $rs->findInputBy('User', 'id', 460); $engine = $rs->getRecommender("example"); $recommendations = $engine->recommend($input); echo $recommendations->size();
<?php require_once __DIR__ . '/vendor/autoload.php'; use GraphAware\Reco4PHP\Demo\Github\RecommendationEngine; use GraphAware\Reco4PHP\RecommenderService; $rs = RecommenderService::create("http://localhost:7474"); $rs->registerRecommendationEngine(new RecommendationEngine()); $stopwatch = new \Symfony\Component\Stopwatch\Stopwatch(); $input = $rs->findInputBy('User', 'login', 'jakzal'); $engine = $rs->getRecommender("github_who_to_follow"); $stopwatch->start('reco'); $recommendations = $engine->recommend($input); $e = $stopwatch->stop('reco'); //echo $recommendations->size() . ' found in ' . $e->getDuration() . 'ms' .PHP_EOL; foreach ($recommendations->getItems(10) as $reco) { echo $reco->item()->get('login') . PHP_EOL; echo $reco->totalScore() . PHP_EOL; foreach ($reco->getScores() as $name => $score) { echo "\t" . $name . ':' . $score->score() . PHP_EOL; } }