Module:Sandbox/AbstractWikipedia/AbstractContent
The AbstractContent module contains manually curated abstract content for the use of template-renderer prototype. The abstract content for each Q-id should be a list of instantiated constructors outlining an article about that topic.
Note that for each Constructor (whether it is a top-level constructor, or a sub-constructor embedded within another one), we must specify a _predicate
field. This field essentially identifies the type of the constructor, and allows matching it with a language-specific renderer of the same name (e.g. the Person
constructor is matched with a Person
renderer). One can see the predicate name as the name of a function (being the renderer), and the other fields of the constructor as the arguments of that function.
Currently the constructor fields (with the exception of the _predicate
field), as well as the constructor names, are given arbitrary names in English (which should hint at their semantics). A possible more rigorous approach would be to name them using Wikidata property identifiers. For instance, the AwardedPrize
constructor could possible be named P166, but it should be kept in mind that there are some important differences between Wikidata properties and constructor fields: The former are intended to convey "pure" data, while the latter are intended to convey linguistically-relevant data.
This data is used by the Constructors module to fetch manually-curated abstract content.
local content = {}
-- Marie Curie
content.Q7186 = {
{
_predicate = "Person", -- Introductory information about a person
person = "Q7186", -- Marie Curie
birth = {
_predicate = "Birth",
date = {
_predicate = "Date",
day = "7",
month = "11",
year = "1867",
},
place = "Q270", -- Warsaw
},
death = {
_predicate = "Death",
date = {
_predicate = "Date",
day = "4",
month = "7",
year = "1934",
},
place = "Q388949",
},
origin = "Q36", -- Poland. Extend this to a list including France
occupation = {
_predicate = "List",
first ="Q593644", -- Chemist
second = "Q169470", -- Physicist
}
},
{
_predicate = "Pioneer",
person = "Q7186", -- Marie Curie
in_what = {
_predicate = "Research",
research_field = "Q11448", -- Radioactivity
},
},
{
_predicate = "Research",
person = "Q7186", -- Marie Curie
pronominalize = true, -- This should possibly done by a post-processor
research_field = "Q1128", -- Radium
},
{
_predicate = "AwardedPrize",
person = "Q7186", -- Marie Curie
pronominalize = true,
prize = "Q38104", -- Nobel prize in physics
date = {
_predicate = "Date",
year = "1903",
},
with = {
_predicate = "List",
first = "Q37463", -- Pierre Curie
second = "Q41269", -- Henri Becquerel
},
reason = {
_predicate = "Pioneer",
person = "Q7186", -- Marie Curie
in_what = {
_predicate = "Research",
research_field = "Q11448", -- Radioactivity
},
},
},
{
_predicate = "AwardedPrize",
person = "Q7186", -- Marie Curie
pronominalize = true,
prize = "Q44585", -- Nobel prize in physics
date = {
_predicate = "Date",
year = "1911",
},
reason = {
_predicate = "Discovery",
discovery = {
_predicate = "List",
first = "Q979", -- Polonium
second = "Q1128" -- Radium
}
}
},
{
_predicate = "Rank",
rank = 1,
person = "Q7186",
reference_group = "Q467", -- woman
activity = {
_predicate = "AwardedPrize",
prize = "Q7191", -- Nobel Prize
}
}
}
return content