# OracleLabsParallelGraphAnalyticsPgxRestApi.PropertyProxiesApi

All URIs are relative to */*

Method | HTTP request | Description
------------- | ------------- | -------------
[**createPropertyProxy**](PropertyProxiesApi.md#createPropertyProxy) | **POST** /core/v1/propertyProxies | Create a property proxy
[**getBottomK**](PropertyProxiesApi.md#getBottomK) | **GET** /core/v1/propertyProxies/x-proxy-id/bottomKValues | Get the bottom K elements from a property proxy
[**getPropertyProxy**](PropertyProxiesApi.md#getPropertyProxy) | **GET** /core/v1/propertyProxies/x-proxy-id | Get a property proxy based on its ID
[**getPropertyValueForKey**](PropertyProxiesApi.md#getPropertyValueForKey) | **GET** /core/v1/propertyProxies/x-proxy-id/values/x-property-key | Get a specific value from of a property proxy
[**getTopK**](PropertyProxiesApi.md#getTopK) | **GET** /core/v1/propertyProxies/x-proxy-id/topKValues | Get the top K elements from a property proxy
[**getValues**](PropertyProxiesApi.md#getValues) | **GET** /core/v1/propertyProxies/x-proxy-id/values | Get values of the property proxy in a paginated way.

<a name="createPropertyProxy"></a>
# **createPropertyProxy**
> PropertyProxyResponse createPropertyProxy(body)

Create a property proxy

The property proxy allows you to access the values of a certain property in a paginated way and also gives you point access.

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

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.PropertyProxiesApi();
let body = new OracleLabsParallelGraphAnalyticsPgxRestApi.CreatePropertyProxyRequest(); // CreatePropertyProxyRequest | Object holding request information to create a property proxy

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

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**CreatePropertyProxyRequest**](CreatePropertyProxyRequest.md)| Object holding request information to create a property proxy | 

### Return type

[**PropertyProxyResponse**](PropertyProxyResponse.md)

### Authorization

No authorization required

### HTTP request headers

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

<a name="getBottomK"></a>
# **getBottomK**
> getBottomK(xProxyId, start, size, k)

Get the bottom K elements from a property proxy

It will be sorted by the value of the property and you can choose how many elements you want.

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

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.PropertyProxiesApi();
let xProxyId = "xProxyId_example"; // String | Specifies the proxy. You can get this through the core endpoint.
let start = 56; // Number | Parameter that specifies an offset for the list of items
let size = 56; // Number | Parameter that specifies the size of the list.
let k = 56; // Number |  Parameter that specifies how many elements you want to get.

apiInstance.getBottomK(xProxyId, start, size, k, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **xProxyId** | **String**| Specifies the proxy. You can get this through the core endpoint. | 
 **start** | **Number**| Parameter that specifies an offset for the list of items | 
 **size** | **Number**| Parameter that specifies the size of the list. | 
 **k** | **Number**|  Parameter that specifies how many elements you want to get. | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

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

<a name="getPropertyProxy"></a>
# **getPropertyProxy**
> PropertyProxyResponse getPropertyProxy(xProxyId)

Get a property proxy based on its ID

The property proxy allows you to access the values of a certain property in a paginated way and also gives you point access.

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

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.PropertyProxiesApi();
let xProxyId = "xProxyId_example"; // String | Specifies the proxy. You can get this through the core endpoint.

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

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **xProxyId** | **String**| Specifies the proxy. You can get this through the core endpoint. | 

### Return type

[**PropertyProxyResponse**](PropertyProxyResponse.md)

### Authorization

No authorization required

### HTTP request headers

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

<a name="getPropertyValueForKey"></a>
# **getPropertyValueForKey**
> PropertyValue getPropertyValueForKey(xProxyId, xPropertyKey, opts)

Get a specific value from of a property proxy

Get a specific value from of a property proxy, based on a key (either node or edge key).

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

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.PropertyProxiesApi();
let xProxyId = "xProxyId_example"; // String | Specifies the proxy. You can get this through the core endpoint.
let xPropertyKey = "xPropertyKey_example"; // String | Serialized object representing the key. This depends on the type of the key, which is determined when the property is created in the core endpoint. The key and value type information is part of the response from the core endpoint.
let opts = { 
  'keyWrapped': true // Boolean | is the key wrapped
};
apiInstance.getPropertyValueForKey(xProxyId, xPropertyKey, opts, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **xProxyId** | **String**| Specifies the proxy. You can get this through the core endpoint. | 
 **xPropertyKey** | **String**| Serialized object representing the key. This depends on the type of the key, which is determined when the property is created in the core endpoint. The key and value type information is part of the response from the core endpoint. | 
 **keyWrapped** | **Boolean**| is the key wrapped | [optional] 

### Return type

[**PropertyValue**](PropertyValue.md)

### Authorization

No authorization required

### HTTP request headers

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

<a name="getTopK"></a>
# **getTopK**
> getTopK(xProxyId, start, size, k)

Get the top K elements from a property proxy

It will be sorted by the value of the property and you can choose how many elements you want.

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

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.PropertyProxiesApi();
let xProxyId = "xProxyId_example"; // String | Specifies the proxy. You can get this through the core endpoint.
let start = 56; // Number | Parameter that specifies an offset for the list of items
let size = 56; // Number | Parameter that specifies the size of the list.
let k = 56; // Number |  Parameter that specifies how many elements you want to get.

apiInstance.getTopK(xProxyId, start, size, k, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **xProxyId** | **String**| Specifies the proxy. You can get this through the core endpoint. | 
 **start** | **Number**| Parameter that specifies an offset for the list of items | 
 **size** | **Number**| Parameter that specifies the size of the list. | 
 **k** | **Number**|  Parameter that specifies how many elements you want to get. | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

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

<a name="getValues"></a>
# **getValues**
> getValues(xProxyId, start, size)

Get values of the property proxy in a paginated way.

By repeatedly specifying the start and the size you want to get, you can iterate over all the elements in this property proxy without having one huge response. This call is idempotent and you have no restrictions on start and size (other than the limits of the property proxy), but by not calling this endpoint in sequential order (e.g. 0-100 in the first request, 101 to 200 in the second request, etc) the server will not be able to guarantee the highest performance since it cannot cache certain objects.

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

let apiInstance = new OracleLabsParallelGraphAnalyticsPgxRestApi.PropertyProxiesApi();
let xProxyId = "xProxyId_example"; // String | Specifies the proxy. You can get this through the core endpoint.
let start = 56; // Number | Parameter that specifies an offset for the list of items
let size = 56; // Number | Parameter that specifies the size of the list.

apiInstance.getValues(xProxyId, start, size, (error, data, response) => {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
});
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **xProxyId** | **String**| Specifies the proxy. You can get this through the core endpoint. | 
 **start** | **Number**| Parameter that specifies an offset for the list of items | 
 **size** | **Number**| Parameter that specifies the size of the list. | 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

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

