<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="he">
	<id>https://text.chabadpedia.com/index.php?action=history&amp;feed=atom&amp;title=%D7%99%D7%97%D7%99%D7%93%D7%94%3APropertyLink</id>
	<title>יחידה:PropertyLink - היסטוריית גרסאות</title>
	<link rel="self" type="application/atom+xml" href="https://text.chabadpedia.com/index.php?action=history&amp;feed=atom&amp;title=%D7%99%D7%97%D7%99%D7%93%D7%94%3APropertyLink"/>
	<link rel="alternate" type="text/html" href="https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:PropertyLink&amp;action=history"/>
	<updated>2026-05-01T01:53:28Z</updated>
	<subtitle>היסטוריית הגרסאות של הדף הזה בוויקי</subtitle>
	<generator>MediaWiki 1.40.3</generator>
	<entry>
		<id>https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:PropertyLink&amp;diff=23687&amp;oldid=prev</id>
		<title>מ. רובין: גרסה אחת יובאה</title>
		<link rel="alternate" type="text/html" href="https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:PropertyLink&amp;diff=23687&amp;oldid=prev"/>
		<updated>2025-09-07T08:02:25Z</updated>

		<summary type="html">&lt;p&gt;גרסה אחת יובאה&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;he&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;→ הגרסה הקודמת&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;גרסה מ־11:02, 7 בספטמבר 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;he&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(אין הבדלים)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>מ. רובין</name></author>
	</entry>
	<entry>
		<id>https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:PropertyLink&amp;diff=23686&amp;oldid=prev</id>
		<title>ויקיטקסט&gt;Effib ב־13:34, 12 במאי 2022</title>
		<link rel="alternate" type="text/html" href="https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:PropertyLink&amp;diff=23686&amp;oldid=prev"/>
		<updated>2022-05-12T13:34:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;דף חדש&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local FEMALE_FORM_PROPERTY = &amp;#039;P2521&amp;#039;&lt;br /&gt;
