Module:TA4TK:myTest: Difference between revisions
From MaRDI portal
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
end | end | ||
function p. | function p.querySPARQL() | ||
-- Define the SPARQL endpoint | -- Define the SPARQL endpoint | ||
local endpoint = "https://query.wikidata.org/" | local endpoint = "https://query.wikidata.org/" | ||
Line 34: | Line 34: | ||
end | end | ||
-- | --return queryResults['results'] | ||
-- Extract and format the first result | -- Extract and format the first result | ||
local item = | local item = queryResults[1].item.value | ||
local label = | local label = queryResults[1].itemLabel.value | ||
return string.format("Item: %s (%s)", label, item) | return string.format("Item: %s (%s)", label, item) | ||
end | end | ||
return p | return p |
Revision as of 15:04, 3 January 2025
Documentation for this module may be created at Module:TA4TK:myTest/doc
-- Main table to hold all functions
local sparql = require('SPARQL') -- Load the SPARQL binding
local p = {}
function p.hello()
local str = "Hello World!"
return str
end
function p.renderFormula()
local formula = "\\sin x" -- LaTeX formula
end
function p.querySPARQL()
-- Define the SPARQL endpoint
local endpoint = "https://query.wikidata.org/"
-- Define the SPARQL query
local sparqlQuery = [[
SELECT ?item ?itemLabel WHERE {
?item wdt:P31 wd:Q5;
rdfs:label "Albert Einstein"@en.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} LIMIT 1
]]
local queryResults = sparql.runQuery(sparqlQuery) -- Use the runQuery method
-- nil is returned if Blazegraph did not return a valid response
if queryResults == nil then
return "No results found."
end
--return queryResults['results']
-- Extract and format the first result
local item = queryResults[1].item.value
local label = queryResults[1].itemLabel.value
return string.format("Item: %s (%s)", label, item)
end
return p