Семантические медиа-вики захватывают все значения свойства на текущей странице
Я хотел бы обобщить данные, введенные с использованием шаблона, который может встречаться несколько раз на странице. Я хочу, чтобы это резюме основывалось только на текущей странице.
Я не могу понять, как захватить все значения, назначенные свойству, установленному несколько раз для шаблона страницы. Все семантические запросы, которые я пробовал, возвращают только уникальные значения для свойства на данной странице.
Например, если мой шаблон имеет три поля и свойства:
</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
}}
Субобъекты также могут быть названы, но в вашем случае вы хотите, чтобы они были анонимными (эффективно присваивая им уникальные, автоматически создаваемые имена).
Увидеть: