Поиск кулинарной книги

  1. Текстовые ограничения
  2. Языковые ограничения
  3. Ограничения схемы
  4. Ограничения метасхемы
  5. Подсчет очков и рейтинг
  6. Другие ограничения

Эта страница содержит список рецептов различных способов ограничения поисковых запросов с помощью службы поиска .

Текстовые ограничения

Текстовые данные для объекта Freebase поступают сначала из его имени и его псевдонимов, затем из его ключей и других текстовых свойств и, наконец, из его данных привязки Википедии, если оно было согласовано с темой Википедии для конкретного языка.

Текстовые ограничения зависят от языка; в настоящее время поддерживается 18 языков. Английский имеет наибольшее покрытие и является языком по умолчанию.

Список всех поддерживаемых в настоящее время языковых кодов см. по следующему адресу:

https://www.googleapis.com/freebase/v1/search?help=langs&indent=true

Текстовое ограничение задается параметром query . Его язык указывается параметром lang . Например:

query: "gore"
query: "gore" lang: "fr"
query: "gore" lang: "de"

Во время индексации текстовые данные нормализуются в зависимости от языка. Например, на английском языке текст преобразуется в нижний регистр, а диакритические знаки удаляются. Во время запроса для текста запроса выполняется та же нормализация, зависящая от языка. Например:

query: "beyoncé"
query: "beyonce"

Несколько параметров управляют тем, как сопоставляется текстовое ограничение. Установка для параметра prefixed true инициирует совпадение префикса только для имени и псевдонима (и обычное совпадение для других текстовых данных). Например:

query: "bob dy" prefixed: true

Если stemmed значение true , сопоставление по основе инициируется только для имени и псевдонима (и обычное совпадение для других текстовых данных). Сопоставление основы может использоваться для вставки различий суффиксов, характерных для языка, представленных множественным числом или другими грамматическими формами. Например:

query: "potatos" stemmed: true

Окружение текста запроса двойными кавычками ("") приводит к совпадению фразы. Текстовые маркеры в запросе должны располагаться рядом друг с другом в текстовых данных соответствующей сущности. Например:

query: "\"to be or not to be\""

Используйте параметры name , alias и type для сопоставления с людьми и сущностями-лицами, чье имя содержит слово, которое вы хотите сопоставить. Например:

filter: "(all name:gore alias:gore type:/people/person)"

Точно так же следующий пример сопоставляет сущности /people/person только с совпадающим alias но не с их name :

filter: "(all (not name:gore) alias:gore type:/people/person)"

В дополнение к указанию, какие текстовые поля должны быть сопоставлены, также можно указать, как должно происходить совпадение, вставив один из следующих модификаторов между операндом и текстовым полем:

  • {word} : требуется, чтобы слова в строке соответствовали словам в соответствующем текстовом поле в документе. (дефолт)
  • {phrase} : требует, чтобы слова встречались рядом друг с другом в одном и том же порядке в соответствующем текстовом поле в документе.
  • {full} : аналогично {phrase} , но также требует, чтобы фраза полностью соответствовала текстовому полю, а не только внутри текстового поля. Другими словами, полное совпадение.

Например, чтобы найти музыкальный сингл « Home » Марка Бруссара, используйте следующий фильтр:

filter: "(all type:/music/single name{full}:home /music/track/artist:"Marc Broussard")"

Языковые ограничения

Как описано в текстовых ограничениях, параметр lang используется для указания правил нормализации языка, которые следует использовать для преобразования текста в токены запроса. Язык запроса также влияет на ранжирование результатов, поскольку freebase-search получает сигнал релевантности для конкретного языка из Википедии на соответствующем языке.

В настоящее время поддерживаются девять языков: английский (en), испанский (es), французский (fr), немецкий (de), итальянский (it), португальский (pt), китайский (zh), японский (ja) и корейский (ko) ). Английский имеет наибольшее покрытие и является языком по умолчанию.

Поиск на нескольких языках одновременно

Параметр lang принимает список кодов языков, разделенных запятыми, что приводит к тому, что поиск выполняется на всех указанных языках, а результаты ранжируются на первом языке в списке и отображаются на первом языке списка, который имеет имя для организация.

Например:

Следующий поиск немецкого слова «Sonnenblume» на немецком и французском языках. Он ранжирует и отображает результаты на французском языке:

query: "Sonnenblume" lang: "fr,de"