local Date = require(&amp;#039;Module:תאריך&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Fetch the &amp;quot;as of date&amp;quot; property of a associated with a property&lt;br /&gt;
]]&lt;br /&gt;
function asOfDateQualifier(claim)&lt;br /&gt;
	local AS_OF_PROPERTY = &amp;#039;P585&amp;#039;&lt;br /&gt;
	local wikidataModule = require(&amp;#039;Module:Wikidata&amp;#039;)&lt;br /&gt;
	local value&lt;br /&gt;
	local error&lt;br /&gt;
	value, error = wikidataModule.getValueOfClaim(claim, AS_OF_PROPERTY, nil)&lt;br /&gt;
	if value then&lt;br /&gt;
		return &amp;#039; (נכון ל־&amp;#039;..value ..&amp;#039;)&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function formatQuantity(property) &lt;br /&gt;
	local propValue = property.mainsnak and property.mainsnak.datavalue&lt;br /&gt;
	local lang = mw.getContentLanguage()&lt;br /&gt;
	local langCode = lang:getCode()&lt;br /&gt;
	local asOfDate = asOfDateQualifier(property)&lt;br /&gt;
	local localAmount = lang:formatNum( tonumber(propValue.value.amount) )&lt;br /&gt;
	local unit = &amp;#039;&amp;#039;&lt;br /&gt;
	if propValue.value.unit and string.match( propValue.value.unit, &amp;#039;http://www.wikidata.org/entity/&amp;#039; ) then&lt;br /&gt;
		local unitEntityId = string.gsub( propValue.value.unit, &amp;#039;http://www.wikidata.org/entity/&amp;#039;, &amp;#039;&amp;#039; )&lt;br /&gt;
		if unitEntityId and #unitEntityId&amp;gt;0 then&lt;br /&gt;
			-- name from label&lt;br /&gt;
			unit =  mw.wikibase.label( unitEntityId ) or &amp;#039;&amp;#039;&lt;br /&gt;
			local unitSymbol = mw.wikibase.getBestStatements(unitEntityId, &amp;#039;P5061&amp;#039;)&lt;br /&gt;
			--  name from properties&lt;br /&gt;
			if unitSymbol then&lt;br /&gt;
				local writingSystemElementId = &amp;#039;Q33513&amp;#039; -- hebrew writing system&lt;br /&gt;
				local langElementId = &amp;#039;Q9288&amp;#039; -- hebrew&lt;br /&gt;
				local labelFilter = &amp;#039;P5061[language:&amp;#039;..langCode..&amp;#039;], P5061[P282:&amp;#039; .. writingSystemElementId .. &amp;#039;, P407:&amp;#039; .. langElementId .. &amp;#039;]&amp;#039;&lt;br /&gt;
				local WDS = require( &amp;#039;Module:WikidataSelectors&amp;#039; )&lt;br /&gt;
				local labelClaims = WDS.filter( {[&amp;#039;P5061&amp;#039;]=unitSymbol }, labelFilter )&lt;br /&gt;
				for r, claim in pairs( labelClaims ) do&lt;br /&gt;
					if claim.mainsnak and claim.mainsnak.datavalue.type == &amp;#039;monolingualtext&amp;#039; and claim.mainsnak.datavalue.value.text then&lt;br /&gt;
						unit = claim.mainsnak.datavalue.value.text&lt;br /&gt;
						break;&lt;br /&gt;
					elseif claim.mainsnak and claim.mainsnak.datavalue and claim.mainsnak.datavalue.type == &amp;#039;string&amp;#039; and claim.mainsnak.datavalue.value ~= &amp;#039;&amp;#039; then&lt;br /&gt;
						unit = claim.mainsnak.datavalue.value&lt;br /&gt;
						break;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		&lt;br /&gt;
			unit = &amp;#039; &amp;#039; .. unit&lt;br /&gt;
		end&lt;br /&gt;
    end	&lt;br /&gt;
	return localAmount .. unit .. asOfDate&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getPropertyQualifier(property, qualifier)&lt;br /&gt;
	local wikidataModule = require(&amp;#039;Module:Wikidata&amp;#039;)&lt;br /&gt;
	local entity = mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
    if not entity then return end --the entity doesnt exist or have no claims&lt;br /&gt;
	&lt;br /&gt;
    local propertyVals = mw.wikibase.getAllStatements( entity, property )&lt;br /&gt;
    if not propertyVals or not propertyVals[1] then return end --no such property for this item&lt;br /&gt;
 	value, error = wikidataModule.getValueOfClaim(propertyVals[1], qualifier, nil)&lt;br /&gt;
	return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function missingLabelCategory(propertyName)&lt;br /&gt;
	return &amp;#039;[[קטגוריה:ויקינתונים:ערכים_חסרי_תווית_בעברית: &amp;#039; .. (mw.wikibase.label( propertyName) or propertyName) .. &amp;#039;]][[קטגוריה:ויקינתונים:ערכים_חסרי_תווית_בעברית]]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getFemaleLabelForEntityId( entityId )&lt;br /&gt;
	local WDS = require(&amp;#039;Module:WikidataSelectors&amp;#039;)&lt;br /&gt;
	local femaleForm = mw.wikibase.getBestStatements(entityId, FEMALE_FORM_PROPERTY)&lt;br /&gt;
	&lt;br /&gt;
	if not femaleForm then return nil, false end&lt;br /&gt;
	&lt;br /&gt;
	local femLabels = WDS.filterByLanguage( femaleForm, &amp;#039;he&amp;#039; )&lt;br /&gt;
	if femLabels ~= nil and&lt;br /&gt;
	   femLabels[1] and&lt;br /&gt;
	   femLabels[1].mainsnak and&lt;br /&gt;
	   femLabels[1].mainsnak.datavalue and&lt;br /&gt;
	   femLabels[1].mainsnak.datavalue.value and&lt;br /&gt;
	   femLabels[1].mainsnak.datavalue.value.text then&lt;br /&gt;
		return femLabels[1].mainsnak.datavalue.value.text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return nil, #femaleForm &amp;gt; 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Get a link to specific entity. E.g sitelink|label.&lt;br /&gt;
* Missing label =&amp;gt; use sitelink as fallback&lt;br /&gt;
* Missing sitelink =&amp;gt; just show label&lt;br /&gt;
* Mssing gender form: adds category of missing gender label&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@param {string} entityId - id of entity to link to (e.g Q42)&lt;br /&gt;
@param {string} genderAwareEntity - entity from which to fetch gender for gender form&lt;br /&gt;
@returns {string, bool} formattedValue, missingTranslation - the formatted value along with indicator of missing translation&lt;br /&gt;
]]&lt;br /&gt;
function formatEntity(entityId, genderAwareEntity)&lt;br /&gt;
	local linkTarget = mw.wikibase.sitelink( entityId )&lt;br /&gt;
    local localLabel, langLabel, missingFemaleForm&lt;br /&gt;
    local formattedValue&lt;br /&gt;
    local missingTranslation = false&lt;br /&gt;
    local fallbackLanguage = false&lt;br /&gt;
    if genderAwareEntity then&lt;br /&gt;
    	local gender = mw.wikibase.getBestStatements(genderAwareEntity, &amp;#039;P21&amp;#039;) -- P21 - gender&lt;br /&gt;
    	local isFemale = gender and&lt;br /&gt;
    	                 gender[1] and&lt;br /&gt;
    	                 gender[1].mainsnak and&lt;br /&gt;
    	                 gender[1].mainsnak.datavalue and&lt;br /&gt;
    	                 gender[1].mainsnak.datavalue.value and&lt;br /&gt;
    	                 (gender[1].mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;] == 6581072&lt;br /&gt;
    	               or gender[1].mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;] == 1052281&lt;br /&gt;
    	               or gender[1].mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;] == 15145779)&lt;br /&gt;
&lt;br /&gt;
    	if isFemale then&lt;br /&gt;
    		localLabel, missingFemaleForm = getFemaleLabelForEntityId( entityId )&lt;br /&gt;
    		langLabel = &amp;#039;he&amp;#039;&lt;br /&gt;
    	end&lt;br /&gt;
    	-- if we dont have/need female form label,  use regular label&lt;br /&gt;
    	if localLabel == nil then&lt;br /&gt;
    		localLabel, langLabel = mw.wikibase.getLabelWithLang( entityId )&lt;br /&gt;
    	end&lt;br /&gt;
    else&lt;br /&gt;
    	-- use Hebrew label&lt;br /&gt;
    	localLabel, langLabel = mw.wikibase.getLabelWithLang( entityId )&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local isLocalLabel = langLabel==&amp;#039;he&amp;#039;&lt;br /&gt;
    -- fallback if there is target but no label, use target as label&lt;br /&gt;
    if linkTarget and not isLocalLabel then&lt;br /&gt;
    	localLabel = linkTarget&lt;br /&gt;
    	isLocalLabel = true&lt;br /&gt;
    end&lt;br /&gt;
    if localLabel and isLocalLabel then&lt;br /&gt;
			if linkTarget and localLabel and linkTarget == localLabel then&lt;br /&gt;
				formattedValue = mw.ustring.format( &amp;quot;[[%s]]&amp;quot;, linkTarget )&lt;br /&gt;
			else&lt;br /&gt;
    			formattedValue = linkTarget and localLabel and mw.ustring.format( &amp;quot;[[%s|%s]]&amp;quot;, linkTarget, localLabel ) or localLabel&lt;br /&gt;
    		end&lt;br /&gt;
    		if missingFemaleForm then&lt;br /&gt;
    			mw.log(mw.ustring.format(&amp;#039;חסרה צורת הנקבה ל&amp;quot;%s&amp;quot; (%s)&amp;#039;, formattedValue, entityId))&lt;br /&gt;
    			formattedValue = formattedValue .. missingLabelCategory( FEMALE_FORM_PROPERTY )&lt;br /&gt;
    		end&lt;br /&gt;
    else&lt;br /&gt;
		missingTranslation = true&lt;br /&gt;
		-- in that case we would unfourtanly can show only the entity id which is meaningless for users&lt;br /&gt;
		 if langLabel==&amp;#039;en&amp;#039; then&lt;br /&gt;
		 	fallbackLanguage = true&lt;br /&gt;
    		formattedValue = mw.ustring.format(&amp;#039;&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;#039;, localLabel)&lt;br /&gt;
    	else&lt;br /&gt;
			formattedValue = mw.ustring.format( &amp;quot;[[:d:%s|%s]]&amp;quot;, entityId, entityId )&lt;br /&gt;
		end&lt;br /&gt;
    end&lt;br /&gt;
    return formattedValue, missingTranslation, fallbackLanguage&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function formatOptionalQualifiers(property, qualifiers, qualifiersSep)&lt;br /&gt;
	if (qualifiers==nil) or (#qualifiers == 0) or (not property.qualifiers) then return &amp;#039;&amp;#039; end&lt;br /&gt;
	qualifiersSep = qualifiersSep or &amp;#039;, &amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local formmatedQualifiers = {}&lt;br /&gt;
	local warnings = &amp;#039;&amp;#039;&lt;br /&gt;
	for _, optionalQualifier in pairs( qualifiers ) do&lt;br /&gt;
		-- handling case of &amp;quot;first or default&amp;quot; qualifier (e.g.: for &amp;#039;P1/P2&amp;#039; take P1 if exists, otherwise - P2)&lt;br /&gt;
		for selectableQualifier in string.gmatch(optionalQualifier, &amp;#039;[^/]+&amp;#039;) do&lt;br /&gt;
			if selectableQualifier and property.qualifiers[selectableQualifier] then&lt;br /&gt;
				local optionalQualifierVal = mw.wikibase.formatValues(property.qualifiers[selectableQualifier])&lt;br /&gt;
				local isQualLocalLabel = true&lt;br /&gt;
				if optionalQualifierVal and property.qualifiers[selectableQualifier][1] and property.qualifiers[selectableQualifier][1][&amp;#039;datatype&amp;#039;]==&amp;#039;wikibase-item&amp;#039; then &lt;br /&gt;
					for i, optionalQValues in ipairs(property.qualifiers[selectableQualifier]) do&lt;br /&gt;
						local qualLabel, qualLang = mw.wikibase.getLabelWithLang( optionalQValues[&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;id&amp;#039;] )&lt;br /&gt;
						isQualLocalLabel = isQualLocalLabel and (qualLang==&amp;#039;he&amp;#039;)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if optionalQualifierVal then&lt;br /&gt;
					local formattedValue = &amp;#039;&amp;lt;span title=&amp;quot;&amp;#039;.. mw.wikibase.label(selectableQualifier)..&amp;#039;&amp;quot; class=&amp;quot;propertylink-wikidata-qualifier&amp;quot;&amp;gt;&amp;#039;..mw.wikibase.formatValues(property.qualifiers[selectableQualifier]) ..&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
					table.insert(formmatedQualifiers, formattedValue)&lt;br /&gt;
					break -- found first available value&lt;br /&gt;
				end&lt;br /&gt;
			elseif string.sub(selectableQualifier, 1, 1) ~= &amp;#039;P&amp;#039; then&lt;br /&gt;
				table.insert(formmatedQualifiers, selectableQualifier)&lt;br /&gt;
				break -- found first available value&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local res =  table.concat( formmatedQualifiers, qualifiersSep)&lt;br /&gt;
	if #formmatedQualifiers &amp;gt; 0 then&lt;br /&gt;
		res = mw.ustring.format(&amp;#039;&amp;lt;span style=&amp;quot;font-size:0.9em;&amp;quot;&amp;gt; (%s)&amp;lt;/span&amp;gt;&amp;#039;, res)&lt;br /&gt;
	end		&lt;br /&gt;
	return res .. warnings&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Fetch property from wikidata and format it:&lt;br /&gt;
* if the entity or the claim doesn&amp;#039;t exist - nil&lt;br /&gt;
* Formating rules:&lt;br /&gt;
	- for entity reference - returns link to entity (using sitelink) with label as text, otherwise wikidata label as text&lt;br /&gt;
	- for string - returns the string&lt;br /&gt;
	- for quantity - returns the amount&lt;br /&gt;
	- for time - returns the time as string&lt;br /&gt;
	- for image - returns image inclusion with 250px size&lt;br /&gt;
* Multivalues:&lt;br /&gt;
	Multivalue is supported with allowMulti. seperator between values defined by multiSeperator&lt;br /&gt;
	&lt;br /&gt;
@param {string} propertyName - name of property (e.g P123)&lt;br /&gt;
@param {bool} allowMulti - whether only first statement should be fetched are all statements.&lt;br /&gt;
@param {bool} allowNA - whether if is valid to fetch somevalue snaks: Default: nil/false&lt;br /&gt;
@param {string} entityId - Qid of the entity for which we fetch the data. Default: nil (page entity)&lt;br /&gt;
@param {string} multiSeperator - seperator between multiple values. Default: ,&lt;br /&gt;
@param {string} optionalQualifier - Property id of optional extra qualifier (e.g P123). will be formatted as propertyName (optionalQualifier)&lt;br /&gt;
@param {bool} genderAware - Fetch gender form instead of regular label&lt;br /&gt;
]]&lt;br /&gt;
function getProperty( propertyName, allowMulti, allowNA, entityId, multiSeperator, optionalQualifier, genderAware )&lt;br /&gt;
	if propertyName==nil or #propertyName==0 then return end -- no property specified&lt;br /&gt;
	entityId = entityId or mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
	if entityId == nil then return end -- entity doesnt exist&lt;br /&gt;
	options = {&lt;br /&gt;
		[&amp;#039;allowMulti&amp;#039;] = allowMulti,&lt;br /&gt;
		[&amp;#039;allowNA&amp;#039;] = allowNA,&lt;br /&gt;
		[&amp;#039;seperator&amp;#039;] = multiSeperator or &amp;#039;, &amp;#039;,&lt;br /&gt;
		[&amp;#039;qualifier&amp;#039;] = optionalQualifier,&lt;br /&gt;
		[&amp;#039;entity-gender-aware&amp;#039;] = genderAware&lt;br /&gt;
	}&lt;br /&gt;
	if optionalQualifier then&lt;br /&gt;
		options[&amp;#039;qualifiers&amp;#039;] = {optionalQualifier}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return getPropertyByOptions(propertyName, entityId, options)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function property( frame )&lt;br /&gt;
    if frame.args[&amp;#039;entity&amp;#039;]==nil and frame.args[&amp;#039;title&amp;#039;] and #frame.args[&amp;#039;title&amp;#039;]&amp;gt;0  then&lt;br /&gt;
        frame.args[&amp;#039;entity&amp;#039;] = mw.wikibase.getEntityIdForTitle( frame.args[&amp;#039;title&amp;#039;] )&lt;br /&gt;
        if frame.args[&amp;#039;entity&amp;#039;]==nil then return end&lt;br /&gt;
    end&lt;br /&gt;
    return getProperty(string.upper(frame.args[1]), (frame.args[2] and string.len(frame.args[2])&amp;gt;0) or false, true, frame.args[&amp;#039;entity&amp;#039;], frame.args[&amp;#039;sep&amp;#039;], frame.args[&amp;#039;q&amp;#039;])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function propertyWithGender(frame)&lt;br /&gt;
	return getProperty(string.upper(frame.args[1]), (frame.args[2] and string.len(frame.args[2])&amp;gt;0) or false, true, frame.args[&amp;#039;entity&amp;#039;], &amp;#039;, &amp;#039;, &amp;#039;&amp;#039;, true)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- formatted reference for statement. Only for non imported statements&lt;br /&gt;
function refStatement(statement)&lt;br /&gt;
	if not statement.references or #statement.references == 0 then return &amp;#039;&amp;#039; end -- no reference&lt;br /&gt;
	local formattedReferences = {}&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	for j, curRef in ipairs(statement.references) do&lt;br /&gt;
		local isImportedRef = curRef.snaks and (curRef.snaks[&amp;#039;P143&amp;#039;] or curRef.snaks[&amp;#039;P4656&amp;#039;])&lt;br /&gt;
		if not isImportedRef then&lt;br /&gt;
			if curRef.snaks[&amp;#039;P854&amp;#039;] then&lt;br /&gt;
				table.insert(formattedReferences, frame:extensionTag{  name = &amp;#039;ref&amp;#039;, content = mw.wikibase.renderSnak(curRef.snaks[&amp;#039;P854&amp;#039;][1])})&lt;br /&gt;
			elseif curRef.snaks[&amp;#039;P2699&amp;#039;] then&lt;br /&gt;
				table.insert(formattedReferences, frame:extensionTag{  name = &amp;#039;ref&amp;#039;, content = mw.wikibase.renderSnak(curRef.snaks[&amp;#039;P2699&amp;#039;][1])})&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(formattedReferences, frame:extensionTag{  name = &amp;#039;ref&amp;#039;, content = mw.wikibase.formatValues(curRef.snaks)})&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(formattedReferences, &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Fetch property from specified entity.&lt;br /&gt;
&lt;br /&gt;
@param {string} propertyName - name of property (e.g P123)&lt;br /&gt;
@param {string} entityId - Qid of the entity for which we fetch the data. Default: nil (page entity)&lt;br /&gt;
@param {table} options - table with following supported parameters:&lt;br /&gt;
	- seperator - seperator between multiple values. Default: ,&lt;br /&gt;
	- allowMulti - whether only first statement should be fetched are all statements.&lt;br /&gt;
	- allowNA - whether if is valid to fetch somevalue snaks: Default: nil/false&lt;br /&gt;
	- entity-gender-aware - Fetch gender form instead of regular label &lt;br /&gt;
	- qualifiers - list of optional qualifers to append to property value (Example {&amp;#039;P1&amp;#039;, &amp;#039;P2&amp;#039;))&lt;br /&gt;
	- qualifiers-sep - seperator between optional qualifiers&lt;br /&gt;
	- img-width - width of image&lt;br /&gt;
]]&lt;br /&gt;
function getPropertyByOptions( propertyName, entityId, options )&lt;br /&gt;
	-- verify entity exists&lt;br /&gt;
	if entityId == nil then entityId = mw.wikibase.getEntityIdForCurrentPage() end&lt;br /&gt;
	if entityId==nil then return end&lt;br /&gt;
	&lt;br /&gt;
	-- defaults&lt;br /&gt;
	options = options or {}&lt;br /&gt;
	options[&amp;#039;seperator&amp;#039;] = options[&amp;#039;seperator&amp;#039;] or &amp;#039;, &amp;#039;&lt;br /&gt;
	options[&amp;#039;allowMulti&amp;#039;] = options[&amp;#039;allowMulti&amp;#039;] or false&lt;br /&gt;
	options[&amp;#039;allowNA&amp;#039;] = options[&amp;#039;allowNA&amp;#039;] or false&lt;br /&gt;
	options[&amp;#039;entity-gender-aware&amp;#039;] = options[&amp;#039;entity-gender-aware&amp;#039;] or false -- Fetch gender form instead of regular label&lt;br /&gt;
	options[&amp;#039;qualifiers&amp;#039;] = options[&amp;#039;qualifiers&amp;#039;] or {} -- fetch optional qualifiers&lt;br /&gt;
	options[&amp;#039;qualifiers-sep&amp;#039;] = options[&amp;#039;qualifiers-sep&amp;#039;] or &amp;#039;, &amp;#039;&lt;br /&gt;
	options[&amp;#039;img-width&amp;#039;] = options[&amp;#039;img-width&amp;#039;] or &amp;#039;250px&amp;#039;&lt;br /&gt;
	options[&amp;#039;source&amp;#039;] = options[&amp;#039;source&amp;#039;] or false&lt;br /&gt;
	options[&amp;#039;filter&amp;#039;] = options[&amp;#039;filter&amp;#039;] or nil&lt;br /&gt;
	options[&amp;#039;sort&amp;#039;] = options[&amp;#039;sort&amp;#039;] or &amp;#039;P1545&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    local propertyVals = mw.wikibase.getBestStatements(entityId, propertyName)&lt;br /&gt;
    if (not propertyVals) or (#propertyVals==0) then return end --no such property for this item&lt;br /&gt;
    local resTable = {}&lt;br /&gt;
    local missingTranslation = 0&lt;br /&gt;
    local hasFallbackTransation = false&lt;br /&gt;
&lt;br /&gt;
    local sortByQualifier = function(t1, t2)&lt;br /&gt;
    	if t1 and t2 then&lt;br /&gt;
    		local q1 = t1.qualifiers&lt;br /&gt;
    		local q2 = t2.qualifiers&lt;br /&gt;
    		local c1 = nil&lt;br /&gt;
    		local c2 = nil&lt;br /&gt;
    		if q1 and q2 then&lt;br /&gt;
    			if q1[options[&amp;#039;sort&amp;#039;]] and q1[options[&amp;#039;sort&amp;#039;]][1] and q1[options[&amp;#039;sort&amp;#039;]][1].datavalue and q1[options[&amp;#039;sort&amp;#039;]][1].datavalue.value then&lt;br /&gt;
    				if q1[options[&amp;#039;sort&amp;#039;]][1].datavalue.type == &amp;#039;string&amp;#039; then&lt;br /&gt;
    					c1 = q1[options[&amp;#039;sort&amp;#039;]][1].datavalue.value&lt;br /&gt;
    				elseif q1[options[&amp;#039;sort&amp;#039;]][1].datavalue.type == &amp;#039;quantity&amp;#039; then&lt;br /&gt;
    					c1 = q1[options[&amp;#039;sort&amp;#039;]][1].datavalue.value.amount&lt;br /&gt;
    				elseif q1[options[&amp;#039;sort&amp;#039;]][1].datavalue.type == &amp;#039;time&amp;#039; then&lt;br /&gt;
    					c1 = q1[options[&amp;#039;sort&amp;#039;]][1].datavalue.value.time&lt;br /&gt;
    				end&lt;br /&gt;
    			end&lt;br /&gt;
    			if q2[options[&amp;#039;sort&amp;#039;]] and q2[options[&amp;#039;sort&amp;#039;]][1] and q2[options[&amp;#039;sort&amp;#039;]][1].datavalue and q2[options[&amp;#039;sort&amp;#039;]][1].datavalue.value then&lt;br /&gt;
    				if q2[options[&amp;#039;sort&amp;#039;]][1].datavalue.type == &amp;#039;string&amp;#039; then&lt;br /&gt;
    					c2 = q2[options[&amp;#039;sort&amp;#039;]][1].datavalue.value&lt;br /&gt;
    				elseif q2[options[&amp;#039;sort&amp;#039;]][1].datavalue.type == &amp;#039;quantity&amp;#039; then&lt;br /&gt;
    					c2 = q2[options[&amp;#039;sort&amp;#039;]][1].datavalue.value.amount&lt;br /&gt;
    				elseif q2[options[&amp;#039;sort&amp;#039;]][1].datavalue.type == &amp;#039;time&amp;#039; then&lt;br /&gt;
    					c2 = q2[options[&amp;#039;sort&amp;#039;]][1].datavalue.value.time&lt;br /&gt;
    				end&lt;br /&gt;
    			end&lt;br /&gt;
    			if c1 and c2 then&lt;br /&gt;
    				return c1&amp;lt;c2&lt;br /&gt;
    			elseif c1 then&lt;br /&gt;
    				return true&lt;br /&gt;
    			elseif c2 then&lt;br /&gt;
    				return false&lt;br /&gt;
    			end&lt;br /&gt;
    		elseif q1 then&lt;br /&gt;
				return true&lt;br /&gt;
    		elseif q2 then&lt;br /&gt;
				return false&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			if t1 then&lt;br /&gt;
				return true&lt;br /&gt;
			end&lt;br /&gt;
			if t2 then&lt;br /&gt;
				return false&lt;br /&gt;
			end&lt;br /&gt;
    	end&lt;br /&gt;
		return false&lt;br /&gt;
    end&lt;br /&gt;
    if options[&amp;#039;sort&amp;#039;] then&lt;br /&gt;
    	table.sort(propertyVals, sortByQualifier)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	if options[&amp;#039;filter&amp;#039;] then&lt;br /&gt;
		propertyVals = options[&amp;#039;filter&amp;#039;](propertyVals)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    for i, property in ipairs(propertyVals) do&lt;br /&gt;
	    local propValue = property.mainsnak and property.mainsnak.datavalue&lt;br /&gt;
	    if not propValue then &lt;br /&gt;
	    	if options[&amp;#039;allowNA&amp;#039;] and (property.mainsnak and property.mainsnak.snaktype)==&amp;#039;somevalue&amp;#039; then&lt;br /&gt;
	    		return &amp;#039;לא ידוע&amp;#039;&lt;br /&gt;
	    	else&lt;br /&gt;
	    		--property doesnt exist&lt;br /&gt;
	    		return &lt;br /&gt;
			end&lt;br /&gt;
	    end &lt;br /&gt;
	    &lt;br /&gt;
		local isImage = (property.mainsnak.datatype == &amp;#039;commonsMedia&amp;#039;)&lt;br /&gt;
	    if propValue[&amp;#039;type&amp;#039;] == &amp;#039;wikibase-entityid&amp;#039; then&lt;br /&gt;
	    	local formattedValue, valueMissingTranslation, fallbackLang = formatEntity( propValue.value[&amp;#039;id&amp;#039;], options[&amp;#039;entity-gender-aware&amp;#039;] and entityId)&lt;br /&gt;
	        if not valueMissingTranslation or fallbackLang then&lt;br /&gt;
	        	hasFallbackTransation = hasFallbackTransation or fallbackLang&lt;br /&gt;
	        	if formattedValue then&lt;br /&gt;
	        		formattedValue = formattedValue .. formatOptionalQualifiers(property, options[&amp;#039;qualifiers&amp;#039;], options[&amp;#039;qualifiers-sep&amp;#039;])&lt;br /&gt;
	        	end&lt;br /&gt;
	        	if options[&amp;#039;source&amp;#039;] and property.references then&lt;br /&gt;
		    		formattedValue  = formattedValue.. refStatement(property)&lt;br /&gt;
		    	end&lt;br /&gt;
        		table.insert(resTable, formattedValue)&lt;br /&gt;
	        else&lt;br /&gt;
	        	missingTranslation = missingTranslation + 1&lt;br /&gt;
	        end&lt;br /&gt;
	    elseif propValue[&amp;#039;type&amp;#039;] == &amp;#039;string&amp;#039; then&lt;br /&gt;
	    	if isImage then&lt;br /&gt;
	    		table.insert(resTable, mw.ustring.format( &amp;#039;[[File:%s|%s]]&amp;#039;, propValue.value, options[&amp;#039;img-width&amp;#039;] ))&lt;br /&gt;
	    	else&lt;br /&gt;
	    		local formattedValue = propValue.value&lt;br /&gt;
	        	if formattedValue then&lt;br /&gt;
	        		formattedValue = formattedValue .. formatOptionalQualifiers(property, options[&amp;#039;qualifiers&amp;#039;], options[&amp;#039;qualifiers-sep&amp;#039;])&lt;br /&gt;
	        	end&lt;br /&gt;
        		table.insert(resTable, formattedValue)&lt;br /&gt;
	    	end&lt;br /&gt;
    	elseif propValue[&amp;#039;type&amp;#039;] == &amp;#039;monolingualtext&amp;#039; then&lt;br /&gt;
    		-- for monolingualtext print the language as title&lt;br /&gt;
    		local formattedValue = mw.ustring.format(&amp;#039;&amp;lt;span lang=&amp;quot;%s&amp;quot; title=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;#039;, propValue.value.language, &lt;br /&gt;
    											     mw.language.fetchLanguageName( propValue.value.language , &amp;#039;he&amp;#039;), propValue.value.text)&lt;br /&gt;
    		table.insert(resTable, formattedValue)&lt;br /&gt;
	    elseif propValue[&amp;#039;type&amp;#039;] == &amp;#039;quantity&amp;#039; then&lt;br /&gt;
	    	local formattedValue = formatQuantity(property)&lt;br /&gt;
	    	if options[&amp;#039;source&amp;#039;] and property.references then&lt;br /&gt;
	    		formattedValue  = formattedValue.. refStatement(property)&lt;br /&gt;
	    	end&lt;br /&gt;
	    	if formattedValue then&lt;br /&gt;
        		formattedValue = formattedValue .. formatOptionalQualifiers(property, options[&amp;#039;qualifiers&amp;#039;], options[&amp;#039;qualifiers-sep&amp;#039;])&lt;br /&gt;
        	end&lt;br /&gt;
	    	table.insert(resTable, formattedValue)&lt;br /&gt;
	    elseif propValue[&amp;#039;type&amp;#039;] == &amp;#039;time&amp;#039; then&lt;br /&gt;
	    	local timeValue = Date.newFromWikidataValue( property.mainsnak.datavalue.value ):toHebrewString()&lt;br /&gt;
	    	local timeWarning = property[&amp;#039;qualifiers&amp;#039;] and property[&amp;#039;qualifiers&amp;#039;][&amp;#039;P1480&amp;#039;] and property[&amp;#039;qualifiers&amp;#039;][&amp;#039;P1480&amp;#039;][1] &lt;br /&gt;
	    						and property[&amp;#039;qualifiers&amp;#039;][&amp;#039;P1480&amp;#039;][1].datavalue  and property[&amp;#039;qualifiers&amp;#039;][&amp;#039;P1480&amp;#039;][1].datavalue.value&lt;br /&gt;
	    	if timeWarning then&lt;br /&gt;
	    		timeWarning = timeWarning and timeWarning[&amp;#039;id&amp;#039;]&lt;br /&gt;
	    		if timeWarning == &amp;#039;Q5727902&amp;#039; then&lt;br /&gt;
	    			timeValue = timeValue .. &amp;#039;[[Circa|?]]&amp;#039;&lt;br /&gt;
	    		else&lt;br /&gt;
	    			local circu = mw.wikibase.getLabelByLang( timeWarning, &amp;#039;he&amp;#039; )&lt;br /&gt;
	    			if circu then&lt;br /&gt;
	    				timeValue = timeValue .. &amp;#039; &amp;#039; .. circu&lt;br /&gt;
	    			end&lt;br /&gt;
	    		end&lt;br /&gt;
	    	end&lt;br /&gt;
	    	--local timeValue = mw.wikibase.renderSnak( property.mainsnak )&lt;br /&gt;
	    	timeValue = mw.ustring.gsub(timeValue, &amp;#039;^(%d+ %a+) (%d+)$&amp;#039;, &amp;#039;[[%1]] [[%2]]&amp;#039;) &lt;br /&gt;
	    	table.insert(resTable, timeValue)&lt;br /&gt;
	    elseif propValue[&amp;#039;type&amp;#039;] == &amp;#039;globecoordinate&amp;#039; then&lt;br /&gt;
	    	local frame = mw.getCurrentFrame()&lt;br /&gt;
	    	local formattedValue&lt;br /&gt;
	    	local globe = propValue.value.globe&lt;br /&gt;
	    	if globe == &amp;#039;http://www.wikidata.org/entity/Q2&amp;#039; then globe = nil&lt;br /&gt;
	    	else&lt;br /&gt;
	    		local globeMapping = require(&amp;#039;Module:Wikidata/Globes&amp;#039;)&lt;br /&gt;
	    		if globeMapping[globe] then&lt;br /&gt;
	    			globe = &amp;#039;globe:&amp;#039; .. globeMapping[globe]&lt;br /&gt;
	    		else&lt;br /&gt;
	    			globe = nil&lt;br /&gt;
	    		end&lt;br /&gt;
			end&lt;br /&gt;
	    	if globe then&lt;br /&gt;
	    		local northSouth = (propValue.value.latitude&amp;gt;=0 and &amp;#039;N&amp;#039;) or &amp;#039;S&amp;#039;&lt;br /&gt;
	    		local eastWest = (propValue.value.longitude&amp;gt;=0) and &amp;#039;E&amp;#039; or  &amp;#039;W&amp;#039;&lt;br /&gt;
	    		formattedValue = frame:expandTemplate{ title = &amp;#039;Coord&amp;#039;, args = { math.abs(propValue.value.latitude), northSouth, math.abs(propValue.value.longitude), eastWest, globe, display = options[&amp;#039;coord-display&amp;#039;] or &amp;#039;inline&amp;#039; } }&lt;br /&gt;
	    	else&lt;br /&gt;
	    		formattedValue = frame:expandTemplate{ title = &amp;#039;Coord&amp;#039;, args = { propValue.value.latitude, propValue.value.longitude, display = options[&amp;#039;coord-display&amp;#039;] or &amp;#039;inline&amp;#039; } }&lt;br /&gt;
	    	end&lt;br /&gt;
	    	table.insert(resTable, formattedValue)&lt;br /&gt;
	    else&lt;br /&gt;
	    	table.insert(resTable, mw.wikibase.formatValue( property.mainsnak ))&lt;br /&gt;
	    end&lt;br /&gt;
	    if not options[&amp;#039;allowMulti&amp;#039;] then&lt;br /&gt;
	    	break&lt;br /&gt;
	    end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if missingTranslation &amp;gt; 0 and #resTable&amp;gt; 0 then&lt;br /&gt;
		if missingTranslation == 1 then&lt;br /&gt;
	    	table.insert(resTable, &amp;#039;בפסקה זו רשומה אחת נוספת שטרם תורגמה&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
	    	table.insert(resTable, &amp;#039;בפסקה זו &amp;#039;..missingTranslation..&amp;#039; רשומות נוספות שטרם תורגמו&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- bidi isolation - properly show mix or RTL and LTR statements&lt;br /&gt;
	if #resTable&amp;gt;1 then&lt;br /&gt;
		local isolateValues = {}&lt;br /&gt;
		local needIsolation = false&lt;br /&gt;
		for k,v in pairs(resTable) do&lt;br /&gt;
			needIsolation = needIsolation or string.find( v, &amp;#039;[a-zA-Z]&amp;#039;)&lt;br /&gt;
			table.insert(isolateValues, mw.ustring.format(&amp;#039;&amp;lt;span style=&amp;quot;unicode-bidi:isolate&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;#039;, v))&lt;br /&gt;
		end&lt;br /&gt;
		if needIsolation then resTable = isolateValues end&lt;br /&gt;
	end&lt;br /&gt;
	local result = &amp;#039;&amp;#039;&lt;br /&gt;
	-- special case * - listify &lt;br /&gt;
	if options[&amp;#039;seperator&amp;#039;] == &amp;#039;*&amp;#039; and #resTable&amp;gt;1 then&lt;br /&gt;
		result = &amp;#039;*&amp;#039; .. table.concat( resTable, &amp;#039;\n*&amp;#039; )&lt;br /&gt;
	else&lt;br /&gt;
		result = table.concat( resTable, options[&amp;#039;seperator&amp;#039;] )&lt;br /&gt;
	end&lt;br /&gt;
	if hasFallbackTransation or (missingTranslation &amp;gt; 0 ) then&lt;br /&gt;
		result = result .. missingLabelCategory( propertyName )&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getLabel( propertyName, entityId )&lt;br /&gt;
    local entity = entityId or mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
    if not entity then return end--the entity doesnt exist or have no claims&lt;br /&gt;
    local property =  mw.wikibase.getBestStatements(entity, propertyName)&lt;br /&gt;
    if not property or not property[1] then return end --no such property for this item&lt;br /&gt;
    &lt;br /&gt;
    property = property[1]&lt;br /&gt;
    local propValue = property.mainsnak.datavalue&lt;br /&gt;
    if not propValue then return &amp;#039;&amp;#039; end --property doesnt exist&lt;br /&gt;
&lt;br /&gt;
    if propValue[&amp;#039;type&amp;#039;] == &amp;#039;wikibase-entityid&amp;#039; then&lt;br /&gt;
        local label, lang = mw.wikibase.label( propValue.value[&amp;#039;id&amp;#039;] )&lt;br /&gt;
        return label&lt;br /&gt;
    elseif propValue[&amp;#039;type&amp;#039;] == &amp;#039;string&amp;#039; then&lt;br /&gt;
        return propValue.value&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Return the label for property, or the label of the linked entiy of that property&lt;br /&gt;
function label( frame )&lt;br /&gt;
    return getLabel( string.upper(frame.args[1] ))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getItem( propertyName, entityId )&lt;br /&gt;
    local entity = entityId or mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
    if not entity then return end--the entity doesnt exist or have no claims&lt;br /&gt;
    local property =  mw.wikibase.getBestStatements(entity, propertyName)&lt;br /&gt;
    if not property or not property[1] then return end --no such property for this item&lt;br /&gt;
    &lt;br /&gt;
    property = property[1]&lt;br /&gt;
    local propValue = property.mainsnak.datavalue&lt;br /&gt;
    if not propValue then return &amp;#039;&amp;#039; end --property doesnt exist&lt;br /&gt;
&lt;br /&gt;
    return propValue.value[&amp;#039;id&amp;#039;]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Return the Item for property, or the item of the linked entiy of that property&lt;br /&gt;
function item( frame )&lt;br /&gt;
    return getItem( string.upper(frame.args[1] ))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getImageLink( propName, width, align, description, border, entityId)&lt;br /&gt;
	if not entityId then entityId = mw.wikibase.getEntityIdForCurrentPage() end -- entityId wasn&amp;#039;t provided explicitly&lt;br /&gt;
    if not entityId then return end --the entity doesnt exist or have no claims&lt;br /&gt;
    local property =  mw.wikibase.getBestStatements(entityId, propName or &amp;#039;P18&amp;#039;)&lt;br /&gt;
    if property and property[1] then&lt;br /&gt;
    	 if property[1].mainsnak and property[1].mainsnak.snaktype==&amp;#039;novalue&amp;#039; then&lt;br /&gt;
	    	return &amp;#039;[[d:&amp;#039;..mw.wikibase.getEntityIdForCurrentPage()..&amp;#039;#&amp;#039;..(propName or &amp;quot;P18&amp;quot;)..&amp;#039;|&amp;#039; ..&amp;#039;לא ידוע]]&amp;#039;&lt;br /&gt;
	    end&lt;br /&gt;
        local width = width or &amp;quot;220&amp;quot;&lt;br /&gt;
        local extraParameters = width..&amp;#039;px&amp;#039;&lt;br /&gt;
        if align then extraParameters = extraParameters .. &amp;#039;|&amp;#039; .. align end&lt;br /&gt;
        if description then extraParameters = extraParameters .. &amp;#039;|&amp;#039; .. description end&lt;br /&gt;
        if border and (#border &amp;gt; 0) then extraParameters =extraParameters..&amp;#039;|&amp;#039; ..&amp;#039;border&amp;#039; end&lt;br /&gt;
        return mw.ustring.format( &amp;#039;[[File:%s|%s]]&amp;#039;, property[1].mainsnak.datavalue.value, extraParameters )&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
    &lt;br /&gt;
--use this function to get associated image to be used in the article&lt;br /&gt;
function imageLink( frame )&lt;br /&gt;
    return getImageLink(string.upper(frame.args[1] or &amp;#039;P18&amp;#039;), frame.args[&amp;quot;width&amp;quot;], frame.args[&amp;quot;align&amp;quot;], frame.args[&amp;quot;description&amp;quot;], frame.args[&amp;quot;גבול&amp;quot;])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- returns &amp;quot;1&amp;quot; if the page has an associated wikidata entry, &amp;quot;&amp;quot; otherwise&lt;br /&gt;
function hasEntry()&lt;br /&gt;
    local entity = mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
    --if not entity or not entity.claims then return end --the entity doesnt exist or have no claims&lt;br /&gt;
    if not entity then return end --the entity doesnt exist or have no claims&lt;br /&gt;
    return 1&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- returns the wikidata Qid, if exists, &amp;quot;&amp;quot; otherwise&lt;br /&gt;
function getPageEntry(frame)&lt;br /&gt;
	return mw.wikibase.getEntityIdForTitle(string.upper(frame.args[1] ))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getSitelinksFromQid(frame)&lt;br /&gt;
	resTable = mw.wikibase.getEntity(string.upper(frame.args[1] ))&lt;br /&gt;
	resTable = resTable[&amp;quot;sitelinks&amp;quot;]&lt;br /&gt;
	s= &amp;quot;&amp;lt;table&amp;gt;\n&amp;quot;&lt;br /&gt;
		for k,v in pairs(resTable) do&lt;br /&gt;
			if  v.title then&lt;br /&gt;
				s=s..&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;.. &amp;quot;&amp;lt;td&amp;gt;&amp;quot; .. k..&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;.. &amp;quot;&amp;lt;td&amp;gt;&amp;quot; .. v.title..&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;..&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot; .. &amp;quot;\n&amp;quot;&lt;br /&gt;
		end &lt;br /&gt;
	end&lt;br /&gt;
	return s .. &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;&lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
local function createInterwikiForQid(frame)&lt;br /&gt;
	local raw = mw.wikibase.getEntity( string.upper( frame.args[1] ) )[&amp;quot;sitelinks&amp;quot;]&lt;br /&gt;
	local interwikis = &amp;#039;&amp;#039;&lt;br /&gt;
	for site, val in pairs(raw) do&lt;br /&gt;
		truncated, found = string.gsub(site, &amp;#039;wiki$&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
		truncated = string.gsub(truncated, &amp;#039;_&amp;#039;, &amp;#039;-&amp;#039;)&lt;br /&gt;
		if found == 1 and truncated ~= &amp;#039;he&amp;#039; and truncated ~= &amp;#039;commons&amp;#039; then interwikis = interwikis .. &amp;#039;[[&amp;#039; .. truncated .. &amp;#039;:&amp;#039; .. val.title .. &amp;#039;]]&amp;#039; end&lt;br /&gt;
	end&lt;br /&gt;
	return interwikis&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
    imageLink = imageLink,&lt;br /&gt;
    [&amp;#039;תמונה&amp;#039;] = imageLink,&lt;br /&gt;
    label = label,&lt;br /&gt;
    [&amp;#039;תווית&amp;#039;] = label,&lt;br /&gt;
    item = item,&lt;br /&gt;
    [&amp;#039;פריט&amp;#039;] = item,&lt;br /&gt;
    formatEntity = formatEntity,&lt;br /&gt;
    property = property,&lt;br /&gt;
    propertyWithGender = propertyWithGender,&lt;br /&gt;
    [&amp;#039;מאפיין&amp;#039;] = property,&lt;br /&gt;
    getProperty = getProperty,&lt;br /&gt;
    getPropertyByOptions = getPropertyByOptions,&lt;br /&gt;
    getPropertyQualifier = getPropertyQualifier,&lt;br /&gt;
    getItem = getItem,&lt;br /&gt;
    getImageLink = getImageLink,&lt;br /&gt;
    getLabel = getLabel,&lt;br /&gt;
    hasEntry = hasEntry,&lt;br /&gt;
    getPageEntry = getPageEntry,&lt;br /&gt;
    getSitelinksFromQid = getSitelinksFromQid,&lt;br /&gt;
    createInterwikiForQid = createInterwikiForQid,&lt;br /&gt;
    [&amp;#039;יש פריט&amp;#039;] = hasEntry&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>ויקיטקסט&gt;Effib</name></author>
	</entry>
</feed>