YQL возвращает дубликаты результатов для title и dc: title - PullRequest
2 голосов
/ 02 марта 2011

Я использую YQL для разбора нескольких RSS-каналов. Я успешно получаю YQL, возвращающий XML для заголовка, ссылки, даты, но он также извлекает dc: title, что приводит к дублирующим результатам. Я пытался использовать dc: title, но получил синтаксическую ошибку. Вот оператор YQL.

    select title,link,description,date from rss where url in (
    'http://somerssfeed.com',
    'http://somerssfeed.com'
) | sort(field="date", descending="true")

Какой будет правильный синтаксис для использования dc: title? Кроме того, возможно ли YQL переименовать dc: title в выводе xml в просто title?

1 Ответ

1 голос
/ 07 марта 2011

Как вы видели, YQL игнорирует пространства имен, когда вы указываете проекцию (поля для извлечения). Итак, правильный синтаксис - это то, что у вас уже есть; вы не можете различать поля title и dc:title так, как вам нужно.

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

Если это звучит как слишком тяжелая работа, вы могли бы добавить unique() фильтр в конец вашего существующего запроса, чтобы вернуть только один результат на уникальный title / dc:title, для объединения дубликатов, которые вы получаете, например … | unique(field="title").

...