Graph Data Science "Node Similarity" algorithm documentation is partially unclear

In Node Similarity - Neo4j Graph Data Science similarity algorithm documentation there are a lot of config properties in "General configuration for algorithm execution on an anonymous graph" section, that are not well explained.
For example:

  1. "nodeProjection", "relationshipProjection", "nodeQuery", "relationshipQuery", "nodeProperties","relationshipProperties" etc. How to use them? What should those queries(nodeQuery, relationshipQuery) return?? How they work?? Are they for filtering? If yes please could you provide examples using those fields??
  2. "relationshipWeightProperty" configuration property is used in the example in the end, but if we search "relationshipWeightProperty" word on the same page, there is nowhere written about it. It is being clear just logically from the example. Maybe there are other properties that are also acceptable but not written in the documentation???
  3. Also, there is no chapter about the "Similarity algorithms" in the free book of "Graph Algorithms". I mean no one can find info even from that resource.

Let's take the example nodes and relationships are these (as in the example in doc page)
Also, let's also consider "strength" field of relationship. Could someone give an example using all those config properties??

  (alice:Person {name: 'Alice'}),
  (bob:Person {name: 'Bob'}),
  (carol:Person {name: 'Carol'}),
  (dave:Person {name: 'Dave'}),
  (eve:Person {name: 'Eve'}),

  (guitar:Instrument {name: 'Guitar'}),
  (synth:Instrument {name: 'Synthesizer'}),
  (bongos:Instrument {name: 'Bongos'}),
  (trumpet:Instrument {name: 'Trumpet'}),

  (alice)-[:LIKES {strength: 0.5}]->(bongos),

Thanks in advance