Следующее выполняет поиск фильмов на корейском языке на английском языке и отображает их корейское название. Английская часть expressed_by — это слово «корейский» в ограничении expression_by:

filter: "(all expressed_by:korean type:/film/film)" lang: "ko,en"

Ограничения схемы

Ограничения схемы указываются с type и параметрами domain . type соответствует значениям свойства /type/object/type сущности.

Например, следующее ограничивает поиск только людьми:

query: "gore" type: "/people/person"

domain соответствует значениям /type/type/domain всех значений /type/object/type объекта.

Например, следующее ограничивает поиск сущностями на французском языке только в домене /film :

query: "babar" domain: "/film" lang: "fr"

Вы также можете использовать отдельные свойства Freebase для фильтрации запроса. Например, следующее ограничивает поиск людьми из Канады:

 query "john" filter: "(all type:/people/person /people/person/nationality:"Canada")"

Ограничения метасхемы

Ограничения метасхемы фильтруют сущности по семантическим предикатам. Эти предикаты представляют собой концепции более высокого уровня, построенные из коллекций свойств Freebase, описывающих схожие семантические отношения.

Ограничения метасхемы задаются с использованием операндов параметров filter в сочетании с именем объекта или ограничением MID.

Поддерживаемые операнды фильтра метасхемы

Следующие операнды фильтра метасхемы поддерживаются Freebase Search. Попробуйте каждый пример, щелкнув ссылку в таблице или воспользовавшись приложением Freebase Search Example App .

Имя операнда Примеры)
abstraction "блюда из феттучини" ( Попробуйте. )
filter: "(all abstraction:fettuccine)"
abstraction_of "класс локомотива Western Bulwark" ( Попробуйте. )
filter: "(all abstraction_of:"Western Bulwark")"
adaptation "Произведение "Травиата" является адаптацией" ( Попробуйте. )
filter: "(all adaptation_of:"La Traviata")"
administered_by "Каннские награды" ( Попробуйте. )
filter: "(all type:awards administered_by:cannes)"
administers «Кто управляет газетой «Синапс»?» ( Попробуйте. )
filter: "(all administers:synapse)"
appears_in «Персонажи Волшебной флейты» ( Попробуйте. )
filter: "(all appears_in:"magic flute")"
«Фигурка в волшебной флейте» (Попробуйте . )
filter: "(all appears_in:"Die Zauberflöte")" lang: "de"
broader_than "линейка самолетов, к которой принадлежит Airbus 319" ( Попробуйте. )
filter: "(all broader_than:"Airbus A319")"
category "французские актрисы" ( Попробуйте. )
filter: "(all category:female origin:france notable:actor)"
"французские актрисы" (вариант) ( Попробуйте. )
filter: "(all category:female origin:france practitioner_of:actor)"
"Калифорния или французские вулканы" ( Попробуйте. )
filter: "(all category:volcano (any part_of:california part_of:france))"

"блюда из макарон" ( Попробуйте. )

