# OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi

All URIs are relative to */*

Method | HTTP request | Description
------------- | ------------- | -------------
[**addRedactionRule**](GraphsApi.md#addRedactionRule) | **POST** /core/v1/redactions | Add a redaction rule to the graph
[**alterGraph**](GraphsApi.md#alterGraph) | **POST** /core/v1/alterGraph | Alters a graph
[**alterNewGraphSnaphot**](GraphsApi.md#alterNewGraphSnaphot) | **POST** /core/v1/alterGraphSnapshot | Alters a graph as a new snapshot
[**buildGraph**](GraphsApi.md#buildGraph) | **POST** /core/v1/buildGraph | Build a graph
[**buildNewGraphSnaphot**](GraphsApi.md#buildNewGraphSnaphot) | **POST** /core/v1/buildGraphSnapshot | Build a graph snapshot
[**changePinningState**](GraphsApi.md#changePinningState) | **POST** /core/v1/graphs/x-graph-id/pin | Pins a graph or a specific snapshot
[**checkout**](GraphsApi.md#checkout) | **POST** /core/v1/graphs/x-graph-id/snapshots/x-creation-ts/checkout | Checkout a specific Snapshot
[**cloneGraph**](GraphsApi.md#cloneGraph) | **POST** /core/v1/graphs/x-graph-id/clone | Clone a graph
[**combineProperty**](GraphsApi.md#combineProperty) | **POST** /core/v1/graphs/x-graph-id/combineProperties | Combine graph properties
[**createBipartiteSubgraph**](GraphsApi.md#createBipartiteSubgraph) | **POST** /core/v1/graphs/x-graph-id/bipartiteSubgraphs | Create a bipartite subgraph
[**createGraphFromFrames**](GraphsApi.md#createGraphFromFrames) | **POST** /core/v1/createGraphFromFrames | Create a graph from frames
[**createSparsifiedSubgraph**](GraphsApi.md#createSparsifiedSubgraph) | **POST** /core/v1/graphs/x-graph-id/sparsifiedSubgraphs | Create a sparsified subgraph
[**createSubgraphFromFilter**](GraphsApi.md#createSubgraphFromFilter) | **POST** /core/v1/graphs/x-graph-id/fromFilterSubgraphs | Create a subgraph from filter
[**createUndirectedGraph**](GraphsApi.md#createUndirectedGraph) | **POST** /core/v1/graphs/x-graph-id/undirect | Create an undirected graph 
[**deleteGraph**](GraphsApi.md#deleteGraph) | **DELETE** /core/v1/graphs/x-graph-id | Delete a graph
[**describeGraph**](GraphsApi.md#describeGraph) | **POST** /core/v1/describe | Describe a graph
[**exists**](GraphsApi.md#exists) | **GET** /core/v1/graphs/x-graph-id/exists | Check if a node/edge exists
[**getAvailableSnapshot**](GraphsApi.md#getAvailableSnapshot) | **GET** /core/v1/graphs/x-graph-id/snapshots/x-creation-ts | Get a specific Snapshot
[**getAvailableSnapshots**](GraphsApi.md#getAvailableSnapshots) | **POST** /core/v1/lookupSnapshots | List available Snapshots
[**getAvailableSnapshotsByName**](GraphsApi.md#getAvailableSnapshotsByName) | **GET** /core/v1/graphs/x-graph-id/snapshots | List available Snapshots by name
[**getGraphNames**](GraphsApi.md#getGraphNames) | **GET** /core/v1/graphNames/x-namespace-id | List graph names
[**getGraphResult**](GraphsApi.md#getGraphResult) | **GET** /core/v1/graphs/x-graph-id | Get a specific graph result
[**getGraphResultByName**](GraphsApi.md#getGraphResultByName) | **POST** /core/v1/getGraphByName | Get a specific graph result by name
[**getGraphs**](GraphsApi.md#getGraphs) | **GET** /core/v1/graphs | List loaded graphs
[**getPathProxy**](GraphsApi.md#getPathProxy) | **POST** /core/v1/graphs/x-graph-id/computePath | Create an AllPath Proxy
[**getPermission**](GraphsApi.md#getPermission) | **GET** /core/v1/graphs/x-graph-id/currentUserPermission | Get the permission of the current user
[**getRandomEntity**](GraphsApi.md#getRandomEntity) | **GET** /core/v1/graphs/x-graph-id/randomEntity | Get random entity
[**getRedactionRules**](GraphsApi.md#getRedactionRules) | **GET** /core/v1/redactions | Get redaction rules from the graph
[**grantPermission**](GraphsApi.md#grantPermission) | **PUT** /core/v1/graphs/x-graph-id/grantPermission | Grant permission on the graph
[**graphIsFresh**](GraphsApi.md#graphIsFresh) | **GET** /core/v1/graphs/x-graph-id/isFresh | Check whether the graph is fresh
[**graphIsPinned**](GraphsApi.md#graphIsPinned) | **GET** /core/v1/graphs/x-graph-id/isPinned | Check if a graph or snapshot has been pinned.
[**graphIsPublished**](GraphsApi.md#graphIsPublished) | **GET** /core/v1/graphs/x-graph-id/isPublished | Check if a graph has been published.
[**loadGraph**](GraphsApi.md#loadGraph) | **POST** /core/v1/loadGraph | Load a graph
[**publish**](GraphsApi.md#publish) | **POST** /core/v1/graphs/x-graph-id/publish | Publish a graph so it can be shared between sessions
[**refresh**](GraphsApi.md#refresh) | **POST** /core/v1/graphs/x-graph-id/refresh | Checkout the newest Snapshot of a graph
[**removeRedactionRule**](GraphsApi.md#removeRedactionRule) | **POST** /core/v1/redactions-delete | Remove a redaction rule from the graph
[**renameGraph**](GraphsApi.md#renameGraph) | **PUT** /core/v1/graphs/x-graph-id/name | Rename a graph
[**revokePermission**](GraphsApi.md#revokePermission) | **PUT** /core/v1/graphs/x-graph-id/revokePermission | Revoke permissions on the graph
[**simplifyGraph**](GraphsApi.md#simplifyGraph) | **POST** /core/v1/graphs/x-graph-id/simplify | Simplify a graph
[**sortByDegree**](GraphsApi.md#sortByDegree) | **POST** /core/v1/graphs/x-graph-id/sortByDegree | Sort a graph by degree
[**storeGraph**](GraphsApi.md#storeGraph) | **POST** /core/v1/graphs/x-graph-id/store | Store a graph
[**transposeGraph**](GraphsApi.md#transposeGraph) | **POST** /core/v1/graphs/x-graph-id/transpose | Transpose a graph

<a name="addRedactionRule"></a>
# **addRedactionRule**
> addRedactionRule(body, SID, xGraphId)

Add a redaction rule to the graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.AddRedactionRuleRequest(); // AddRedactionRuleRequest | Object which specifies the request for adding a redaction rule to a graph. This includes the rule config, the type and the names be added.
let SID = "SID_example"; // String | sessionId
let xGraphId = "xGraphId_example"; // String | graphId

apiInstance.addRedactionRule(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**AddRedactionRuleRequest**](AddRedactionRuleRequest.md)| Object which specifies the request for adding a redaction rule to a graph. This includes the rule config, the type and the names be added. | 
 **SID** | **String**| sessionId | 
 **xGraphId** | **String**| graphId | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: Not defined

<a name="alterGraph"></a>
# **alterGraph**
> Graph alterGraph(body, SID)

Alters a graph

Alters a graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.AlterGraphRequest(); // AlterGraphRequest | Object which specifies the request for creating the graph
let SID = "SID_example"; // String | session ID

apiInstance.alterGraph(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**AlterGraphRequest**](AlterGraphRequest.md)| Object which specifies the request for creating the graph | 
 **SID** | **String**| session ID | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="alterNewGraphSnaphot"></a>
# **alterNewGraphSnaphot**
> Graph alterNewGraphSnaphot(body, SID)

Alters a graph as a new snapshot

Alters a graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.AlterGraphRequest(); // AlterGraphRequest | Object which specifies the request for creating the graph
let SID = "SID_example"; // String | session ID

apiInstance.alterNewGraphSnaphot(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**AlterGraphRequest**](AlterGraphRequest.md)| Object which specifies the request for creating the graph | 
 **SID** | **String**| session ID | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="buildGraph"></a>
# **buildGraph**
> Graph buildGraph(body, SID)

Build a graph

Builds a graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.BuildGraphRequest(); // BuildGraphRequest | Object which specifies the request for creating the graph
let SID = "SID_example"; // String | session ID

apiInstance.buildGraph(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**BuildGraphRequest**](BuildGraphRequest.md)| Object which specifies the request for creating the graph | 
 **SID** | **String**| session ID | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="buildNewGraphSnaphot"></a>
# **buildNewGraphSnaphot**
> Graph buildNewGraphSnaphot(body, SID)

Build a graph snapshot

Builds a graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.BuildGraphRequest(); // BuildGraphRequest | Object which specifies the request for creating the graph
let SID = "SID_example"; // String | session ID

apiInstance.buildNewGraphSnaphot(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**BuildGraphRequest**](BuildGraphRequest.md)| Object which specifies the request for creating the graph | 
 **SID** | **String**| session ID | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="changePinningState"></a>
# **changePinningState**
> changePinningState(body, SID, xGraphId)

Pins a graph or a specific snapshot

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.PinGraphRequest(); // PinGraphRequest | the body of the request specifies details on how to pin the graph
let SID = "SID_example"; // String | session id
let xGraphId = "xGraphId_example"; // String | id of the graph

apiInstance.changePinningState(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**PinGraphRequest**](PinGraphRequest.md)| the body of the request specifies details on how to pin the graph | 
 **SID** | **String**| session id | 
 **xGraphId** | **String**| id of the graph | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: Not defined

<a name="checkout"></a>
# **checkout**
> Graph checkout(SID, xCreationTs, xGraphId)

Checkout a specific Snapshot

Checkout a specific snapshot. You can call this method to jump back and forth in time between various snapshots of the same graph. 

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let xCreationTs = 789; // Number | creation timestamp identifying the snapshot of the graph to be checked out
let xGraphId = "xGraphId_example"; // String | the name of the graph currently pointing to a different snapshot of the same graph. After this

apiInstance.checkout(SID, xCreationTs, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xCreationTs** | **Number**| creation timestamp identifying the snapshot of the graph to be checked out | 
 **xGraphId** | **String**| the name of the graph currently pointing to a different snapshot of the same graph. After this | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

<a name="cloneGraph"></a>
# **cloneGraph**
> Graph cloneGraph(body, SID, xGraphId)

Clone a graph

Clone a graph which is loaded in memory.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.MutateRequest(); // MutateRequest | Object which holds the information how the graph should be cloned.
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Specifies the source graph.

apiInstance.cloneGraph(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**MutateRequest**](MutateRequest.md)| Object which holds the information how the graph should be cloned. | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Specifies the source graph. | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="combineProperty"></a>
# **combineProperty**
> Property combineProperty(body, SID, xGraphId)

Combine graph properties

Combine same type-scalar properties into a new Vector Property

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.CombinePropertyRequest(); // CombinePropertyRequest | The request body defines the details to the properties combining request.
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | id of the graph property belongs to

apiInstance.combineProperty(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**CombinePropertyRequest**](CombinePropertyRequest.md)| The request body defines the details to the properties combining request. | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| id of the graph property belongs to | 

### Return type

[**Property**](Property.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="createBipartiteSubgraph"></a>
# **createBipartiteSubgraph**
> Graph createBipartiteSubgraph(body, SID, xGraphId)

Create a bipartite subgraph

Create a bipartite subgraph based on a graph and a left set node list.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.CreateBipartiteSubgraphRequest(); // CreateBipartiteSubgraphRequest | Object which holds the information how the subgraph should be created.
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Specifies the source graph.

apiInstance.createBipartiteSubgraph(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**CreateBipartiteSubgraphRequest**](CreateBipartiteSubgraphRequest.md)| Object which holds the information how the subgraph should be created. | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Specifies the source graph. | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="createGraphFromFrames"></a>
# **createGraphFromFrames**
> Graph createGraphFromFrames(body, SID)

Create a graph from frames

Create a session private grpah with the given frames

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphFromFramesRequest(); // GraphFromFramesRequest | Object which holds the information how the graph should be created from the frames
let SID = "SID_example"; // String | session ID

apiInstance.createGraphFromFrames(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**GraphFromFramesRequest**](GraphFromFramesRequest.md)| Object which holds the information how the graph should be created from the frames | 
 **SID** | **String**| session ID | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="createSparsifiedSubgraph"></a>
# **createSparsifiedSubgraph**
> Graph createSparsifiedSubgraph(body, SID, xGraphId)

Create a sparsified subgraph

Create a sparsified subgraph from a source graph.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.CreateSparsifiedSubgraphRequest(); // CreateSparsifiedSubgraphRequest | Object which holds the information how the subgraph should be created.
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Specifies the source graph.

apiInstance.createSparsifiedSubgraph(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**CreateSparsifiedSubgraphRequest**](CreateSparsifiedSubgraphRequest.md)| Object which holds the information how the subgraph should be created. | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Specifies the source graph. | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="createSubgraphFromFilter"></a>
# **createSubgraphFromFilter**
> Graph createSubgraphFromFilter(body, SID, xGraphId)

Create a subgraph from filter

Create a subgraph based on filter expression selecting edges based on a certain predicate.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.CreateSubgraphFromFilterRequest(); // CreateSubgraphFromFilterRequest | Object which holds the information how the subgraph should be created.
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Specifies the source graph.

apiInstance.createSubgraphFromFilter(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**CreateSubgraphFromFilterRequest**](CreateSubgraphFromFilterRequest.md)| Object which holds the information how the subgraph should be created. | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Specifies the source graph. | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="createUndirectedGraph"></a>
# **createUndirectedGraph**
> Graph createUndirectedGraph(body, SID, xGraphId)

Create an undirected graph 

Create an undirected graph (session private) which represents the undirected version of the input graph.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.MutateGraphRequest(); // MutateGraphRequest | Object which holds the information how the graph should be undirected and how the new graph should be named.
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Specifies the source graph which should be undirected

apiInstance.createUndirectedGraph(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**MutateGraphRequest**](MutateGraphRequest.md)| Object which holds the information how the graph should be undirected and how the new graph should be named. | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Specifies the source graph which should be undirected | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="deleteGraph"></a>
# **deleteGraph**
> deleteGraph(SID, xGraphId, opts)

Delete a graph

Deletes a specific loaded graph in current session

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | the name of the graph whose result should be deleted
let opts = { 
  'ignoreNotFound': false, // Boolean | 
  'retention': "DESTROY_IF_NOT_USED", // String | determines if we should destroy the graph or just remove the pointer
  'csrfToken': "csrfToken_example" // String | CSRF token
};
apiInstance.deleteGraph(SID, xGraphId, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| the name of the graph whose result should be deleted | 
 **ignoreNotFound** | **Boolean**|  | [optional] [default to false]
 **retention** | **String**| determines if we should destroy the graph or just remove the pointer | [optional] [default to DESTROY_IF_NOT_USED]
 **csrfToken** | **String**| CSRF token | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="describeGraph"></a>
# **describeGraph**
> GraphConfig describeGraph(body, SID)

Describe a graph

The PGX server will create a configuration for the graph from the location you specified, which is part of the DescribeGraphRequest json payload.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.DescribeGraphRequest(); // DescribeGraphRequest | specifies the location of the graph
let SID = "SID_example"; // String | session ID

apiInstance.describeGraph(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**DescribeGraphRequest**](DescribeGraphRequest.md)| specifies the location of the graph | 
 **SID** | **String**| session ID | 

### Return type

[**GraphConfig**](GraphConfig.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="exists"></a>
# **exists**
> exists(SID, xGraphId, entityType, idType, key)

Check if a node/edge exists

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Id of the graph.
let entityType = "entityType_example"; // String | the entity type (EDGE/VERTEX) (please respect the case)
let idType = "idType_example"; // String | the Id type for the entity we are looking for (please respect the case)
let key = "key_example"; // String | String key of the entity

apiInstance.exists(SID, xGraphId, entityType, idType, key, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Id of the graph. | 
 **entityType** | **String**| the entity type (EDGE/VERTEX) (please respect the case) | 
 **idType** | **String**| the Id type for the entity we are looking for (please respect the case) | 
 **key** | **String**| String key of the entity | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="getAvailableSnapshot"></a>
# **getAvailableSnapshot**
> GraphMetaData getAvailableSnapshot(SID, xGraphId, xCreationTs)

Get a specific Snapshot

Get a specific snapshot. You can call the checkout method to jump back and forth in time between various snapshots of the same graph. 

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | the name of the graph currently pointing to a different snapshot of the same graph. After this
let xCreationTs = 789; // Number | creation timestamp identifying the snapshot of the graph to be checked out

apiInstance.getAvailableSnapshot(SID, xGraphId, xCreationTs, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| the name of the graph currently pointing to a different snapshot of the same graph. After this | 
 **xCreationTs** | **Number**| creation timestamp identifying the snapshot of the graph to be checked out | 

### Return type

[**GraphMetaData**](GraphMetaData.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

<a name="getAvailableSnapshots"></a>
# **getAvailableSnapshots**
> [GraphMetaData] getAvailableSnapshots(body, SID)

List available Snapshots

Get a list of available in-memory snapshots of a graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphConfigRequest(); // GraphConfigRequest | object holding the graph config
let SID = "SID_example"; // String | session ID

apiInstance.getAvailableSnapshots(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**GraphConfigRequest**](GraphConfigRequest.md)| object holding the graph config | 
 **SID** | **String**| session ID | 

### Return type

[**[GraphMetaData]**](GraphMetaData.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: */*
 - **Accept**: application/json

