Template:Workflow: Difference between revisions

From MaRDI portal
T4 reidelbach (talk | contribs)
No edit summary
No edit summary
Tag: Manual revert
 
(46 intermediate revisions by 2 users not shown)
Line 42: Line 42:


=== Variables ===
=== Variables ===
<div class="no-pagination no-filter">
{{#sparql:
{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
SELECT ?Name ?Unit ?Symbol ?Task (?Type AS ?Dependency_Type) 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.


SELECT ?InputLabel ?Type ?TaskLabel WHERE {
   # Service query to get tasks and connect them to quantities
   wd:{{#invoke:Wd|label|raw|}} wdt:P557 ?item .
  ?item wdt:P31 wd:Q68663;
        wdt:P188 ?url;
        rdfs:label ?Label.
   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 ?TaskLabel.
         ?task rdfs:label ?Task .
        ?Task mdb:containsInput ?Input.
          
         ?Input rdfs:label ?InputLabel.
         # Define type based on connection type (Input or Output)
         BIND(IF(BOUND(?Input), "independent", "dependent") AS ?Type)
         {
         ?Task mdb:containsOutput ?Output.
            ?task mdb:containsInput ?item .
        ?Output rdfs:label ?OutputLabel.
            ?item rdfs:label ?Name .
        BIND(IF(BOUND(?Output), "dependent", "dependent") AS ?Type)
            BIND("independent" AS ?Type)
         }
         }
        UNION
        {
            ?task mdb:containsOutput ?item .
            ?item rdfs:label ?Name .
            BIND("dependent" AS ?Type)
        }
       
        # 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("&lt;math&gt;", ?cleanSymbol, "&lt;/math&gt;") 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
| chart=bordercloud.visualization.DataTable
}}
}}
</div>


=== 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
        ?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("&lt;math&gt;", ?cleanSymbol, "&lt;/math&gt;") AS ?Symbol)
        }
        # Initialize the Unit variable as empty
        BIND("" AS ?Unit)
    }
}
ORDER BY ?Name
| chart=bordercloud.visualization.DataTable
}}


== Process information ==
== Process information ==

Latest revision as of 12:02, 31 October 2024


Available identifiers

Problem statement

Object of research and objective

Involved disciplines

    Model

    Variables

    Parameters

    Process information

    Process steps

    Applied methods

    Software used

    Hardware

    Input data

    Output data