<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.noethoumy.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3APropri%C3%A9t%C3%A9s</id>
	<title>Module:Propriétés - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.noethoumy.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3APropri%C3%A9t%C3%A9s"/>
	<link rel="alternate" type="text/html" href="https://wiki.noethoumy.fr/index.php?title=Module:Propri%C3%A9t%C3%A9s&amp;action=history"/>
	<updated>2026-04-27T19:25:35Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.noethoumy.fr/index.php?title=Module:Propri%C3%A9t%C3%A9s&amp;diff=345&amp;oldid=prev</id>
		<title>Jaggerwock : Page créée avec « local p = { 	instance_de= &quot;P31&quot;,     sous_classe_de = &quot;P279&quot;,     prenom = &quot;P735&quot;,     nomdefamille = &quot;P734&quot;,      isbn10 = &quot;P957&quot;,     publie_dans = &quot;P1433&quot;,     langue = &quot;P407&quot;  } -- this module gives solutions to get the Pnumber of a property by its name   -- could be automatized, but for now just defining a muanual mapping   p.p_from_name = { 	[&quot;country&quot;] = 17 ; 	[&quot;gender&quot;] = 21 ;  	[&quot;instance of&quot;] = 31 ; 	 	[&quot;field&quot;] = 101 ;  	[&quot;occupation&quot;] = 106 ; 	 	[&quot;gen... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.noethoumy.fr/index.php?title=Module:Propri%C3%A9t%C3%A9s&amp;diff=345&amp;oldid=prev"/>
		<updated>2024-09-20T14:23:28Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « local p = { 	instance_de= &amp;quot;P31&amp;quot;,     sous_classe_de = &amp;quot;P279&amp;quot;,     prenom = &amp;quot;P735&amp;quot;,     nomdefamille = &amp;quot;P734&amp;quot;,      isbn10 = &amp;quot;P957&amp;quot;,     publie_dans = &amp;quot;P1433&amp;quot;,     langue = &amp;quot;P407&amp;quot;  } -- this module gives solutions to get the Pnumber of a property by its name   -- could be automatized, but for now just defining a muanual mapping   p.p_from_name = { 	[&amp;quot;country&amp;quot;] = 17 ; 	[&amp;quot;gender&amp;quot;] = 21 ;  	[&amp;quot;instance of&amp;quot;] = 31 ; 	 	[&amp;quot;field&amp;quot;] = 101 ;  	[&amp;quot;occupation&amp;quot;] = 106 ; 	 	[&amp;quot;gen... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {&lt;br /&gt;
	instance_de= &amp;quot;P31&amp;quot;,&lt;br /&gt;
    sous_classe_de = &amp;quot;P279&amp;quot;,&lt;br /&gt;
    prenom = &amp;quot;P735&amp;quot;,&lt;br /&gt;
    nomdefamille = &amp;quot;P734&amp;quot;, &lt;br /&gt;
    isbn10 = &amp;quot;P957&amp;quot;,&lt;br /&gt;
    publie_dans = &amp;quot;P1433&amp;quot;,&lt;br /&gt;
    langue = &amp;quot;P407&amp;quot; &lt;br /&gt;
}&lt;br /&gt;
-- this module gives solutions to get the Pnumber of a property by its name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- could be automatized, but for now just defining a muanual mapping&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p.p_from_name = {&lt;br /&gt;
	[&amp;quot;country&amp;quot;] = 17 ;&lt;br /&gt;
	[&amp;quot;gender&amp;quot;] = 21 ;&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;instance of&amp;quot;] = 31 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;field&amp;quot;] = 101 ; &lt;br /&gt;
	[&amp;quot;occupation&amp;quot;] = 106 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;genre&amp;quot;] = 136 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;named after&amp;quot;] = 138 ;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;preceded by&amp;quot;] = 155;&lt;br /&gt;
	[&amp;quot;succeeded by&amp;quot;] = 156;&lt;br /&gt;
	[&amp;quot;collection&amp;quot;] = 195;	&lt;br /&gt;
	[&amp;quot;subclass of&amp;quot;] = 279 ;&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;category&amp;#039;s topic&amp;quot;] = 301;&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;list of&amp;quot;] = 360 ; &lt;br /&gt;
	[&amp;quot;part of&amp;quot;] = 361 ;&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;commons category&amp;quot;] = 373;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;terminus&amp;quot;] = 559;&lt;br /&gt;
	[&amp;quot;direction&amp;quot;] = 560;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;start date&amp;quot;] = 580 ;&lt;br /&gt;
	[&amp;quot;begin date&amp;quot;] = 580 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;end date&amp;quot;] = 582 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;date&amp;quot;] = 585 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;of&amp;quot;] = 642 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;participant&amp;quot;] = 710 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;edition&amp;quot;] = 747 ;&lt;br /&gt;
	[&amp;quot;edition of&amp;quot;] = 629 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;#039;key event&amp;#039;] = 793 ;&lt;br /&gt;
	[&amp;#039;significant event&amp;#039;] = 793 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;topic&amp;#039;s category&amp;quot;] = 910;&lt;br /&gt;
	[&amp;quot;subject&amp;quot;] = 921; -- work subject&lt;br /&gt;
	[&amp;quot;inspired by&amp;quot;] = 941 ;	&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;fictional analog of&amp;quot;] = 1074 ;&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;statement disputed by&amp;quot;] = 1310 ;&lt;br /&gt;
	[&amp;quot;disputed by&amp;quot;] = 1310 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;of&amp;quot;] = 642 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;history&amp;quot;] = 2184 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;property for this type&amp;quot;] = 1963 ;&lt;br /&gt;
    [&amp;quot;metasubclass of&amp;quot;] = 2445 ;&lt;br /&gt;
    &lt;br /&gt;
	[&amp;quot;number&amp;quot;] = 1114 ;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;union of&amp;quot;] = 2737;&lt;br /&gt;
	[&amp;quot;disjoint union of&amp;quot;] = 2738;&lt;br /&gt;
	&lt;br /&gt;
	[&amp;quot;has part of the type&amp;quot;] = 2670 ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function string_to_propnumber(label)&lt;br /&gt;
	local res = p.p_from_name[label] ;&lt;br /&gt;
	if res ~= nil then&lt;br /&gt;
		return tostring( res) ;&lt;br /&gt;
	else&lt;br /&gt;
		res = mw.wikibase.resolvePropertyId(label)&lt;br /&gt;
		if res then&lt;br /&gt;
			return string.sub(res, 2)&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.numberFromPropertylabel = function(frame)  &lt;br /&gt;
	local label = frame.args[1] ;&lt;br /&gt;
	mw.log(label)&lt;br /&gt;
	return string_to_propnumber(label)&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
