question

Upvotes
Accepted
1 2 2 2

What are the different ways to query the graph?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

Upvotes
Accepted
1.2k 6 10 8

1. /entity/analyze

POST /entity/analyze/search

searches at the level you specified. So if you have graphs

A -> B -> C

and

A -> X -> Y -> C

level=2 finds A, B, C

but level=3 only finds A, X, Y, C (not `B`)

Searching at a lower level is quicker.

You can specify how many results you want for each level with the rowsPerLevel parameter.

2. /entity/search

As an alternative to analyze/search you can get fast first-level connections with no predicate labels (includePredicates=false, which is the default) using the

GET /entity/search

endpoint. Running it recursively on the result set, would recreate analyze/search functionality.

For entity/search pass the uri in parentUrisDirect. Example:

{instance}/app/api/entity/search?dir=asc&parentUrisDirect=http%3A%2F%2Fpermid.org%2F1-4297988365&includePredicates=true&includeRelDir=false&filterType=and&includeHiddenFields=true

A combination of includePredicates=true|false and includeRelDir=true|false will give you results at varying levels of granularity and speed with:

  • includePredicates=false being the fastest, less informative
  • includePredicates=true&includeRelDir=true being the slowest, most informative

for all entities directly connected to that entity uri passed in parentUrisDirect

start and limit will give you the ability to page through the results if needed, which you can additionally sort on.

3. FAST /entity/analyze with suppressEdgeDetails=true

An alternative approach is to remove edge information from the analyze calls. This generates a sparse network by using the suppressEdgeDetails=true flag on the analyze/search or connect calls. You can use any filtering to pull only specific predicate links to begin with. If needed the predicate information can be populated in the background using a separate dedicated analyze/edge call.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.