注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

オブジェクトに対する関数

Python オントロジー SDK を使用して、オントロジーとやり取りする関数を作成できます。

Python オントロジー SDK を生成する

Python オントロジー SDK クライアントを生成するには、リソースのインポートサイドバーに移動し、 追加 > オントロジーを選択します。次に、目的のオントロジーを選択し、関数でやり取りするオブジェクトとリンクを インポートします。保存して選択内容を確定すると、対応するオントロジー SDK がまだ作成されていないことを示すバナーが表示されます。

SDK 生成タブに移動して、オントロジー SDK を生成し、インストールします。

SDK の生成時に cannot import name 'Equipment2' from 'ontology_sdk.ontology.objects' などのインポートエラーが返された場合は、インターフェース下部の青いバーでオントロジーが選択されていることを確認してください。オブジェクトタイプをインポートしても、SDK の生成に必要なオントロジーは選択されません。

新しい SDK を作成する。

オントロジー SDK がまだ生成されていない場合は、生成するパッケージの名前を入力するよう求められます。 最初のバージョンが生成された後は、パッケージ名を変更できません。

新しいバージョンを作成を選択すると、この表示で生成の進行状況を監視できます。

生成中の SDK パッケージ。

生成が完了したら、インストール ボタンで新しく生成されたバージョンをインストールする必要があります。

生成された SDK パッケージをインストールする準備ができています。

これにより、タスクランナーパネルで対話式のインストールが開始されます。 そのタスクが正常に完了すると(Task Runner に BUILD SUCCESSFUL と表示されます)、コードアシストセッションでオントロジー SDK のコード補完が利用可能になります。

meta.yml ファイルも更新され、生成されたパッケージへの参照が追加されます。 インストールヘルパーを使用せずに meta.yml を手動で更新することもできますが、その場合は、変更を反映するためにコードアシストセッションを再ビルドする必要があります。

インストールされた SDK パッケージが meta.yml に含まれています。

サイドバーでリソースを追加でインポートするたびに、それらのリソースを含む新しいバージョンのオントロジー SDK を生成してインストールするよう求められます。 また、インポートしたリソースを変更した場合(たとえば、すでにインポートしたオブジェクトタイプに新しいプロパティを追加した場合)は、変更を反映するために新しいバージョンのオントロジー SDK を生成する必要があります。

生成されたオントロジー SDK には、構造体プロパティ用のクラスも含まれています。構造体プロパティの各クラスは、対応するオブジェクト専用のモジュールからインポートします。

Copied!
1 2 from ontology_sdk.ontology.objects import MyObjectType from ontology_sdk.ontology.objects.my_object_type import MyStructPropertyClass

生成された構造体プロパティクラスの使用例については、構造体プロパティを編集するを参照してください。

例

brand と capacity というプロパティを持つ Aircraft という名前のオブジェクトタイプを例にすると、 Aircraft オブジェクトを受け取り、その概要をまとめる関数を次のように作成できます。

Copied!
1 2 3 4 5 6 from functions.api import function from ontology_sdk.ontology.objects import Aircraft @function def aircraft_input_example(aircraft: Aircraft) -> str: return f"{aircraft.brand} aircraft, holds {aircraft.capacity} passengers"

さらに、特定の定員のしきい値を満たす Aircraft オブジェクトを検索する場合は、次のように 記述できます。

Copied!
1 2 3 4 5 6 7 8 9 from functions.api import function from ontology_sdk import FoundryClient from ontology_sdk.ontology.objects import Aircraft from ontology_sdk.ontology.object_sets import AircraftObjectSet @function def aircraft_search_example() -> AircraftObjectSet: client = FoundryClient() return client.ontology.objects.Aircraft.where(Aircraft.object_type.capacity > 100)

Python オントロジー SDK には、pandas DataFrame との相互運用性などのベータ機能も用意されています。

Copied!
1 2 3 4 5 6 7 from functions.api import function from ontology_sdk.ontology.object_sets import AircraftObjectSet @function def aircraft_dataframe_example(aircrafts: AircraftObjectSet) -> int: df = aircrafts.to_dataframe() return df['capacity'].sum()

詳細については、Python オントロジー SDK のドキュメントを参照してください。