-- returns a pid of the form &amp;quot;Pnnn...&amp;quot; where n is a character in &amp;quot;123456789&amp;quot;&lt;br /&gt;
--from either &lt;br /&gt;
--* a number representing a property wikidata number&lt;br /&gt;
--* a string number representing a property wikidata number&lt;br /&gt;
--* a pid of the form &amp;quot;Pnnn&amp;quot;&lt;br /&gt;
--* a &amp;quot;property name&amp;quot; corresponding to a property, where the names are listed in the array p.p_from_name&lt;br /&gt;
-- or &amp;quot;nil&amp;quot; if the id does not match to any of the cases above&lt;br /&gt;
p.normalize = function(input_pid)&lt;br /&gt;
	local input_pid = tostring(input_pid)&lt;br /&gt;
	if mw.ustring.match(input_pid, &amp;quot;P%d+&amp;quot;) then&lt;br /&gt;
		return input_pid&lt;br /&gt;
	elseif mw.ustring.match(input_pid, &amp;quot;%d+&amp;quot;) then&lt;br /&gt;
		return &amp;quot;P&amp;quot; .. input_pid&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;P&amp;quot; .. tostring(string_to_propnumber(input_pid))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- function that takes a string with a set of pids and returns an array of properties&lt;br /&gt;
p.expandPropList = function(plist)&lt;br /&gt;
	local props = mw.text.split(plist,&amp;quot;,&amp;quot;)&lt;br /&gt;
	for ind, val in ipairs(props) do&lt;br /&gt;
		props[ind] = p.normalize(val)&lt;br /&gt;
	end&lt;br /&gt;
	return props&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.datatype(property)&lt;br /&gt;
	if type(property) ~= &amp;quot;table&amp;quot; then&lt;br /&gt;
		property = mw.wikibase.getEntityObject(p.normalize(property))&lt;br /&gt;
	end&lt;br /&gt;
	return property.datatype&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
-- wikitemplate interface&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.Pid = function(frame)  &lt;br /&gt;
	local label = frame.args[1] ;&lt;br /&gt;
	return p.normalize(label)&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
p.Pdatatype = function(frame)&lt;br /&gt;
	return p.datatype(frame.args[1])&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p.of = p.normalize(&amp;quot;of&amp;quot;)&lt;br /&gt;
p.union_of = p.normalize(&amp;quot;union of&amp;quot;)&lt;br /&gt;
p.disjoint_union_of = p.normalize(&amp;quot;disjoint union of&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Jaggerwock</name></author>
	</entry>
</feed>