概览
除了获取实体 MID、相关性得分和有助于人类理解查询匹配结果的显示数据之外,还可以通过输出参数请求在结果中返回特定的实体结构化数据。与过滤条件参数类似,此参数是一个 S 表达式,其中包含可能嵌套的元架构谓词列表或要提取的数据的路径。结果的格式是一个双层嵌套的结果列表,其中第一层以所请求的原始谓词或路径为键,第二层以实际返回的路径为键。
例如:
查找名为“Blade Runner”的实体并返回其贡献者:
filter=(all name{phrase}:"Blade Runner") &output=(contributor)
架构输出
输出参数可以嵌套,以请求有关实体的数据,这些实体的数据在上一级返回。在嵌套的输出列表中,第一个元素用于将其与上一级(或原始匹配的实体)相关联,其他元素则与该级别返回的实体有关。
例如:
查找美国总统并返回其出生日期以及配偶的出生日期:
filter=(all type:/government/us_president) &output=(/people/person/date_of_birth (/people/marriage/spouse /people/person/date_of_birth))
如果通过 lang 参数请求了多种显示语言,系统会返回所有有数据的语言的字符串,并遵循请求中的语言顺序。如需以所有已编入索引的语言返回数据,可以使用特殊的 d/all 语言代码。
例如:
查找美国总统,并以意大利语、俄语、日语和英语返回其配偶的类别和职业:
filter=(all type:/government/us_president) &output=((/people/marriage/spouse category /people/person/profession)) &lang=it,ru,ja,en
高级输出
输出参数支持所有已编入索引的元架构谓词或路径映射,以及下列一些额外的关键字。
description, description:provenance
返回在 /common/topic/description 三元组中找到的文本,可能会按其 provenance.process 字段中找到的出处关键字进行过滤。
例如:
按来源查找美国总统并在知识图谱中返回其说明
filter=(all type:/government/us_president) &output=(description)
在知识图谱中查找美国总统,并以英语和日语返回其维基百科说明
filter=(all type:/government/us_president) &output=(description:wikipedia) &lang=d/en,d/ja
消歧器、消歧器:类型、消歧器:网域
返回具有消歧属性(使用 /freebase/property_hints/disambiguator 注释)的路径中的值或实体,可能按持有这些属性的类型或网域进行过滤。
例如:
查找“银翼杀手”,并从匹配项中返回消歧数据
filter=(all name:"Blade Runner") &output=(disambiguator)
查找“银翼杀手”,并从 /film/film 中的匹配项返回消歧数据
filter=(all name:"Blade Runner") &output=(disambiguator:/film/film)
geocode
返回位置实体的地理编码数据。
例如:
查找旧金山渡轮大楼 1,000 英尺范围内的餐厅,并返回其地理编码和美食类型
filter=(all type:restaurant (within radius:1000ft lon:-122.39 lat:37.7955)) &output=(geocode practitioner_of)
key, key:namespace
返回实体的键/ 或 ID,可能按命名空间过滤。
例如:
查找旧金山渡轮大楼 1000 英尺范围内的餐厅,并返回其 Google+ ID
filter=(all type:restaurant (within radius:1000ft lon:-122.39 lat:37.7955)) &output=(key:/authority/google/google_plus)
类型
返回实体的类型,如果该数据可用,则按知名度进行排名。
例如:
查找“银翼杀手”,并返回匹配项中的类型数据
filter=(all name:"Blade Runner") &output=(type)
不兼容,不兼容:类型
单独使用时,返回实体上已知彼此不兼容的类型。
与类型搭配使用时,返回相应类型是否已知与此实体的任何类型都不兼容。
与过滤条件参数中的类型搭配使用时,返回类型不兼容的实体。
例如:
查找具有与 /people/person 不兼容的类型的 /people/person 实例并返回这些实例
filter=(all type:/people/person incompatible:/people/person) &output=(incompatible)
all, all:type, all:domain
返回为实体编入索引的所有数据,这些数据可通过输出参数返回,并且可能按类型或网域进行过滤。
例如:
查找“旧金山”,并返回可通过输出参数访问的有关它的所有数据
filter=(all name{full}:"San Francisco" type:/location/citytown) &output=(all) &limit=1
例如:
查找“旧金山”,并返回位置网域中与该地点相关的所有可通过输出参数访问的数据
filter=(all name{full}:"San Francisco" type:/location/citytown) &output=(all:/location) &limit=1