Schema.org для сложных рецептов или рецептов, состоящих из нескольких частей.

Я пытаюсь определить, как разметить Recipe в Schema.org, где рецепт имеет несколько подрецептов.

Например: Губка Виктория может иметь:

Set #1: Ingredients, preparation steps, and prep/cook times for the Sponge
Set #2: Ingredients, preparation steps, and prep times for the Filling
Set #3: Ingredients, preparation steps, and prep times for the Icing/Topping

Я видел примеры рецептов, в которых все ингредиенты объединены в список, а инструкции/шаги затем пытаются определить, что и в какой момент использовать, но это не совсем удовлетворительно.

Очевидные подходы: отдельные компоненты рецепта или, возможно, «массив» ингредиентов и шагов. И я вижу, что это должно быть возможно, используя структуру шагов подрецептов HowTo, но не вижу как.

Я действительно хотел бы увидеть пример, который действительно был опробован. Я использую JSON-LD, но все, что демонстрирует принцип, будет высоко оценено!


person le Pusscat    schedule 04.09.2017    source источник
comment
У вас есть ссылка на вопрос, который был задан ранее?   -  person unor    schedule 04.09.2017
comment
stackoverflow.com/questions/ 39072431/   -  person le Pusscat    schedule 04.09.2017
comment
Я могу придумать несколько способов, как это можно представить. Вы просто спрашиваете, что возможно с Schema.org, или у вас есть конкретный потребитель, которому вы должны соответствовать?   -  person unor    schedule 05.09.2017
comment
Я действительно ищу приемлемый способ... Я не хочу изобретать велосипед или делать что-то, что, возможно, не должно быть разрешено. Моим потребителем является широкая публика... У меня нет конкретного рынка, который нужно удовлетворять, кроме как обеспечить ясность и совместимость с различными пользователями структурированных данных (Google, Bing и т. д.). Все, что в конечном итоге используется, скорее всего, будет дополнено Open Graph и т. д. для FB, Twitter, Pinterest...   -  person le Pusscat    schedule 05.09.2017


Ответы (1)


Если вам нужно сгруппировать ингредиенты по «подрецепту», вы должны предоставить несколько Recipe элементов, потому что recipeIngredient свойство определено только для типа Recipe.

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

Пример JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Recipe",
  "recipeInstructions": {
    "@type": "ItemList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "item": {
          "@type": "HowToStep"
        }
      },
      {
        "@type": "ListItem",
        "position": 2,
        "item": {
          "@type": "HowToSection",
          "steps": {
            "@type": "Recipe"
          }
        }
      },
      {
        "@type": "ListItem",
        "position": 3,
        "item": {
          "@type": "HowToStep"
        }
      }
    ]
  }
}
</script>

Пример объяснения

  • Основной Recipe имеет три шага инструкции.

  • ListItem используется для присвоения каждому шагу position (так что ItemList упорядочены).

  • Первый и последний шаги — это элементы HowToStep. HowToStep — это список, который может содержать HowToDirection и HowToTip в качестве элементов списка.

  • #P6# <блочная цитата> #P7# #P8#

(Обратите внимание, что Google SDTT еще не распознает типы HowTo. Они были введены с текущим версия 3.3, выпущенная в прошлом месяце.)

person unor    schedule 05.09.2017
comment
Это очень полезно - спасибо, что нашли время. Тот факт, что Google (пока?) не поддерживает HowTo, не так уж и важен... мы в первую очередь ищем способ хранить более 1000 рецептов в общем формате, который мы затем можем использовать в качестве источника для: содержимого веб-сайта, структурированных данных, ингредиентов. поиск и т. д. Если у нас есть это, когда мы, очевидно, можем извлечь/собрать другой стандарт по мере необходимости. - person le Pusscat; 05.09.2017
comment
@lePusscat: еще?: Да, обычно Google SDTT распознает все типы Schema.org (даже те, которые они не используют ни для одной из своих функций), так что это должно быть просто вопросом времени, когда они обновят инструмент, чтобы распознавать вновь введенные термины. - person unor; 06.09.2017
comment
Юнор, еще раз большое спасибо. К сожалению, я не могу проголосовать за ваш ответ, так как моя репутация ниже 15. - person le Pusscat; 06.09.2017