注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
制限付きビューを元データソースとするオントロジーリソースとクエリ関数は、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 を設定したら、選択内容を保存を選択して続行します。

オントロジーサイドパネルには、データエンティティと SDK 生成の2つのタブがあります。
データエンティティを選択するには、データエンティティタブに移動します。追加を選択し、目的のデータエンティティの種類を選択すると、データエンティティを参照して選択できるリソース選択ダイアログが開きます。データエンティティを選択したら、サイドパネルの下部にある保存ボタンで選択内容を保存できます。保存を選択すると、選択したデータエンティティにアクセスできる新しい SDK バージョンが生成されます。

オブジェクトタイプに影響を与えるアクションタイプ、またはオブジェクトタイプをパラメーターとして持つアクションタイプを選択すると、それらのオブジェクトタイプも自動的に選択内容に追加されます。選択したオブジェクトタイプの元データソースが Code Workspace のプロジェクトの範囲内にまだインポートされていない場合は、それらのデータソースの自動インポートを確認するダイアログも表示されます。

別のオントロジーからオントロジーリソースをインポートするには、データエンティティタブにあるオントロジーセレクターを使用します。別のオントロジーを選択したら、保存を選択して変更を適用し、新しいバージョンを生成します。選択したオントロジーを変更すると、SDK のデータ範囲がリセットされ、選択済みのオブジェクトタイプ、アクションタイプ、リンクタイプがすべてクリアされます。

設定後は、オントロジーサイドパネルの下部にある新しいバージョンを生成するボタンで、新しいオントロジー SDK バージョンを公開できます。公開済みおよび保留中のバージョンは、SDK 生成タブで確認できます。

新しいバージョンを生成するを選択すると、新しく作成されたバージョンが SDK 生成タブに表示されます。SDK バージョンは、ステータスが「公開済み」と表示されるまで使用できません。
公開に失敗する一般的な理由には、次のものがあります。

正常に公開されたバージョンは、エディター内のコードでインポートして使用できます。まず、オントロジーサイドパネルの SDK 生成タブで、使用するバージョンのカードをクリックします。カードが展開され、エディターの言語に合わせたコードスニペットがいくつか表示されます。スニペットをクリックするとクリップボードに追加され、エディターに貼り付けられます。
表示されるスニペットは、エディターの言語によって異なります。サポートされているすべての言語には、SDK のバージョンをインストールするための「パッケージをインストール」スニペットと、SDK をインポートしてオントロジーを操作するための Foundry クライアントを初期化する「クライアントを初期化」スニペットがあります。

オントロジー SDK が正常に公開されたら、手順に沿って SDK をインストールしてインポートします。次のコマンドを実行できます。
!mamba install -y -q my_sdk_package
次に、以下のコードスニペットで FoundryClient を初期化すると、オントロジー SDK を使用できるようになります。
Copied!1 2from my_sdk_package import FoundryClient client = FoundryClient()
データエンティティタブでインポート済みのオブジェクトタイプまたはリンクタイプを選択すると、そのリソースの使用例を表示できます。以下は、Code Workspaces でオントロジー SDK を最初から最後まで使用する流れを示す、より長く汎用的な例です。
以下の例は、Python を使用してオントロジー SDK を操作する方法を示します。この例では、最後に正常に公開された SDK バージョンに、オブジェクトタイプ「Aircraft」とアクションタイプ「ActionMode」が含まれていることを前提としています。この例の my_sdk_package は、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 27AircraftObject = 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 my_sdk_package.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")
ワークスペースで時系列プロパティにアクセスするには、前述の手順に沿ってオントロジー SDK を作成、公開、インポートします。その後、時系列プロパティにアクセスし、foundryTS ライブラリで操作します。この例では、City オブジェクトの集合から Denver オブジェクトを取得し、その電力価格に時系列としてアクセスする方法を示します。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14from my_sdk_package import FoundryClient from foundryts import TimeSeries client = FoundryClient() city_objects = client.ontology.objects.City denver = city_objects.get("Denver") # これはオブジェクトの主キーです denver_electricity_price_tsp = TimeSeries.from_osdk(denver.electricity_price) # 時系列を foundryts ノードに変換します node = denver_electricity_price_tsp.node() # 時系列を pandas データフレームに変換します df = denver_electricity_price_tsp.to_pandas()
Code Workspaces は、R から Python を呼び出せる reticulate ↗ パッケージを通じて、R でのオントロジー SDK の使用をサポートしています。
この例は、Python のオントロジー SDK バージョンを R にインポートし、オブジェクトタイプを操作する方法を示します。この例では、SDK に「Aircraft」というオブジェクトタイプが含まれていることを前提としています。my_sdk_package は、SDK のパッケージ名に置き換えてください。
Copied!1 2 3 4 5 6 7 8 9 10 11 12library(reticulate) osdk <- import("my_sdk_package") client <- osdk$FoundryClient() aircraft_object = client$ontology$objects$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™ の商標です。
記載されているすべての第三者の商標(ロゴおよびアイコンを含む)は、それぞれの所有者に帰属します。提携関係や推奨を示唆するものではありません。