Module:SemanticAnnotations: Difference between revisions

// via Wikitext Extension for VSCode
// via Wikitext Extension for VSCode
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
-- Module:SemanticAnnotations
--[[
-- Generates semantic annotations for templates in MediaWiki
* Name: SemanticAnnotations
* Author: Mark W. Datysgeld
* Description: Primary semantic integration module for generating semantic properties with transformation support and property limits
* Notes: Implements batching, deduplication and property limits (200 total, 25 per property); supports simple, object, complex, and subobject mappings; falls back to parser functions when mw.smw unavailable; includes pruning to prevent server crashes
]]


local p = {}
local p = {}
Line 10: Line 14:
local VALUE_LIMIT = 25    -- per individual property
local VALUE_LIMIT = 25    -- per individual property


--[[ Generates semantic annotations using #set parser function
--[[ Fallback for mw.smw.set using the #set parser function.
   @param args - Template parameters
   @param args - Template parameters
   @param mappings - Property mappings: {["Property"] = "param"} or complex format
   @param mappings - Property mappings: {["Property"] = "param"} or complex format
Line 170: Line 174:
end
end


-- Enhanced version supporting complex mappings (fallback when mw.smw unavailable)
-- Enhanced fallback for mw.smw.set with complex mapping support.
function p.generateEnhancedAnnotations(args, mappings, options)
function p.generateEnhancedAnnotations(args, mappings, options)
     args = args or {}
     args = args or {}
Line 253: Line 257:
end
end


--[[ Sets semantic properties with native API or fallback
--[[ Sets semantic properties using the native mw.smw API.
  This is the primary function for setting semantic data.
   @param args - Template parameters
   @param args - Template parameters
   @param mappings - Property mappings in formats:
   @param mappings - Property mappings in formats: