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());
 }
Пример #3
0
<?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();
Пример #4
0
<?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;
    }
}