Module:Wikidata/Chemin/Resultat
Apparence
[voir] [modifier] [historique] [purger]
Utilisation
Fonctions exportables hhg:
fonction(frame)
– dyvu euy d erd ehbc hlvescription (courte description defonction(frame)
et autres informations pertinentes).fonction2()
– description2 (courte description defonction2()
et autres informations pertinentes).
Autres fonctions :
fonction()
– description2 (courte description defonction()
et autres informations pertinentes).
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
mw.title
– description (courte description expliquant la dépendance de ce module externe).
Exemples
Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
p.ResultNode = {}
function p.ResultNode:new (o)
local o = o or {}
o.is_RNode = true
setmetatable(o, self)
self.__index = self
return o
end
function p.ResultNode:has_an_entity()
local value_snak = self:snak()
return value_snak.snaktype == "value"
and value_snak.datavalue.type == "wikibase-entityid"
end
function p.ResultNode:has_a_property()
local value_snak = self:snak()
return value_snak.snaktype == "value" and value_snak.datatype == "wikibase-property"
and value_snak.datavalue.type == "wikibase-entityid"
end
function p.ResultNode:has_an_item()
local value_snak = self:snak()
return value_snak.snaktype == "value" and value_snak.datatype == "wikibase-item"
and value_snak.datavalue.type == "wikibase-entityid"
end
-- precondition : ResultNode:has_an_item()
function p.ResultNode:item_value()
local value_snak = self:snak()
if(not(value_snak["datavalue"] )) then return nil end
return "Q" .. tostring(value_snak.datavalue.value['numeric-id'])
end
-- precondition : ResultNode:has_an_entity()
function p.ResultNode:entity_value()
local value_snak = self:snak()
if(not(value_snak["datavalue"] )) then return nil end
return value_snak.datavalue.value['id']
end
-- subclassing
p.StatementRNode = p.ResultNode:new()
p.QualifierRNode = p.ResultNode:new()
p.EpsilonRNode = p.ResultNode:new()
function p.StatementRNode:create(statement, previous_node)
setmetatable(statement, self)
statement.parent = previous_node
self.__index = self
return statement
end
function p.QualifierRNode:create(snak, statement)
setmetatable(snak, self)
snak.parent = statement
self.__index = self
return snak
end
function p.EpsilonRNode:create(item, parent, o)
local o = o or {}
o.item = item
o.parent = parent
setmetatable(o, self)
self.__index = self
return o
end
function p.EpsilonRNode:has_an_item()
return true
end
function p.EpsilonRNode:item_value()
return self.item
end
function p.StatementRNode:snak()
return self.mainsnak
end
function p.QualifierRNode:snak()
return self
end
return p