연결된 객체 한 건 조회(Get Linked Object) (V2)
시작 객체에서 지정한 링크로 연결된 객체를 대상 기본 키로 조회합니다. 두 객체 사이에 해당 링크가 없으면 LinkedObjectNotFound가 발생합니다.
예시는 기본 키 50030인 객체의 directReport 링크에서 기본 키 80060인 객체를 읽습니다. 반환할 속성은 select로 지정하며 기본 키는 항상 반환합니다. 기본 반환 대상에서는 벡터 속성을 제외합니다.
HTTP 요청
GET /api/v2/ontologies/{ontology}/objects/{objectType}/{primaryKey}/links/{linkType}/{linkedObjectPrimaryKey}
작업 식별자는 v2.getLinkedObjectV2입니다. OAuth2로 호출하는 타사 애플리케이션에는 api:ontologies-read 권한 범위가 필요합니다. 각 요청에 Authorization: Bearer <접근 토큰>을 전달합니다.
경로 매개변수
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
ontology | string | 필수 | 온톨로지의 API 이름 또는 RID입니다. List Ontologies 또는 Ontology Manager에서 확인합니다. | palantir |
objectType | string | 필수 | 객체 유형의 API 이름입니다. List Object Types 또는 Ontology Manager에서 확인합니다. | employee |
primaryKey | string | 필수 | 링크를 시작하는 객체의 기본 키입니다. 해당 객체 유형의 키는 Get Object Type 또는 Ontology Manager에서 확인합니다. | 50030 |
linkType | string | 필수 | 시작 객체와 요청한 객체를 연결하는 링크의 API 이름입니다. Ontology Manager에서 확인합니다. | directReport |
linkedObjectPrimaryKey | string | 필수 | 연결 대상 객체의 기본 키입니다. 연결 대상 객체 유형으로 Get Object Type을 조회하거나 Ontology Manager에서 확인합니다. | 80060 |
쿼리 매개변수
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
select | list<SelectedPropertyApiName> | 선택 | 반환할 속성 API 이름 목록입니다. 생략하면 기본 반환 대상 속성을 읽습니다. | |
sdkPackageRid | string | 선택 | 생성된 SDK 패키지의 RID입니다. | |
sdkVersion | string | 선택 | 생성된 SDK의 버전입니다. | |
excludeRid | boolean | 선택 | __rid 속성을 읽지 않도록 합니다. OSv2 객체 유형에서는 성능이 개선될 수 있습니다. | |
branch | string | 선택 | 조회할 Foundry 브랜치입니다. 생략하면 기본 브랜치를 사용합니다. 브랜치는 실험적 기능이며 일부 작업 경로는 지원하지 않습니다. | ri.branch..branch.d827184f-ee0e-4351-8b70-efbe51e07252 |
loadOntologyDefinedDerivedProperties | boolean | 선택 | 온톨로지 정의 파생 속성(OTDP)을 반환할지 지정합니다. 기본값은 true이며 속성을 명시적으로 선택하지 않았을 때만 적용됩니다. 속성을 선택하면 이 플래그와 관계없이 선택한 속성을 반환합니다. 실험적 기능이며 아직 일반 제공 기능이 아닙니다. |
요청 본문
요청 본문을 사용하지 않습니다.
응답
응답 형식은 OntologyObjectV2입니다.
맵의 키는 PropertyApiName(string), 값은 PropertyValue(any)입니다.
키: 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다.
자료형별 JSON 표현은 객체 속성 값을 따릅니다.
연결된 객체의 응답 예시입니다.
{
"__rid": "ri.phonograph2-objects.main.object.74f00352-8f13-4764-89ea-28e13e086136",
"__primaryKey": 80060,
"__apiName": "Employee",
"id": 80060,
"firstName": "Anna",
"lastName": "Smith"
}
개별 오류
오류 응답 처리는 공통 API 오류 계약을 따릅니다.
요청 예제
FOUNDRY_HOST에는 https://를 제외한 Foundry 호스트를, FOUNDRY_TOKEN에는 유효한 토큰을 환경 변수로 제공합니다. 예시 식별자와 매개변수 값은 실제 작업 대상에 맞게 바꿉니다.
온톨로지와 객체 유형의 API 이름, 시작 객체와 연결 대상의 기본 키, 링크 API 이름과 브랜치는 실제 조회 대상에 맞게 바꿉니다. 기본 브랜치를 사용할 때는 branch를 생략합니다.
cURL
curl \
-H "Authorization: Bearer ${FOUNDRY_TOKEN}" \
"https://${FOUNDRY_HOST}/api/v2/ontologies/palantir/objects/employee/50030/links/directReport/80060?branch=ri.branch..branch.d827184f-ee0e-4351-8b70-efbe51e07252"
Python
Requests 라이브러리가 설치된 Python 환경에서 사용합니다.
import os
import requests
HOSTNAME = os.environ["FOUNDRY_HOST"]
TOKEN = os.environ["FOUNDRY_TOKEN"]
headers = {
"authorization": "Bearer {}".format(TOKEN)
}
response = requests.get('https://{}/api/v2/ontologies/palantir/objects/employee/50030/links/directReport/80060?branch=ri.branch..branch.d827184f-ee0e-4351-8b70-efbe51e07252'.format(HOSTNAME), headers=headers)
print(response)
Java
Apache HttpClient 4.5 API와 try-with-resources를 사용합니다. 클래스 이름에 맞는 GetLinkedObjectV2Example.java 파일에서 사용합니다.
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
public class GetLinkedObjectV2Example {
public static void main(String[] args) throws Exception {
String HOSTNAME = System.getenv("FOUNDRY_HOST");
String TOKEN = System.getenv("FOUNDRY_TOKEN");
try (CloseableHttpClient httpClient = HttpClientBuilder.create().build()) {
HttpGet request = new HttpGet("https://" + HOSTNAME + "/api/v2/ontologies/palantir/objects/employee/50030/links/directReport/80060?branch=ri.branch..branch.d827184f-ee0e-4351-8b70-efbe51e07252");
request.addHeader("authorization", String.format("Bearer %s", TOKEN));
try (CloseableHttpResponse response = httpClient.execute(request)) {
System.out.println(response);
}
}
}
}
JavaScript
fetch를 제공하는 Node.js 환경에서 사용합니다. 서비스 사용자 토큰을 브라우저로 전달하지 않습니다.
const HOSTNAME = process.env.FOUNDRY_HOST;
const TOKEN = process.env.FOUNDRY_TOKEN;
fetch(`https://${HOSTNAME}/api/v2/ontologies/palantir/objects/employee/50030/links/directReport/80060?branch=ri.branch..branch.d827184f-ee0e-4351-8b70-efbe51e07252`, {
method: 'GET',
headers: {
'Authorization': `Bearer ${TOKEN}`,
}
}).then((response) => {
console.log(response)
});
PowerShell
$ErrorActionPreference = 'Stop'
$TOKEN = $env:FOUNDRY_TOKEN
$HOSTNAME = $env:FOUNDRY_HOST
$headers = @{
"authorization" = "Bearer $TOKEN"
}
$response = Invoke-WebRequest -Uri "https://$HOSTNAME/api/v2/ontologies/palantir/objects/employee/50030/links/directReport/80060?branch=ri.branch..branch.d827184f-ee0e-4351-8b70-efbe51e07252" `
-Headers $headers
$response.content