注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Code Workspaces におけるオントロジー SDK のサポートはベータ版であり、ユーザーのエンロールメントでは利用できない場合があります。この機能を有効にしたい場合は、Palantir サポートにお問い合わせください。
制限付きビューを利用したオントロジーエンティティ と クエリ関数 は Code Workspaces ではまだサポートされていません。
Code Workspaces は、JupyterLab® および RStudio® 内でオブジェクト、リンク、およびアクションタイプを使用して オントロジー とインタラクションすることをサポートします。
Code Workspaces で新しいオントロジー SDK を作成するには、まず オントロジー サイドパネルに移動します。各 Code Workspace には 1 つの SDK を持つことができ、各 SDK の複数のバージョンを作成できます。オントロジー サイドパネルから 新しい SDK を作成 を選択して、SDK 設定フォームを開きます。
新しいオントロジー SDK にはパッケージ名と関連するオントロジーが必要です。パッケージ名は、SDK がコード内でどのようにアクセスされるかを決定するために使用されます。たとえば、example
というパッケージ名の SDK バージョンは、ライブラリ名 example_sdk
でインポートできます。SDK パッケージ名には文字、数字、およびハイフンのみを含めることができ、ハイフンで終わることはできません。一度公開された SDK パッケージ名は変更できません。
SDK の設定が完了したら、選択を保存 を選択して続行します。
オントロジー サイドパネルには 2 つのタブがあります: データエンティティ と SDK の生成。
データエンティティを選択するには、データエンティティ タブに移動します。追加 を選択し、リソースセレクターダイアログを開いて、データエンティティの閲覧と選択を行います。データエンティティを選択した後、サイドパネルの下部にある 保存 ボタンを使用して選択内容を保存できます。保存 を選択すると、選択されたデータエンティティにアクセスする新しい SDK バージョンが生成されます。
オブジェクトタイプに影響を与えるアクションタイプや、パラメーターとしてオブジェクトタイプを持つアクションタイプを選択すると、それらのオブジェクトタイプも自動的に選択に追加されます。選択されたオブジェクトタイプに、Code Workspace のプロジェクトスコープにまだインポートされていない基となるデータソースがある場合、これらのデータソースの自動インポートを確認するように促されます。
異なるオントロジーからオントロジーエンティティをインポートするには、データエンティティ タブにあるオントロジーセレクターを使用します。異なるオントロジーを選択した後、保存 を選択して変更を適用し、新しいバージョンを生成します。選択されたオントロジーを変更すると、SDK のデータスコープがリセットされ、選択されたオブジェクト、アクション、リンクタイプがクリアされます。
設定が完了したら、オントロジー サイドパネルの下部にある 新しいバージョンを生成 ボタンを使用して新しいオントロジー SDK バージョンを公開できます。公開されたバージョンや保留中のバージョンは、SDK の生成 タブで確認できます。
新しいバージョンを生成 を選択すると、新しく作成されたバージョンが SDK の生成タブ に表示されます。SDK バージョンは、「公開済み」と表示されるまで使用できません。
公開が失敗する一般的な理由には以下が含まれます:
公開に成功したバージョンは、エディター内でインポートして使用できます。まず、オントロジー サイドパネルの SDK の生成 タブで使用したいバージョンのカードをクリックします。これにより、エディターの言語に合わせたコードスニペットがいくつか表示されます。スニペットをクリックすると、クリップボードにコピーされ、エディターに貼り付けることができます。
表示されるスニペットは、エディターの言語によって異なります。すべてのサポートされている言語には、SDK のバージョンをインストールするための「パッケージをインストール」スニペットと、SDK をインポートしてオントロジーと対話するための Foundry クライアントを初期化するための「クライアントを初期化」スニペットがあります。
オントロジー SDK が正常に公開された後、SDK のインストールとインポートの指示に従います。次のコマンドを実行できます:
# mambaパッケージマネージャを使用して{sdk_package_name}をインストールします
# -y: コマンド実行中の質問に自動的に「yes」を答えて進行します
# -q: インストール過程の詳細な出力を抑制します(静かなモード)
!mamba install -y -q {sdk_package_name}
次に、以下のコードスニペットを使用して、FoundryClient を初期化します。これにより、オントロジー SDK の使用を開始できます。
Copied!1 2 3 4 5
from {sdk_package_name} import FoundryClient client = FoundryClient() # FoundryClient クラスを {sdk_package_name} からインポート # FoundryClient のインスタンスを作成
インポートされたオブジェクトやリンクタイプは、Data entities タブで選択することで、その特定のリソースの使用例を表示できます。以下の例は、Code WorkspacesでのOSDKのエンドツーエンドの使用を示す、より長く、一般的な例です。
以下の例は、Pythonを使用してOSDKと対話する方法を示しています。この例では、ユーザーのSDKの最後に正常に公開されたバージョンに「Aircraft」というオブジェクトタイプと「ActionMode」というアクションタイプが含まれていることを前提としています。この例の {sdk_package_name}
は、ユーザーのSDKのパッケージ名に置き換える必要があります。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
AircraftObject = client.ontology.objects.Aircraft # オブジェクトを取得し、プロパティを表示 my_aircraft = AircraftObject.get(1) my_aircraft.date_of_manufacture # オブジェクトの繰り返し処理 for aircraft in AircraftObject.take(2): print(aircraft.current_location) # 集約 AircraftObject.aggregate({"min_id": Aircraft.id.min(), "max_id": Aircraft.id.max(), "aircraft_count": Aircraft.count()}).compute() # フィルター my_a330s = AircraftObject.where((Aircraft.type == "A330") | (Aircraft.id == 160)).take(1) # アクション: 検証と適用 import datetime from {sdk_package_name}.types import ActionMode action_validation = client.ontology.actions.change_manufacture_date({"mode": ActionMode.VALIDATION_ONLY}, aircraft=1, date_of_manufacture="2020-05-01") if action_validation.result == "VALID": client.ontology.actions.change_manufacture_date(aircraft=1, date_of_manufacture="2023-05-26")
以下、コメントの翻訳です:
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
AircraftObject = client.ontology.objects.Aircraft # オブジェクトを取得し、プロパティを表示します my_aircraft = AircraftObject.get(1) my_aircraft.date_of_manufacture # オブジェクトを順番に処理します for aircraft in AircraftObject.take(2): print(aircraft.current_location) # 集約操作を行います AircraftObject.aggregate({"min_id": Aircraft.id.min(), "max_id": Aircraft.id.max(), "aircraft_count": Aircraft.count()}).compute() # 特定の条件でフィルタリングします my_a330s = AircraftObject.where((Aircraft.type == "A330") | (Aircraft.id == 160)).take(1) # アクション: 検証と適用 import datetime from {sdk_package_name}.types import ActionMode # 製造日を変更するアクションを検証モードで実行します action_validation = client.ontology.actions.change_manufacture_date({"mode": ActionMode.VALIDATION_ONLY}, aircraft=1, date_of_manufacture="2020-05-01") # 検証結果が有効なら、製造日を変更します if action_validation.result == "VALID": client.ontology.actions.change_manufacture_date(aircraft=1, date_of_manufacture="2023-05-26")
Code Workspacesは、reticulate ↗パッケージを通じて、RでのOSDKをサポートしています。これにより、RからPythonを呼び出すことが可能になります。
この例では、RにPython OSDKバージョンをインポートし、オブジェクトタイプと対話する方法を示しています。この例では、ユーザーのSDKに"Aircraft"という名前のオブジェクトタイプが含まれていることを前提としています。{sdk_package_name}
はユーザーのSDKのパッケージ名で置き換える必要があります。
Copied!1 2 3 4 5 6 7 8 9 10 11 12
library(reticulate) # reticulateパッケージを読み込む osdk <- import("{sdk_package_name}") # SDKパッケージをインポートする client <- osdk$FoundryClient() # FoundryClientを初期化する aircraft_object = client$ontology$objects$Aircraft # Aircraftオブジェクトを取得する # 1つのオブジェクトを取得する aircraft_object$take(1L) # IDによりオブジェクトを取得する aircraft_object$get("1")
RとPythonはデフォルトの数値タイプが異なるため、Python APIが整数を期待している場合、R内でLサフィックスを使用する必要があります。reticulateの公式ドキュメンテーションで詳しく学びましょう。↗
Jupyter®、JupyterLab®、およびJupyter®のロゴはNumFOCUSの商標または登録商標です。
RStudio®とShiny®はPosit™の商標です。
参照されているすべての第三者の商標(ロゴとアイコンを含む)は、それぞれの所有者の財産のままです。所属関係や推奨を示すものではありません。