code: func (p *pathObject) LabelContext(call goja.FunctionCall) goja.Value {
  	labels, tags, ok := toViaData(exportArgs(call.Arguments))
  	if !ok {
  		return throwErr(p.s.vm, errNoVia)
  	}
  	np := p.clonePath().LabelContextWithTags(tags, labels...)
  	return p.newVal(np)
  }
docs: // LabelContext sets (or removes) the subgraph context to consider in the following traversals.
  // Affects all In(), Out(), and Both() calls that follow it. The default LabelContext is null (all subgraphs).
  // Signature: ([labelPath], [tags])
  //
  // Arguments:
  //
  // * `predicatePath` (Optional): One of:
  //   * null or undefined: In future traversals, consider all edges, regardless of subgraph.
  //   * a string: The name of the subgraph to restrict traversals to.
  //   * a list of strings: A set of subgraphs to restrict traversals to.
  //   * a query path object: The target of which is a set of subgraphs.
  // * `tags` (Optional): One of:
  //   * null or undefined: No tags
  //   * a string: A single tag to add the last traversed label to the output set.
  //   * a list of strings: Multiple tags to use as keys to save the label used to the output set.
  //
  // Example:
  // 	// javascript
  //	// Find the status of people Dani follows
  //	g.V("<dani>").Out("<follows>").Out("<status>").All()
  //	// Find only the statuses provided by the smart_graph
  //	g.V("<dani>").Out("<follows>").LabelContext("<smart_graph>").Out("<status>").All()
  //	// Find all people followed by people with statuses in the smart_graph.
  //	g.V().LabelContext("<smart_graph>").In("<status>").LabelContext(null).In("<follows>").All()