<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://odden.us:443/thadar/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ASenseid</id>
	<title>Module:Senseid - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://odden.us:443/thadar/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ASenseid"/>
	<link rel="alternate" type="text/html" href="https://odden.us:443/thadar/wiki/index.php?title=Module:Senseid&amp;action=history"/>
	<updated>2026-04-11T10:49:08Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://odden.us:443/thadar/wiki/index.php?title=Module:Senseid&amp;diff=1194&amp;oldid=prev</id>
		<title>Oa10712: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://odden.us:443/thadar/wiki/index.php?title=Module:Senseid&amp;diff=1194&amp;oldid=prev"/>
		<updated>2022-09-06T03:34:47Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:34, 5 September 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Oa10712</name></author>
	</entry>
	<entry>
		<id>https://odden.us:443/thadar/wiki/index.php?title=Module:Senseid&amp;diff=1193&amp;oldid=prev</id>
		<title>en&gt;Surjection: Protected &quot;Module:senseid&quot;: Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://odden.us:443/thadar/wiki/index.php?title=Module:Senseid&amp;diff=1193&amp;oldid=prev"/>
		<updated>2021-08-17T23:22:35Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/thadar/wiki/index.php?title=Module:Senseid&quot; title=&quot;Module:Senseid&quot;&gt;Module:senseid&lt;/a&gt;&amp;quot;: Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local export = {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Extract a Wikidata id from a sense id&lt;br /&gt;
local function Wikidata_id(id)&lt;br /&gt;
	return mw.ustring.match(id, &amp;quot;Q%d+&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function Wikidata_entity_is_any_of(id, ids)&lt;br /&gt;
	if not mw.wikibase then &lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	-- P31: instance of&lt;br /&gt;
	for _, val in ipairs(mw.wikibase.getBestStatements(id, &amp;quot;P31&amp;quot;)) do&lt;br /&gt;
		for _, sid in ipairs(ids) do&lt;br /&gt;
			if val[&amp;quot;mainsnak&amp;quot;][&amp;quot;datavalue&amp;quot;]&lt;br /&gt;
					and val[&amp;quot;mainsnak&amp;quot;][&amp;quot;datavalue&amp;quot;][&amp;quot;type&amp;quot;] == &amp;quot;wikibase-entityid&amp;quot;&lt;br /&gt;
					and val[&amp;quot;mainsnak&amp;quot;][&amp;quot;datavalue&amp;quot;][&amp;quot;value&amp;quot;][&amp;quot;id&amp;quot;] == sid then&lt;br /&gt;
				return true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function Wikidata_entity_continents(id)&lt;br /&gt;
	if not mw.wikibase then &lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	&lt;br /&gt;
	local continent_names = {&lt;br /&gt;
		[&amp;quot;Q15&amp;quot;] = &amp;quot;Africa&amp;quot;,&lt;br /&gt;
		[&amp;quot;Q18&amp;quot;] = &amp;quot;South America&amp;quot;,&lt;br /&gt;
		[&amp;quot;Q46&amp;quot;] = &amp;quot;Europe&amp;quot;,&lt;br /&gt;
		[&amp;quot;Q48&amp;quot;] = &amp;quot;Asia&amp;quot;,&lt;br /&gt;
		[&amp;quot;Q49&amp;quot;] = &amp;quot;North America&amp;quot;,&lt;br /&gt;
		[&amp;quot;Q538&amp;quot;] = &amp;quot;Oceania&amp;quot;,&lt;br /&gt;
		[&amp;quot;Q27611&amp;quot;] = &amp;quot;North America&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- P30: continent&lt;br /&gt;
	for _, val in ipairs(mw.wikibase.getBestStatements(id, &amp;quot;P30&amp;quot;)) do&lt;br /&gt;
		if val[&amp;quot;mainsnak&amp;quot;][&amp;quot;datavalue&amp;quot;][&amp;quot;type&amp;quot;] == &amp;quot;wikibase-entityid&amp;quot; then&lt;br /&gt;
			for cid, name in pairs(continent_names) do&lt;br /&gt;
				if val[&amp;quot;mainsnak&amp;quot;][&amp;quot;datavalue&amp;quot;][&amp;quot;value&amp;quot;][&amp;quot;id&amp;quot;] == cid then&lt;br /&gt;
			 		table.insert(ret, name)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if #ret &amp;gt; 0 then&lt;br /&gt;
		return ret&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.anchor(lang, id)&lt;br /&gt;
	if not (type(id) == &amp;quot;string&amp;quot; or type(id) == &amp;quot;number&amp;quot;) then&lt;br /&gt;
		error(&amp;quot;The second argument to senseid should be a string or a number.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return lang:getCanonicalName() .. &amp;quot;:_&amp;quot; .. mw.uri.encode(id, &amp;quot;WIKI&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function senseid_wikidata_track(lang, id)&lt;br /&gt;
	if Wikidata_id(id) then&lt;br /&gt;
		--[=[&lt;br /&gt;
		[[Special:WhatLinksHere/Template:tracking/senseid/Wikidata]]&lt;br /&gt;
		]=]&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;senseid/Wikidata&amp;quot;)&lt;br /&gt;
		&lt;br /&gt;
		local tracking = {}&lt;br /&gt;
		&lt;br /&gt;
		-- Q30014: outer planet of the Solar System&lt;br /&gt;
		-- Q3504248: inner planet of the Solar System&lt;br /&gt;
		-- Q17362350: planet of the Solar System&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q30014&amp;quot;, &amp;quot;Q3504248&amp;quot;, &amp;quot;Q17362350&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/planet&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q2199: dwarf planet&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q2199&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/dwarf planet&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q5107: continent&lt;br /&gt;
		-- Q55833: supercontinent&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q5107&amp;quot;, &amp;quot;Q55833&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/continent&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q6256: country&lt;br /&gt;
		-- Q3024240: former country&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q6256&amp;quot;, &amp;quot;Q3024240&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/country&amp;quot;)&lt;br /&gt;
			&lt;br /&gt;
			local continents = Wikidata_entity_continents(id)&lt;br /&gt;
			&lt;br /&gt;
			if continents then&lt;br /&gt;
				for _, name in ipairs(continents) do&lt;br /&gt;
					table.insert(tracking, &amp;quot;senseid/Wikidata/country/&amp;quot; .. name)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q82794: geographic region&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q82794&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/region&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q23442: island&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q23442&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/island&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q4022: river&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q4022&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/river&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q515: city&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q515&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/city&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q34770: language&lt;br /&gt;
		-- Q33742: natural language&lt;br /&gt;
		-- Q33215: constructed language&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q34770&amp;quot;, &amp;quot;Q33742&amp;quot;, &amp;quot;Q33215&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/language&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q9779: alphabet&lt;br /&gt;
		-- Q335806: abugida&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q9779&amp;quot;, &amp;quot;Q335806&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/writing system&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q11344: chemical element&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q11344&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/chemical element&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q16521: taxon&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q16521&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/taxon&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q9415: emotion&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q9415&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/emotion&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Q11688446: Roman deity&lt;br /&gt;
		if Wikidata_entity_is_any_of(id, {&amp;quot;Q11688446&amp;quot;}) then&lt;br /&gt;
			table.insert(tracking, &amp;quot;senseid/Wikidata/Roman deity&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if #tracking &amp;gt; 0 then&lt;br /&gt;
			require(&amp;quot;Module:debug&amp;quot;).track(tracking)&lt;br /&gt;
		else&lt;br /&gt;
			require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;senseid/Wikidata/nothing&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.senseid(lang, id, tag_name)&lt;br /&gt;
	-- Track which entries use Wikidata ids&lt;br /&gt;
	senseid_wikidata_track(lang, id)&lt;br /&gt;
	-- The following tag is opened but never closed, where is it supposed to be closed?&lt;br /&gt;
	--         with &amp;lt;li&amp;gt; it doesn&amp;#039;t matter, as it is closed automatically.&lt;br /&gt;
	--         with &amp;lt;p&amp;gt; it is a problem&lt;br /&gt;
	return &amp;#039;&amp;lt;&amp;#039; .. tag_name .. &amp;#039; class=&amp;quot;senseid&amp;quot; id=&amp;quot;&amp;#039; .. export.anchor(lang, id) .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.etymid(lang, id)&lt;br /&gt;
	-- Track which entries use Wikidata ids&lt;br /&gt;
	senseid_wikidata_track(lang, id)&lt;br /&gt;
	return &amp;#039;&amp;lt;span class=&amp;quot;etymid&amp;quot; id=&amp;quot;&amp;#039; .. export.anchor(lang, id) .. &amp;#039;&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>en&gt;Surjection</name></author>
	</entry>
</feed>