<a name="getAvailableSnapshotsByName"></a>
# **getAvailableSnapshotsByName**
> [GraphMetaData] getAvailableSnapshotsByName(SID, xGraphId)

List available Snapshots by name

Get a list of available in-memory snapshots from the graph name

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | the name of the graph to get the snapshots of

apiInstance.getAvailableSnapshotsByName(SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| the name of the graph to get the snapshots of | 

### Return type

[**[GraphMetaData]**](GraphMetaData.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

<a name="getGraphNames"></a>
# **getGraphNames**
> [Graph] getGraphNames(SID, opts)

List graph names

Gets a list of graph names in the given namespaceId

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let opts = { 
  'xNamespaceId': "xNamespaceId_example" // String | 
};
apiInstance.getGraphNames(SID, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xNamespaceId** | **String**|  | [optional] 

### Return type

[**[Graph]**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

<a name="getGraphResult"></a>
# **getGraphResult**
> Graph getGraphResult(SID, xGraphId)

Get a specific graph result

Gets a specific loaded graph in current session

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | the name of the graph whose result should be fetched

apiInstance.getGraphResult(SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| the name of the graph whose result should be fetched | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

<a name="getGraphResultByName"></a>
# **getGraphResultByName**
> Graph getGraphResultByName(body, SID)

Get a specific graph result by name

Gets a specific loaded graph in current session by name

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.GetGraphByNameRequest(); // GetGraphByNameRequest | the information to get the graph from
let SID = "SID_example"; // String | session ID

apiInstance.getGraphResultByName(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**GetGraphByNameRequest**](GetGraphByNameRequest.md)| the information to get the graph from | 
 **SID** | **String**| session ID | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: */*
 - **Accept**: application/json

<a name="getGraphs"></a>
# **getGraphs**
> [Graph] getGraphs(SID)

List loaded graphs

Gets a list of loaded graphs in current session

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID

apiInstance.getGraphs(SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 

### Return type

[**[Graph]**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

<a name="getPathProxy"></a>
# **getPathProxy**
> SerializedPathProxy getPathProxy(SID, xGraphId)

Create an AllPath Proxy

Create an AllPath Proxy. The path proxy gives access to a path, which can be a result of an algorithm for example.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | the id of the graph

apiInstance.getPathProxy(SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| the id of the graph | 

### Return type

[**SerializedPathProxy**](SerializedPathProxy.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

<a name="getPermission"></a>
# **getPermission**
> getPermission(SID, xGraphId)

Get the permission of the current user

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session id
let xGraphId = "xGraphId_example"; // String | id of the graph

apiInstance.getPermission(SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session id | 
 **xGraphId** | **String**| id of the graph | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="getRandomEntity"></a>
# **getRandomEntity**
> Edge getRandomEntity(SID, xGraphId, entityType)

Get random entity

Get a random entity (vertex or edge) key of a graph.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | the id of the graph
let entityType = "entityType_example"; // String | the entity type (EDGE/VERTEX) (please respect the case)

apiInstance.getRandomEntity(SID, xGraphId, entityType, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| the id of the graph | 
 **entityType** | **String**| the entity type (EDGE/VERTEX) (please respect the case) | 

### Return type

[**Edge**](Edge.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json

<a name="getRedactionRules"></a>
# **getRedactionRules**
> getRedactionRules(SID, xGraphId, opts)

Get redaction rules from the graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | sessionId
let xGraphId = "xGraphId_example"; // String | graphId
let opts = { 
  'type': "type_example", // String | 
  'name': "name_example" // String | 
};
apiInstance.getRedactionRules(SID, xGraphId, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| sessionId | 
 **xGraphId** | **String**| graphId | 
 **type** | **String**|  | [optional] 
 **name** | **String**|  | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="grantPermission"></a>
# **grantPermission**
> grantPermission(SID, xGraphId, opts)

Grant permission on the graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session id
let xGraphId = "xGraphId_example"; // String | id of the graph
let opts = { 
  'body': new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphPermissionRequest() // GraphPermissionRequest | The request body contains details on how to grant the permission
};
apiInstance.grantPermission(SID, xGraphId, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session id | 
 **xGraphId** | **String**| id of the graph | 
 **body** | [**GraphPermissionRequest**](GraphPermissionRequest.md)| The request body contains details on how to grant the permission | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: Not defined

<a name="graphIsFresh"></a>
# **graphIsFresh**
> graphIsFresh(SID, opts)

Check whether the graph is fresh

Check whether the graph is fresh (no changes on the source of the graph since we have loaded the graph into memory)

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session ID
let opts = { 
  'xGraphId': "xGraphId_example" // String | 
};
apiInstance.graphIsFresh(SID, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session ID | 
 **xGraphId** | **String**|  | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="graphIsPinned"></a>
# **graphIsPinned**
> graphIsPinned(SID, xGraphId, opts)

Check if a graph or snapshot has been pinned.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session id
let xGraphId = "xGraphId_example"; // String | id of the graph
let opts = { 
  'pinTarget': "pinTarget_example" // String | what entity to check whether its been pinned
};
apiInstance.graphIsPinned(SID, xGraphId, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session id | 
 **xGraphId** | **String**| id of the graph | 
 **pinTarget** | **String**| what entity to check whether its been pinned | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="graphIsPublished"></a>
# **graphIsPublished**
> graphIsPublished(SID, xGraphId, opts)

Check if a graph has been published.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session id
let xGraphId = "xGraphId_example"; // String | Id of the graph
let opts = { 
  'withSnapshots': true // Boolean | The body of the request specifies whether to request if snapshots also are published
};
apiInstance.graphIsPublished(SID, xGraphId, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session id | 
 **xGraphId** | **String**| Id of the graph | 
 **withSnapshots** | **Boolean**| The body of the request specifies whether to request if snapshots also are published | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="loadGraph"></a>
# **loadGraph**
> Graph loadGraph(body, SID)

Load a graph

Loads a graph in current session

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.CreateGraphRequest(); // CreateGraphRequest | The request body defines the details to the graph loading request.
let SID = "SID_example"; // String | session ID

apiInstance.loadGraph(body, SID, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**CreateGraphRequest**](CreateGraphRequest.md)| The request body defines the details to the graph loading request. | 
 **SID** | **String**| session ID | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="publish"></a>
# **publish**
> publish(body, SID, xGraphId)

Publish a graph so it can be shared between sessions

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.PublishGraphRequest(); // PublishGraphRequest | The body of the request specifies details on how to publish the graph
let SID = "SID_example"; // String | session id
let xGraphId = "xGraphId_example"; // String | Id of the graph

apiInstance.publish(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**PublishGraphRequest**](PublishGraphRequest.md)| The body of the request specifies details on how to publish the graph | 
 **SID** | **String**| session id | 
 **xGraphId** | **String**| Id of the graph | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: Not defined

<a name="refresh"></a>
# **refresh**
> Graph refresh(body, SID, xGraphId)

Checkout the newest Snapshot of a graph

his method compares the latest snapshot available in memory of the given graph against the version at the data source. If the latest snapshot is fresh, the given graph name will point to the latest snapshot once this method completes. If the latest snapshot is fresh and the given graph does already point to the latest snapshot, this method is doing nothing. If the latest snapshot is *not* fresh, a new snapshot will be loaded into memory and the given graph name will point to that new snapshot once this method completes.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.RefreshGraphRequest(); // RefreshGraphRequest | in case latest snapshot is not fresh and {@link PgxConfig#getMaxSnapshotCount()} is reached,completion of this request is blocked until a free spot becomes available again rather than throwing an exception
let SID = "SID_example"; // String | Session ID
let xGraphId = "xGraphId_example"; // String | Specifies the graph which should be refreshed. Must be a valid graph name in this session.

apiInstance.refresh(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**RefreshGraphRequest**](RefreshGraphRequest.md)| in case latest snapshot is not fresh and {@link PgxConfig#getMaxSnapshotCount()} is reached,completion of this request is blocked until a free spot becomes available again rather than throwing an exception | 
 **SID** | **String**| Session ID | 
 **xGraphId** | **String**| Specifies the graph which should be refreshed. Must be a valid graph name in this session. | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: */*
 - **Accept**: application/json

<a name="removeRedactionRule"></a>
# **removeRedactionRule**
> removeRedactionRule(body, SID, xGraphId)

Remove a redaction rule from the graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.RemoveRedactionRuleRequest(); // RemoveRedactionRuleRequest | Object which specifies the request for removing a redaction rule to a graph. This includes the rule config, the type and the names be added.
let SID = "SID_example"; // String | sessionId
let xGraphId = "xGraphId_example"; // String | graphId

apiInstance.removeRedactionRule(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**RemoveRedactionRuleRequest**](RemoveRedactionRuleRequest.md)| Object which specifies the request for removing a redaction rule to a graph. This includes the rule config, the type and the names be added. | 
 **SID** | **String**| sessionId | 
 **xGraphId** | **String**| graphId | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: Not defined

<a name="renameGraph"></a>
# **renameGraph**
> renameGraph(SID, xGraphId, opts)

Rename a graph

The new graph name needs to be unique for the PGX instance

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session id
let xGraphId = "xGraphId_example"; // String | Name of the graph
let opts = { 
  'body': new OracleLabsParallelGraphAnalyticsPgxRestApi.RenameGraphRequest() // RenameGraphRequest | The request body contains details on how the graph should be renamed
};
apiInstance.renameGraph(SID, xGraphId, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session id | 
 **xGraphId** | **String**| Name of the graph | 
 **body** | [**RenameGraphRequest**](RenameGraphRequest.md)| The request body contains details on how the graph should be renamed | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: Not defined

<a name="revokePermission"></a>
# **revokePermission**
> revokePermission(SID, xGraphId, opts)

Revoke permissions on the graph

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let SID = "SID_example"; // String | session id
let xGraphId = "xGraphId_example"; // String | id of the graph
let opts = { 
  'body': new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphPermissionRequest() // GraphPermissionRequest | The request body contains details on how to revoke the permission
};
apiInstance.revokePermission(SID, xGraphId, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **SID** | **String**| session id | 
 **xGraphId** | **String**| id of the graph | 
 **body** | [**GraphPermissionRequest**](GraphPermissionRequest.md)| The request body contains details on how to revoke the permission | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: Not defined

<a name="simplifyGraph"></a>
# **simplifyGraph**
> Graph simplifyGraph(body, SID, xGraphId)

Simplify a graph

This creates a simplified version of the graph (session private).

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.MutateGraphRequest(); // MutateGraphRequest | Object which holds the information how the graph should be simplified and how the new graph should be named
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Specifies the source graph which should be undirected

apiInstance.simplifyGraph(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**MutateGraphRequest**](MutateGraphRequest.md)| Object which holds the information how the graph should be simplified and how the new graph should be named | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Specifies the source graph which should be undirected | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="sortByDegree"></a>
# **sortByDegree**
> Graph sortByDegree(body, SID, xGraphId)

Sort a graph by degree

This will create a new graph which node keys are sorted by degree of the node.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.SortByDegreeRequest(); // SortByDegreeRequest | Object which specifies how the graph should be sorted.
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Id of the graph to be sorted.

apiInstance.sortByDegree(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**SortByDegreeRequest**](SortByDegreeRequest.md)| Object which specifies how the graph should be sorted. | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Id of the graph to be sorted. | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

<a name="storeGraph"></a>
# **storeGraph**
> storeGraph(body, SID, opts)

Store a graph

The PGX server will store the graph to a location specified in the StoreGraphRequest json payload. The server needs to have access to the resource where you want to store the graph to.

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.StoreGraphRequest(); // StoreGraphRequest | object that holds information on where to store the graph
let SID = "SID_example"; // String | session ID
let opts = { 
  'xGraphId': "xGraphId_example" // String | 
};
apiInstance.storeGraph(body, SID, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**StoreGraphRequest**](StoreGraphRequest.md)| object that holds information on where to store the graph | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**|  | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: Not defined

<a name="transposeGraph"></a>
# **transposeGraph**
> Graph transposeGraph(body, SID, xGraphId)

Transpose a graph

This creates a transposed version of the graph (session private).

### Example
```javascript
import {OracleLabsParallelGraphAnalyticsPgxRestApi} from 'oracle_labs_parallel_graph_analytics__pgx_rest_api';

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.GraphsApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.MutateGraphRequest(); // MutateGraphRequest | Object which holds the information how the graph should be transposed and how the new graph should be named
let SID = "SID_example"; // String | session ID
let xGraphId = "xGraphId_example"; // String | Specifies the source graph which should be transposed

apiInstance.transposeGraph(body, SID, xGraphId, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**MutateGraphRequest**](MutateGraphRequest.md)| Object which holds the information how the graph should be transposed and how the new graph should be named | 
 **SID** | **String**| session ID | 
 **xGraphId** | **String**| Specifies the source graph which should be transposed | 

### Return type

[**Graph**](Graph.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

