original_string: private function matchEdge(
          Str $name,
          RelationshipEdge $meta,
          $value,
          Query $query
      ): Query {
          if ($this->variables->contains((string) $name)) {
              return $query;
          }
  
          if ($this->variables->size() > 0) {
              $query = $query->with(...$this->variables->toPrimitive());
          }
  
          $this->variables = $this->variables->add((string) $name);
  
          return $query
              ->match((string) $name)
              ->withProperty(
                  $meta->target(),
                  (string) $name
                      ->prepend('{')
                      ->append('_props}.')
                      ->append($meta->target())
              )
              ->withParameter(
                  (string) $name->append('_props'),
                  [
                      $meta->target() => $value,
                  ]
              );
      }
code: private function matchEdge(
          Str $name,
          RelationshipEdge $meta,
          $value,
          Query $query
      ): Query {
          if ($this->variables->contains((string) $name)) {
              return $query;
          }
  
          if ($this->variables->size() > 0) {
              $query = $query->with(...$this->variables->toPrimitive());
          }
  
          $this->variables = $this->variables->add((string) $name);
  
          return $query
              ->match((string) $name)
              ->withProperty(
                  $meta->target(),
                  (string) $name
                      ->prepend('{')
                      ->append('_props}.')
                      ->append($meta->target())
              )
              ->withParameter(
                  (string) $name->append('_props'),
                  [
                      $meta->target() => $value,
                  ]
              );
      }
code_tokens: private function matchEdge ( Str $ name , RelationshipEdge $ meta , $ value , Query $ query ) : Query { if ( $ this -> variables -> contains ( ( string ) $ name ) ) { return $ query ; } if ( $ this -> variables -> size ( ) > 0 ) { $ query = $ query -> with ( ... $ this -> variables -> toPrimitive ( ) ) ; } $ this -> variables = $ this -> variables -> add ( ( string ) $ name ) ; return $ query -> match ( ( string ) $ name ) -> withProperty ( $ meta -> target ( ) , ( string ) $ name -> prepend ( '{' ) -> append ( '_props}.' ) -> append ( $ meta -> target ( ) ) ) -> withParameter ( ( string ) $ name -> append ( '_props' ) , [ $ meta -> target ( ) => $ value , ] ) ; }
docstring: Add the clause to match the target node in case it's node that is not
  persisted via the current query
  
  @param mixed $value
docstring_tokens: Add the clause to match the target node in case it s node that is not persisted via the current query