Module:Sandbox/Was a bee/tree/doc
| This is a documentation subpage for Module:Sandbox/Was a bee/tree. It may contain usage information, categories and other content that is not part of the original module page. |
| This module is rated as pre-alpha. It is incomplete and may or may not be in active development. Do not use it in article namespace pages. A module remains in pre-alpha until its developer, or another editor who adopts it if it is abandoned for some time, considers the basic structure complete. |
Usage
[edit source]User:Was a bee/TreeBox Paste following code at anatomy articles. It automatically shows tree (as far as structural data is stored in Wikidata with the source, TA98)
Plans
[edit source]As far as I think in long-term perspective, technical part (rendering graphical tree based on data in Wikidata) would be implemented someday by Mediawiki extension or something in more stylish manner by experienced coder. Just like Template:Category tree (Wikipedia:Catalogue_of_CSS_classes#Page.2Faction_specific, mw:Extension:CategoryTree). So I feel other part would be more important.
Done: Rendering parent-side tree (upstream toward human body)
- Need to process multiple-parents cases (bifurcated parent tree)
Done: Rendering brother tree. Parent (upper) and child (lower) concepts are important. But at the same time, brother concepts (same level concepts) are also important for understanding the topic.
Done: Formatting TA98 ref. I think at least it would be needed to provide external link to the entry (like this [1]) using TA98_ID (d:Property_talk:P1323)- Is it possible to make tree references more compact? Because tree references would be needed (WP:V), but actually not so interesting.
- Treat species general and human specific articles. Fro example, "Human brain" and "Brain", "Human head" and "Head".
- (Re)arrange some input options, especially source and appearance related options.
- Populating Wikidata pages with "part_of (d:Property talk:P361)" and "has_part (d:Property talk:P527)" relations (see Ontology_components#Relationships). Currently TA98 ID is registered in about 3.3k Wikidata pages (Property_talk:P1323).
Related pages
[edit source]- Module:Sandbox/Was a bee/tree - Lua code which generates following trees
- User:Was a bee/Tree - wrapper template
- mw:Extension:Scribunto/Lua reference manual - Lua help
- mw:Extension:Wikibase Client/Lua - Lua help for Wikidata
- Tree technologies from discussion at Wikipedia:Village pump (technical)#Mirror_of_template:Tree_list.2Ffinal_branch (perm link)
Technical background
[edit source]Visual appearance
[edit source]Tree-like visual appearance is created by the "treeview" style described in MediaWiki:Common.css. This module outputs code which contains HTML elements "ul" (unordered list) and "li" (list). And the style sheet converts them into tree view.
| Source example (output from the module) | Result (output to reader) |
|---|---|
<div class="treeview"> <ul> <li>[[Alpha]] <ul> <li>[[Bravo]] <ul>[[Charlie Brown|Charlie]] <li>[[Delta]]</li> <li class="lastline">[[Echo]]</li> </li> </ul> <ul><li>[[Foxtrot]] <ul><li class="lastline">[[Golf]]</li></ul> </li></ul> <ul><li class="lastline">[[Hotel]] [[File:Blue pencil.svg|frameless|text-top|10px|link=https://www.wikidata.org/wiki/Q27686]]</li></ul> </ul></li></ul></div> |
Algorithm
[edit source]Sourcing
[edit source]- Currently permitted source
Statement which has following item in "stated in" section is shown in tree. Other data is not shown in tree in default.
- Terminologia Anatomica (TA98) = Q286567
- Other possible candidates
- Terminologia Embryologica (TE)
- Terminologia Histologica (TH)
- FMA
- UBERON
- MeSH
- NeuroNames
- Gene Ontology
- .....
Problems
[edit source]- Incompatibilities between different sources
- Different sources categorize things different ways. But this module can show only one tree. So some kind of troubleshooting is needed. Actually tree structures are almost similar and the differences between them are subtle. But it exist certainly.
Usage
[edit source]Tree based only on data which is sourced by TA98
[edit source]- Starting from Lua error in Module:Wd at line 633: attempt to index field 'wikibase' (a nil value). (Q47273)
- Tracking through (P527) for downward 10 depth
- Tracking through (P361) for upward 5 depth
- Only showing data which is sourced by Lua error in Module:Wd at line 633: attempt to index field 'wikibase' (a nil value). (Q286567) (excluding other data)
{{User:Was a bee/Tree|items=Q47273|childProperty=P527|childDepth=10|parentProperty=P361|parentDepth=5|sources=TA98}}
Tree based on data including unreferenced data
[edit source]- Starting from Lua error in Module:Wd at line 633: attempt to index field 'wikibase' (a nil value). (Q47273)
- Tracking through (P527) for downward 10 depth
- Tracking through (P361) for upward 5 depth
- Showing all data (including unreferenced data)
{{User:Was a bee/Tree|items=Q47273|childProperty=P527|childDepth=10|parentProperty=P361|parentDepth=5||sources=}}