ExtendedEntityClass

ExtendedEntityClass[class,"name"f]

新たに計算された,各実体についての値が実体関数 f を適用することで得られる,特性"name"を加えることで class から派生した実体クラスを表す.

ExtendedEntityClass[class,{"name1"f1,"name2"f2,}]

関数 fiによって定義された特性 nameiを加える.

詳細

  • ExtendedEntityClass[class,"name"->f]の関数 fEntityFunctionオブジェクトでなければならない.
  • ExtendedEntityClassは,それが明示的に定義されたものであれRelationalDatabaseオブジェクトに基づくものであれ,任意のEntityStoreオブジェクトと一緒に使うことができる.
  • ExtendedEntityClass[class,"new"->f]は,事実上,各実体 entityiの値 f[entityi]を持つ new という名前の新たな列が加えられた,class から派生した仮想データベースの表を表す.
  • 拡張実体クラスExtendedEntityClass[class,"new"->f]では,加えられた新たな特性の完全名はEntityProperty[ExtendedEntityClass[class,"new"f],"new"]である.
  • ExtendedEntityClass[class,"new"->f]は,たとえ class にすでに"new"という名前のクラスがあっても,新たに計算された特性を加える.しかし,この場合は,新たに計算された特性は完全名EntityProperty[ExtendedEntityClass[class,"new"f],"new"]を使って参照しなければならない.
  • 新たな特性の名前が既存の任意の特性名と衝突しないなら,EntityValue[class,"new"]を使って新たな特性の値を得ることができる.

例題

すべて開くすべて閉じる

  (3)

ExtendedEntityClassを使って実体クラスに計算された特性を加える:

特性のエイリアスを加える:

ExtendedEntityClassは,リレーショナルデータベースがバックエンドの実体と一緒に使うと,SELECT文に式を追加するのと同じ働きをする:

スコープ  (1)

複数の特性を同時に加える:

アプリケーション  (1)

ExtendedEntityClassを使ってコードの繰り返しを避けることができる:

これは,以下のように書き直すことができる:

考えられる問題  (1)

SQLがバックエンドにある実体を扱う場合は,非スカラー値で実体を拡張することはできない:

おもしろい例題  (1)

カラフルな旗:

Wolfram Research (2019), ExtendedEntityClass, Wolfram言語関数, https://reference.wolfram.com/language/ref/ExtendedEntityClass.html.

テキスト

Wolfram Research (2019), ExtendedEntityClass, Wolfram言語関数, https://reference.wolfram.com/language/ref/ExtendedEntityClass.html.

CMS

Wolfram Language. 2019. "ExtendedEntityClass." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ExtendedEntityClass.html.

APA

Wolfram Language. (2019). ExtendedEntityClass. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ExtendedEntityClass.html

BibTeX

@misc{reference.wolfram_2024_extendedentityclass, author="Wolfram Research", title="{ExtendedEntityClass}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/ExtendedEntityClass.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_extendedentityclass, organization={Wolfram Research}, title={ExtendedEntityClass}, year={2019}, url={https://reference.wolfram.com/language/ref/ExtendedEntityClass.html}, note=[Accessed: 22-November-2024 ]}