> For the complete documentation index, see [llms.txt](https://docs.biobox.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.biobox.io/guide/how-to/ask-biobox-with-claude/tools/find-intermediate-concept.md).

# find\_intermediate\_concept — Find a bridge concept between two concept groups

Find a bridge concept between two concept groups

Find a bridge concept between two concept groups

## What it does

Find connector concept(s) that link two groups of concept types via ontology relationships — the bridge that joins two otherwise-disconnected halves of a query into one BxQL path.

**When to use:** your resolved concepts fall into two groups with no direct relationship (e.g. Gene vs Disease/CellType); you need the intermediate concept + the two relationships to connect them (e.g. DiffExpDataset).

**When NOT to use:** the concepts already connect directly — use get\_concept\_relationships; you want the full ontology — use get\_graph\_schema.

**Parameters:**

* `groupA` — first group of concept dbLabels (e.g. \["Gene"]). Required.
* `groupB` — second group of concept dbLabels (e.g. \["Disease", "CellType"]). Required.
* `limit` — max bridges to return (optional; default 25, max 100).

**Returns:** An object { bridges, count }. Each bridge is { intermediateConceptDbLabel, intermediateConceptLabel, intermediateConceptDefinition, fromRelType, fromRelDefinition, toRelType, toRelDefinition, anchorFrom, anchorTo, fromBridgeIsSource, toBridgeIsSource }: the connector concept plus the relationship linking it to groupA (fromRelType, anchorFrom) and to groupB (toRelType, anchorTo). `fromBridgeIsSource`/`toBridgeIsSource` tell you the direction (true = bridge -> anchor, so BxQL `(bridge)-> rel-> (anchor)`; false = `(anchor)-> rel-> (bridge)`). Use these to orient and join the two path segments at the bridge.

## Parameters

| Parameter | Type   | Required | Description                                                                 |
| --------- | ------ | -------- | --------------------------------------------------------------------------- |
| `groupA`  | array  | yes      | first group of concept dbLabels (e.g. \["Gene"]). Required.                 |
| `groupB`  | array  | yes      | second group of concept dbLabels (e.g. \["Disease", "CellType"]). Required. |
| `limit`   | number | no       | max bridges to return (optional; default 25, max 100).                      |

## Response

```ts
{
  bridges: Array<{
    intermediateConceptDbLabel: string;
    intermediateConceptLabel: string | null;
    intermediateConceptDefinition: string | null;
    fromRelType: string | null;
    fromRelDefinition: string | null;
    toRelType: string | null;
    toRelDefinition: string | null;
    anchorFrom: string;
    anchorTo: string;
    fromBridgeIsSource: boolean;
    toBridgeIsSource: boolean;
  }>;
  count: number;
}
```

## Example

```json
// find_intermediate_concept({"groupA":["Gene"],"groupB":["Disease","CellType"]})
{
  "groupA": [
    "Gene"
  ],
  "groupB": [
    "Disease",
    "CellType"
  ]
}
```

Response (arrays truncated):

```json
{
  "bridges": [
    {
      "intermediateConceptDbLabel": "Drug",
      "intermediateConceptLabel": "Drug",
      "intermediateConceptDefinition": "A chemical or biologic substance, used as a medical therapy, that has a physiological effect on an organism.",
      "fromRelType": "acts on",
      "fromRelDefinition": "Relationship from datapack ot_drugs",
      "toRelType": "has clinical precedence for",
      "toRelDefinition": "Relationship from datapack ot_drugs",
      "anchorFrom": "Gene",
      "anchorTo": "Disease",
      "fromBridgeIsSource": true,
      "toBridgeIsSource": true
    },
    {
      "intermediateConceptDbLabel": "Drug",
      "intermediateConceptLabel": "Drug",
      "intermediateConceptDefinition": "A chemical or biologic substance, used as a medical therapy, that has a physiological effect on an organism.",
      "fromRelType": "acts on",
      "fromRelDefinition": "Relationship from datapack ot_drugs",
      "toRelType": "is approved for",
      "toRelDefinition": "Relationship from datapack ot_drugs",
      "anchorFrom": "Gene",
      "anchorTo": "Disease",
      "fromBridgeIsSource": true,
      "toBridgeIsSource": true
    },
    {
      "intermediateConceptDbLabel": "SafetyLiability",
      "intermediateConceptLabel": "Safety Liability",
      "intermediateConceptDefinition": "Role of the drug target in normal physiology and potential unintended adverse consequences when modulating the target with a chemical compound or drug.",
      "fromRelType": "occurs when increasing",
      "fromRelDefinition": "Relationship from datapack ot_safety_liabilities",
      "toRelType": "manifests",
      "toRelDefinition": "Relationship from datapack ot_safety_liabilities",
      "anchorFrom": "Gene",
      "anchorTo": "Disease",
      "fromBridgeIsSource": true,
      "toBridgeIsSource": true
    },
    "… 22 more"
  ],
  "count": 25
}
```
