Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Answered
Hi There, I Have A Pipeline That Query Data From A Neo4J Database. When I Run It Using

Hi there,

I have a pipeline that query data from a Neo4J database.
When I run it using PipelineDecorator.debug_pipeline() it runs just fine, but when I use PipelineDecorator.run_locally() database does not return any data.

The only thing that I change was PipelineDecorator.debug_pipeline() to PipelineDecorator.run_locally() and it stops to work.

Does anyone have any idea why this is happening?

  
  
Posted one year ago
Votes Newest

Answers 4


Found the issue.
For some reason, all parameters on the main functions are passed as strings.

So I have these parameters:

@PipelineDecorator.pipeline(name='Build Embeddings', project='kgraph', version='1.3') def main(tk_list=[], ngram_size=2): ...
The ngram_size variable is a int when using PipelineDecorator.debug_pipeline() and it is a string when I used PipelineDecorator.run_locally()

I’ve add Python type hints and it fixed the issues:
def main(tk_list:list = [], ngram_size:int = 2):

  
  
Posted one year ago

AgitatedDove14 is that the expect behavior for Pipelines?

  
  
Posted one year ago

Thanks!

  
  
Posted one year ago

Hi IrritableGiraffe81
PipelineDecorator.debug_pipeline() runs everything as regular python functions, but "PipelineDecorator.run_locally()" is actually sumulating all the steps on the same local machine (so that it is easier to debug the "real" pipeline running on multiple machines)
What I think is happening is that the casting of the arguments passed to the component fail.
Basically the type hints are currently ignored (we are working on using them for casting in the next version)
but right now, the casting is done based on default values. This is why you fix worked 🙂

  
  
Posted one year ago
598 Views
4 Answers
one year ago
one year ago
Tags