filter: "(all category:pasta)"
center "авиакомпании с узловым аэропортом в Сан-Франциско" ( попробуйте. )
filter: "(all type:airline center:"San Francisco")"
"авиакомпании с узловыми аэропортами в Сан-Франциско и Атланте" ( попробуйте. )
filter: "(all type:airline center:"San Francisco" center:atlanta)"
"газеты с центром в Сан-Франциско" ( попробуйте. )
filter: "(all type:/book/newspaper center:/m/0d6lp)"
center_for «спортивные сооружения для команды San Francisco 49ers» ( Попробуйте. )
filter: "(all center_for:"san francisco 49ers")"
certification "Фильмы Вима Вендерса с рейтингом R" ( Попробуйте. )
filter: "(all type:/film/film contributor:wenders certification:r)"
character «произведения, в которых персонаж Папагено» ( Попробуйте. )
filter: "(all character:papageno)"
child "родители Билла Клинтона" ( Попробуйте. )
filter: "(all child:"bill clinton")"
contributed_to «Кто участвовал в «Бегущем по лезвию»?» ( Попробуйте. )
filter: "(all contributed_to:"Blade Runner")"
contributor "фильмы Стивена Спилберга" ( Попробуйте. )
filter: "(all type:/film/film contributor:"Steven Spielberg")"
"фильмы Стивена Спилберга" с использованием MID вместо имени автора. ( Попробуйте. )
filter: "(all type:/film/film contributor:/m/06pj8)"
"фильмы с Харрисоном Фордом" ( Попробуйте. )
filter: "(all type:/film/film contributor:"Harrison Ford")"
created "кто создал "по ком звонит колокол"" ( Попробуйте. )
filter: "(all created:"for whom the bell tolls")"
created_by "программное обеспечение от Google" ( Попробуйте. )
filter: "(all notable:software created_by:google)"
discovered "первооткрыватели радия" ( Попробуйте. )
filter: "(all discovered:radium)"
discovered_by "открытия Кюри" ( Попробуйте. )
filter: "(all discovered_by:curie)"
distributed_by «Шоу NPR» ( Попробуйте. )
filter: "(all type:show distributed_by:npr)"
exhibited «Где было представлено« вниз по закону »?» ( Попробуйте. )
filter: "(all exhibited:"down by law")"
exhibited_at «Работы-номинанты, показанные на Каннском кинофестивале 2010» ( Попробуйте. )
filter: "(all type:"nominated work" exhibited_at:"2010 Cannes Film festival")"
expressed_by "книги на эсперанто" ( Попробуйте. )
filter: "(all type:book expressed_by:esperanto)"
fictional_link "вымышленные персонажи, связанные с Микки Маусом" ( Попробуйте. )
filter: "(all type:/fictional_universe/fictional_character fiction_link:"mickey mouse")"
genre "готические соборы" ( Попробуйте. )
filter: "(all category:cathedral genre:gothic)"
"готические соборы Виолле-ле-Дюка" ( Попробуйте. )
filter: "(all category:cathedral genre:gothic created_by:viollet)"
identifies «Что идентифицирует Southwest Airlines?» ( Попробуйте. )
filter: "(all identifies:"Southwest Airlines")"
leader "Компании Митча Капора" ( Попробуйте. )
filter: "(all type:company leader:kapor)"
leader_of "Мэры Парижа" ( Попробуйте. )
filter: "(all title:mayor leader_of:paris)"
made_of "восковые картины" ( Попробуйте. )
filter: "(all type:painting made_of:wax)"
means_of_demise «выполненные политики» ( Попробуйте. )
filter: "(all type:politician means_of_demise:"capital punishment")"
member_of "африканские монархи" ( Попробуйте. )
filter: "(all type:monarch member_of:africa)"
"Демократические политики и известные актеры" ( Попробуйте. )
filter: "(all type:politician member_of:democratic notable:actor)"
narrower_than "примеры двигателей v8" ( Попробуйте. )
filter: "(all type:engine narrower_than:"v8 engine")"
occurs_in "языки, на которых говорят в Румынии" ( Попробуйте. )
filter: "(all type:language occurs_in:romania)"
origin «Губернаторы-республиканцы из Австрии» ( Попробуйте. )
filter: "(all title:governor member_of:republican origin:austria)"
owner "делает собственность Форда" ( Попробуйте. )
filter: "(all type:make owner:ford)"
owns «Кому принадлежат Маверикс?» ( Попробуйте. )
filter: "(all owns:mavericks)"
parent «Дети Эла Гора» ( Попробуйте. )
filter: "(all parent:"al gore")"
«Потомки языка программирования Лисп» ( Попробуйте. )
filter: "(all type:/computer/programming_language parent:lisp)"
part_of "шведские озера" ( Попробуйте. )
filter: "(all type:lake part_of:sweden)"
"соревнования на летних Олимпийских играх 2008" ( Попробуйте. )
filter: "(all type:competition part_of:"2008 summer olympics")"
participant "Концерты Боуи" ( Попробуйте. )
filter: "(all participant:bowie type:concert)" 
participated_in «Известные австрийские лыжники, участвовавшие в Олимпийских играх» ( Попробуйте. )
filter: "(all notable:skier member_of:austria participated_in:olympics)"'
peer_of "политики, равные Элу Гору" ( Попробуйте. )
filter: "(all notable:politician peer_of:gore)"
permits_use_of "Дизельные двигатели" ( Попробуйте. )
filter: "(all permits_use_of:diesel)"
portrayed «актеры, сыгравшие Джона Леннона» ( Попробуйте. )
filter: "(all notable:actor portrayed:"john lennon")"
portrayed_by «персонажи, которых изображал Харрисон Форд» ( Попробуйте. )
filter: "(all portrayed_by:"Harrison Ford")"
practitioner_of "женщины-афроамериканцы-юристы" ( Попробуйте. )
filter: "(all category:female category:"african american" practitioner_of:lawyer)"
preceeding "продолжения "Властелина колец, две башни" ( Попробуйте. )
filter: "(all type:/film/film preceeding:"The Lord of the Rings, the two Towers")"
produced_by «Компьютеры Apple» ( Попробуйте. )
filter: "(all type:computers produced_by:apple)"
publication "какая книга имеет /m/0clw238 в качестве первого издания?" ( Попробуйте. )
filter: "(all publication:/m/0clw238)"
publication_of "релизы "Травиаты" ( Попробуйте. )
filter: "(all publication_of:"La Traviata")"
service_area "Вещательные компании Калифорнии" ( Попробуйте. )
filter: "(all type:broadcaster service_area:california)"
status "отступающие швейцарские ледники" ( Попробуйте. )
filter: "(all type:glacier status:retreating part_of:switzerland)"
subclass_of "виды купальных костюмов" ( Попробуйте. )
filter: "(all subclass_of:swimwear)"
subject "фильмы о Холокосте" ( Попробуйте. )
filter: "(all type:film subject:holocaust)"
"книги о математике" ( Попробуйте. )
filter: "(all type:book subject:mathematics)"
subsequent "приквелы к "Властелину колец, две башни" ( Попробуйте. )
filter: "(all type:/film/film subsequent:"The Lord of the Rings, the two Towers")"
succeeded_by «На смену какой автомобильной платформе пришла платформа Ford B3?» ( Попробуйте. )
filter: "(all succeeded_by:"ford b3 platform")"
succeeds «Кто сменил Дом Стюартов?» ( Попробуйте. )
filter: "(all succeeds:stuart)"
superclass_of "К классам относится ишемическая болезнь сердца" ( Попробуйте. )
filter: "(all superclass_of:"coronary heart disease")"
title "Инженеры Google" ( Попробуйте. )
filter: "(all title:engineer member_of:google)"
tookplace_at «битвы, которые произошли при Маренго» ( Попробуйте. )
filter: "(all type:battles tookplace_at:marengo)"
use_permitted_by «Форматы файлов, поддерживаемые на iPhone» ( Попробуйте. )
filter: "(all type:"file format" use_permitted_by:iphone)"

