Template:Workflow: Difference between revisions
From MaRDI portal
EloiFerrer (talk | contribs) No edit summary Tag: Manual revert |
|||
(36 intermediate revisions by 2 users not shown) | |||
Line 42: | Line 42: | ||
=== Variables === | === Variables === | ||
{{#sparql: | {{#sparql: | ||
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#> | PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#> | ||
SELECT ? | SELECT ?Name ?Unit ?Symbol ?Task (?Type AS ?Dependency_Type) WHERE { | ||
# Starting from the central item | # Starting from the central item | ||
wd:{{#invoke:Wd|label|raw|}} wdt:P557 ?centralItem . | wd:{{#invoke:Wd|label|raw|}} wdt:P557 ?centralItem . | ||
Line 55: | Line 54: | ||
SERVICE <https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query> { | SERVICE <https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query> { | ||
?url mdb:appliedByTask ?task . | ?url mdb:appliedByTask ?task . | ||
?task rdfs:label ? | ?task rdfs:label ?Task . | ||
# Define type based on connection type (Input or Output) | # Define type based on connection type (Input or Output) | ||
{ | { | ||
?task mdb:containsInput ?item . | ?task mdb:containsInput ?item . | ||
?item rdfs:label ? | ?item rdfs:label ?Name . | ||
BIND("independent" AS ?Type) | BIND("independent" AS ?Type) | ||
} | } | ||
Line 66: | Line 65: | ||
{ | { | ||
?task mdb:containsOutput ?item . | ?task mdb:containsOutput ?item . | ||
?item rdfs:label ? | ?item rdfs:label ?Name . | ||
BIND("dependent" AS ?Type) | BIND("dependent" AS ?Type) | ||
} | } | ||
Line 82: | Line 81: | ||
# Extract symbol and quantity label | # Extract symbol and quantity label | ||
BIND(STRBEFORE(?cleanedStatement, ",") AS ? | BIND(STRBEFORE(?cleanedStatement, ",") AS ?Symbolraw) | ||
BIND(STRAFTER(?cleanedStatement, ",") AS ?quantityLabel) | BIND(STRAFTER(?cleanedStatement, ",") AS ?quantityLabel) | ||
BIND(REPLACE(?Symbolraw, "\\$", "") AS ?cleanSymbol) | |||
BIND(CONCAT("<math>", ?cleanSymbol, "</math>") AS ?Symbol) | |||
} | |||
BIND(STR(?Name) AS ?plainItemLabel) | |||
FILTER(?quantityLabel = ?plainItemLabel) | |||
} | |||
# Initialize the Unit variable as empty | |||
BIND("" AS ?Unit) | |||
} | |||
ORDER BY ?taskLabel ?itemLabel | |||
| chart=bordercloud.visualization.DataTable | |||
}} | |||
=== Parameters === | |||
{{#sparql: | |||
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#> | |||
SELECT ?Name ?Unit ?Symbol WHERE { | |||
# Starting from the central item | |||
wd:{{#invoke:Wd|label|raw|}} wdt:P557 ?centralItem . | |||
?centralItem wdt:P31 wd:Q68663; | |||
wdt:P188 ?url; | |||
rdfs:label ?Label. | |||
# Service query to get tasks and connect them to parameters | |||
SERVICE <https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query> { | |||
?url mdb:appliedByTask ?task . | |||
?task rdfs:label ?Task . | |||
# Retrieve parameters associated with the task | |||
BIND(STR(? | ?task mdb:containsParameter ?item . | ||
?item rdfs:label ?Name . | |||
# Filter results to only show defining statements that match the current quantity label | |||
OPTIONAL { | |||
?task mdb:containsFormulation ?formulation . | |||
?formulation mdb:inDefiningFormulation ?definingStatement . | |||
# Convert definingStatement to a plain string to strip off datatype markup | |||
BIND(STR(?definingStatement) AS ?plainStatement) | |||
# Clean up spaces around commas, making the format consistent | |||
BIND(REPLACE(?plainStatement, "\\s*,\\s*", ",") AS ?cleanedStatement) | |||
# Extract symbol and quantity label | |||
BIND(STRBEFORE(?cleanedStatement, ",") AS ?Symbolraw) | |||
BIND(STRAFTER(?cleanedStatement, ",") AS ?quantityLabel) | |||
BIND(REPLACE(?Symbolraw, "\\$", "") AS ?cleanSymbol) | |||
BIND(CONCAT("<math>", ?cleanSymbol, "</math>") AS ?Symbol) | |||
} | } | ||
# Initialize the Unit variable as empty | |||
BIND("" AS ?Unit) | |||
} | } | ||
} | } | ||
ORDER BY ? | ORDER BY ?Name | ||
| chart=bordercloud.visualization.DataTable | | chart=bordercloud.visualization.DataTable | ||
}} | }} | ||
== Process information == | == Process information == |
Latest revision as of 12:02, 31 October 2024