ExtendedEntityClass[class,"name"f]
表示通过对 class 添加一个新算出的属性 "name" 获得的实体类别,通过应用实体函数 f 获取每个实体的值.
ExtendedEntityClass[class,{"name1"f1,"name2"f2,…}]
添加由函数 fi 定义的属性 namei.
ExtendedEntityClass
ExtendedEntityClass[class,"name"f]
表示通过对 class 添加一个新算出的属性 "name" 获得的实体类别,通过应用实体函数 f 获取每个实体的值.
ExtendedEntityClass[class,{"name1"f1,"name2"f2,…}]
添加由函数 fi 定义的属性 namei.
更多信息
- 在 ExtendedEntityClass[class,"name"->f] 中,函数 f 必须是一个 EntityFunction 对象.
- ExtendedEntityClass 适用于任何 EntityStore 对象,无论是明确定义的或基于 RelationalDatabase 对象.
- ExtendedEntityClass[class,"new"->f] 实际上表示一个从 class 导出的虚拟数据库表,添加了一个新的名为 new 的列,每个实体 entityi 的值为 f[entityi].
- 对于扩展实体类别 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[EntityClass["Country", "G8"], "AdultFraction" -> EntityFunction[c, c["AdultPopulation"] / c["Population"]]]["AdultFraction"]ExtendedEntityClass[EntityClass["Element", "Metal"], "AtomicWeight" -> EntityProperty["Element", "AtomicMass"]]["AtomicWeight"]与关系数据库支持的实体一起使用时,ExtendedEntityClass 相当于在 SELECT 语句中添加了一个表达式:
EntityRegister[EntityStore[RelationalDatabase[FindFile["ExampleData/ecommerce-database.sqlite"]]]]ExtendedEntityClass["employees", "fullName" -> EntityFunction[x, x["firstName"] <> " " <> x["lastName"]]]["fullName"]范围 (1)
ExtendedEntityClass[EntityClass["Language", "EuropeanUnionLanguages"], {"WikipediArticlesPerCapita" -> EntityFunction[l, l[EntityProperty["Language", "WikipediaArticleCount"]] / l[EntityProperty["Language", "TotalSpeakers"]]], "YesNo" -> EntityFunction[l, Lookup[l[EntityProperty["Language", "BasicCommunicationWords"]], {Entity["Word", "yes"], Entity["Word", "no"]}]]}][{"WikipediArticlesPerCapita", "YesNo"}]应用 (1)
ExtendedEntityClass 可用来避免重复编写代码:
SortedEntityClass[
"Planet",
EntityFunction[e, e[EntityProperty["Planet", "Diameter"]] / e[EntityProperty["Planet", "DistanceFromSun"]]]
][
EntityFunction[e, e[EntityProperty["Planet", "Diameter"]] / e[EntityProperty["Planet", "DistanceFromSun"]]]
]SortedEntityClass[
ExtendedEntityClass[
"Planet",
"ratio" -> EntityFunction[e, e[EntityProperty["Planet", "Diameter"]] / e[EntityProperty["Planet", "DistanceFromSun"]]]
],
"ratio"
]["ratio"]可能存在的问题 (1)
巧妙范例 (1)
ExtendedEntityClass[EntityClass["Language", "EuropeanUnionLanguages"], "FlagColors" -> EntityFunction[l, Nearest[Normal@KeySelect[ColorQ]@KeyMap[Interpreter["StructuredColor"] @* CanonicalName, l[EntityProperty["Language", "ColorNames"]]], DominantColors[l[EntityProperty["Language", "LargestCountry"]][EntityProperty["Country", "Flag"]]]][[All, 1, 1, "Translation"]]]]["FlagColors", "EntityAssociation"]技术笔记
相关指南
-
▪
- 使用关系数据库中的信息 ▪
- 知识表示和访问 ▪
- 实体类型
文本
Wolfram Research (2019),ExtendedEntityClass,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ExtendedEntityClass.html.
CMS
Wolfram 语言. 2019. "ExtendedEntityClass." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ExtendedEntityClass.html.
APA
Wolfram 语言. (2019). ExtendedEntityClass. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ExtendedEntityClass.html 年
BibTeX
@misc{reference.wolfram_2026_extendedentityclass, author="Wolfram Research", title="{ExtendedEntityClass}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/ExtendedEntityClass.html}", note=[Accessed: 16-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_extendedentityclass, organization={Wolfram Research}, title={ExtendedEntityClass}, year={2019}, url={https://reference.wolfram.com/language/ref/ExtendedEntityClass.html}, note=[Accessed: 16-September-2026]}