Find matching paths from one or more start objects

post/paths

Performs a path search from one or more start objects. The desired path is described by a sequence of vertex and edge filters. Matching paths are returned as a list of endpoints, from the leaf vertex to the root vertex, since clients are typically most interested in the leaves, and the rest of the path provides contextual information. The response item media type is application/vnd.sas.sand.path. This endpoint is experimental and should be used only in test environments.

Request Samples

1

Response Samples

1{
2 "links": [
3 {
4 "method": "POST",
5 "rel": "self",
6 "href": "/svi-sand/paths?start=0&limit=50",
7 "uri": "/svi-sand/paths?start=0&limit=50",
8 "type": "application/vnd.sas.sand.paths.request",
9 "responseType": "application/vnd.sas.collection",
10 "responseItemType": "application/vnd.sas.sand.path"
11 },
12 {
13 "method": "POST",
14 "rel": "collection",
15 "href": "/svi-sand/paths",
16 "uri": "/svi-sand/paths",
17 "type": "application/vnd.sas.sand.paths.request",
18 "responseType": "application/vnd.sas.collection",
19 "responseItemType": "application/vnd.sas.sand.path"
20 }
21 ],
22 "name": "paths",
23 "accept": "application/vnd.sas.sand.path",
24 "start": 0,
25 "count": 1,
26 "items": [
27 {
28 "endpoints": [
29 {
30 "id": "10",
31 "type": "claim",
32 "typeLabel": "Claim",
33 "label": "Claim: 0009900136650",
34 "attachmentsCount": 3,
35 "adjacent": 1,
36 "degree": 1
37 },
38 {
39 "id": "9",
40 "type": "entityRelationship",
41 "label": "regarding",
42 "endpoints": [
43 {
44 "id": "10",
45 "type": "claim"
46 },
47 {
48 "id": "73",
49 "type": "address"
50 }
51 ]
52 },
53 {
54 "id": "73",
55 "type": "address",
56 "typeLabel": "Address",
57 "label": "1203 SAMUEL ADAMS CIR, CONCORD, NC",
58 "attachmentsCount": 1,
59 "adjacent": 3,
60 "degree": 3
61 },
62 {
63 "id": "11",
64 "type": "entityRelationship",
65 "label": "regarding",
66 "endpoints": [
67 {
68 "id": "4",
69 "type": "claim"
70 },
71 {
72 "id": "73",
73 "type": "address"
74 }
75 ]
76 },
77 {
78 "id": "4",
79 "type": "claim",
80 "typeLabel": "Claim",
81 "label": "Claim: 0009900073608",
82 "attachmentsCount": 2,
83 "adjacent": 1,
84 "degree": 1
85 },
86 {
87 "id": "5",
88 "type": "resolvedEntityRelationship",
89 "label": "raised by",
90 "compoundValues": [
91 "Smith 1982-03-14"
92 ],
93 "endpoints": [
94 {
95 "id": "4",
96 "type": "claim"
97 },
98 {
99 "id": "115",
100 "type": "person"
101 }
102 ]
103 },
104 {
105 "id": "115",
106 "type": "person",
107 "typeLabel": "Person",
108 "compoundValues": [
109 "Smith 1982-03-14"
110 ],
111 "label": "John Smith",
112 "adjacent": 4,
113 "degree": 4
114 }
115 ]
116 }
117 ],
118 "limit": 50,
119 "version": 2
120}

Query Parameters

NameTypeRequiredDescription
calculateMetrics
boolean
false

Whether to calculate the degree and adjacent counts for all the vertices. As this calculation is expensive, it can take some time particularly for highly connected vertices. Skipping the calculation is recommended when the counts are not needed or when generating the counts leads to a poor user experience.

Default:
false
edgeExpansionLimit
integer
false

The maximum number of new vertices to be found when traversing edges. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.

Default:
10000
expansionLimit
integer
false

The maximum number of new vertices to be found when searching vertices. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.

Default:
2000
limit
integer
false

The maximum number of paths to include in each page.

Default:
20
metricsAggregationLimit
integer
false

The aggregation used to exclude highly connected vertices from the metrics calculation is skipped when the number of leaf vertices exceeds this limit. The default value of -1 means the aggregation always runs; a value of 0 means the aggregation never runs.

Default:
-1
metricsLimit
integer
false

The maximum number of new vertices to be found by the search when calculating the metrics. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.

Default:
5000
start
integer
false

The index of the first path to include in the current page.

Default:
0

Request Body

The request to /paths when searching for matching paths from one or more start objects. Use the type and id properties to identify a single start object, or use the types and query properties to identify one or more start objects.

NameTypeRequiredDescription
version
integer
false

The representation version (3).

type
string
false

The type of the start object.

id
string
false

The identifier of the start object.

types
array [string]
false

The optional list of type names for the start objects. If missing, all types are searched.

query
query or anyOf
queryTypeAndqueryTypeCompoundqueryTypeObjectqueryTypeOrqueryTypeText
false

The different query types that can be used to search for objects. See specific query definitions for more details.

filter
filter or oneOf
filterTypeAndfilterTypeBoxfilterTypeDateRangefilterTypeNotfilterTypeOrfilterTypePolygonfilterTypeQueryfilterTypeRadiusfilterTypeRangefilterTypeTermsfilterTypeTypefilterTypeShape
false

The different filter types that can be applied to narrow or drill down into the search results. See specific filter definitions for more details.

nextLevel
pathsRequestNextLevel
false

The criteria for the next level of the path search.

Responses

StatusMeaningDescription
200OK

The request succeeded.

Schema
400Bad Request

The request is malformed or contains invalid parameter values; or the search had to be cancelled because the number of new vertices exceeded the expansion limit.

Schema