搜索输出

  1. 概览
  2. 架构输出
  3. 高级输出

概览

除了获取实体 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