Семантические медиа-вики захватывают все значения свойства на текущей странице

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

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

Например, если мой шаблон имеет три поля и свойства:

</noinclude><includeonly>
'''GeneralFoodF:'''  [[GeneralFoodP::{{{GeneralFoodF|}}}]] 

'''SpecificFoodF:'''  [[SpecificFoodP::{{{SpecificFoodF|}}}]] 

'''RatingFoodF:'''  [[RatingFoodP::{{{RatingFoodF|}}}]] 
</includeonly>

и я добавляю четыре вхождения этого шаблона на определенную страницу со следующими значениями:

   {{FoodT
   |GeneralFoodF=Fruit
   |SpecificFoodF=Apple
   |RatingFoodF=4
   }}
   {{FoodT
   |GeneralFoodF=Vegetable
   |SpecificFoodF=Spinach
   |RatingFoodF=5
   }}
   {{FoodT
   |GeneralFoodF=Fruit
   |SpecificFoodF=Pear
   |RatingFoodF=5
   }}
   {{FoodT
   |GeneralFoodF=Fruit
   |SpecificFoodF=Apple
   |RatingFoodF=3
   }}

Затем я выполняю запрос #show:

{{#show: {{PAGENAME}} | mainlabel =- | headers = hide | link=none | ?GeneralFoodP}}

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

1 ответ

Подумайте о том, что означает собственность: если у автомобиля есть собственность is red, он не станет более красным, если в твоем состоянии это дважды. Цвет по-прежнему красный, а не "красный красный". Следовательно, результат, который вы показываете нам, вполне ожидаем.

Для ваших нужд вы можете рассмотреть возможность использования подобъектов. Это объекты, как страницы, но без собственной страницы, и они могут иметь одно или несколько свойств:

{{#subobject:
 |GeneralFoodF=Fruit
 |SpecificFoodF=Apple
 |RatingFoodF=3
 |Belongs to={{PAGENAME}}
}}

Затем вы можете запросить все подобъекты этой страницы следующим образом:

{{#ask: [[Belongs to::{{PAGENAME}}]]
 |?GeneralFoodF
 |?SpecificFoodF
 |?RatingFoodF
}}

или для похожих подобъектов на всех страницах:

{{#ask: [[SpecificFoodF::+]]
 |?GeneralFoodF
 |?SpecificFoodF
 |?RatingFoodF
}}

Субобъекты также могут быть названы, но в вашем случае вы хотите, чтобы они были анонимными (эффективно присваивая им уникальные, автоматически создаваемые имена).

Увидеть:

Другие вопросы по тегам