item() 공개 메소드

public item ( ) : GraphAware\Common\Type\Node
리턴 GraphAware\Common\Type\Node
예제 #1
0
 public function remove(Recommendation $recommendation)
 {
     if (!array_key_exists($recommendation->item()->identity(), $this->recommendations)) {
         return;
     }
     unset($this->recommendations[$recommendation->item()->identity()]);
 }
 public function prepareQuery(NodeInterface $input, Recommendation $recommendation, CypherAwarePostProcessor $postProcessor)
 {
     $query = 'MATCH (input), (reco) WHERE id(input) = {idInput} AND id(reco) = {idReco}' . PHP_EOL;
     $query .= $postProcessor->query();
     $parameters = ['idInput' => $input->identity(), 'idReco' => $recommendation->item()->identity()];
     $tag = sprintf('post_process_%s_%d', $postProcessor->name(), $recommendation->item()->identity());
     $this->stack->push($query, $parameters, $tag);
 }
예제 #3
0
 public final function buildQuery(NodeInterface $input, Recommendation $recommendation)
 {
     $relationshipPatterns = [Direction::BOTH => array('-[:%s]-', '-[:%s]-'), Direction::INCOMING => array('<-[:%s]-', '-[:%s]->'), Direction::OUTGOING => array('-[:%s]->', '<-[:%s]-')];
     $relPattern = sprintf($relationshipPatterns[$this->relationshipDirection()][0], $this->relationshipType());
     $inversedRelPattern = sprintf($relationshipPatterns[$this->relationshipDirection()][1], $this->relationshipType());
     $query = 'MATCH (input) WHERE id(input) = {inputId}, (item) WHERE id(item) = {itemId}
     MATCH (input)' . $relPattern . '(shared)' . $inversedRelPattern . '(item)
     RETURN shared as sharedThing';
     return Statement::create($query, ['inputId' => $input->identity(), 'itemId' => $recommendation->item()->identity()]);
 }
예제 #4
0
 public function buildQuery(NodeInterface $input, Recommendation $recommendation)
 {
     $query = 'MATCH (item) WHERE id(item) = {itemId}
     RETURN size((item)<-[:RATED]-()) as ratings';
     return Statement::create($query, ['itemId' => $recommendation->item()->identity()]);
 }