Module:MathModDB: Difference between revisions

From MaRDI portal
TA4Shehu (talk | contribs)
Created page with "-- Required modules for SPARQL queries and HTML table generation -- Module for executing SPARQL queries local sparql = require('SPARQL') -- MediaWiki library for logging and utilities local mw = require('mw') local json = require("mw.text") -- Main table to hold all functions local p = {} function p.getMathModDBStatistics() end return p"
 
TA4Shehu (talk | contribs)
No edit summary
Line 11: Line 11:
function p.getMathModDBStatistics()
function p.getMathModDBStatistics()


--  Q60231 refers to academic discipline
-- Q6534265 refers to MathModDB community
  local sparqlQuery = [[
SELECT ?Research_Fields
WHERE {
    ?item wdt:P31  wd:Q60231;
          wdt:P1495 wd:Q6534265 .
}
    ]]
   
-- Executing the SPARQL query and retrieving results in JSON format
local jsonResults = sparql.runQuery(sparqlQuery)
  -- Get the number of mathematical formulations
local totalResearchFields = #jsonResults.results.bindings
-- Table to store statistics
    local statistics = {}
    -- Construct the Portal URL
    local url = "https://portal.mardi4nfdi.de/wiki/MathModDB/Research_field"
    local totalResearchFieldsWithUrl = string.format('[%s %s]', tostring(url), tostring(totalResearchFields))
    table.insert(statistics, "| " .. totalResearchFieldsWithUrl)
   
    -- Construct the Wikitext table
    local wikitextTable = [[
{| class="wikitable" style="table-layout: fixed; width: 1000px;"
]] .. table.concat(statistics, "\n|-\n") .. "\n|}"
    return wikitextTable





Revision as of 13:40, 23 May 2025

Documentation for this module may be created at Module:MathModDB/doc

-- Required modules for SPARQL queries and HTML table generation
-- Module for executing SPARQL queries
local sparql = require('SPARQL')
-- MediaWiki library for logging and utilities
local mw = require('mw')
local json = require("mw.text") 

-- Main table to hold all functions
local p = {}

function p.getMathModDBStatistics()

--   Q60231 refers to academic discipline 
-- Q6534265 refers to MathModDB community
   local sparqlQuery = [[
SELECT ?Research_Fields
WHERE {
    ?item wdt:P31   wd:Q60231;
          wdt:P1495 wd:Q6534265 .
}
    ]]
    
	-- Executing the SPARQL query and retrieving results in JSON format
	local jsonResults = sparql.runQuery(sparqlQuery)
	  -- Get the number of mathematical formulations
	local totalResearchFields = #jsonResults.results.bindings
	
	-- Table to store statistics
    local statistics = {}
    -- Construct the Portal URL
    local url = "https://portal.mardi4nfdi.de/wiki/MathModDB/Research_field"
    local totalResearchFieldsWithUrl = string.format('[%s %s]', tostring(url), tostring(totalResearchFields))
    table.insert(statistics, "| " .. totalResearchFieldsWithUrl)
    
    -- Construct the Wikitext table
    	local wikitextTable = [[
{| class="wikitable" style="table-layout: fixed; width: 1000px;"
]] .. table.concat(statistics, "\n|-\n") .. "\n|}"
    	return wikitextTable


end

return p