Подсчет очков и рейтинг

Сущности Freebase имеют неотъемлемую оценку релевантности (рейтинг), вычисляемую во время индексации, которая является функцией количества входящих и исходящих ссылок в Freebase и Википедии. Некоторые популярные объекты Freebase также имеют рейтинг популярности, рассчитанный Google. По умолчанию обе оценки объединяются во время запросов.

При наличии текстового ограничения оценка текстового совпадения вычисляется на основе количества обращений, возвращаемых поисковым индексом, и объединяется с оценкой релевантности.

Результаты FreebaseSearch всегда сортируются по итоговому баллу, начиная с самого высокого балла.

Параметр скоринга позволяет контролировать, какие компоненты оценки релевантности используются для вычисления окончательной оценки:

freebase : используйте только показатель релевантности Freebase.

query: "beyoncé" scoring: freebase

entity : использовать обе оценки релевантности, что заменяет все отсутствующие оценки Google на 1,0. Это значение по умолчанию.

query: "beyoncé" scoring: entity

схема : используйте при поиске объектов схемы, таких как типы, свойства или домены. Счетчики ссылок объектов схемы вычисляются по-разному.

query: "performance" scoring: schema

Другие ограничения

Объекты можно фильтровать по тегу индекса с параметрами или без них. Сущности помечаются тегами во время индексации, каждый тег соответствует одному или нескольким запросам Freebase, выполнение которых во время поиска было бы слишком затратным:

commons — это тег, который можно использовать, чтобы ограничить поиск схемы возвратом только схемы Freebase Commons. Например, типы Freebase Commons, соответствующие слову «цвет»,

query: "color" type: "/type/type" with: "commons"

gg — это тег, который можно использовать для ограничения поиска теми объектами, для которых есть или нет рейтинг популярности Google.

query: "1923" type: "/people/person" with: "gg"
query: "1923" type: "/people/person" without: "gg"

Параметр without эквивалентен инвертированному с в выражении фильтра.

query: "color" limit: 5 type: "/type/type" without: "commons"
query: "color" limit: 5 type: "/type/type" filter: "(not with:commons)"