Template:Workflow: Difference between revisions

From MaRDI portal
T4 reidelbach (talk | contribs)
T4 reidelbach (talk | contribs)
 
(34 intermediate revisions by the same user not shown)
Line 16: Line 16:
<div class="no-pagination no-filter">
<div class="no-pagination no-filter">
{{#sparql:
{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
SELECT ?Label ?Description ?Time ?Space WHERE {
SELECT ?Label ?Description ?Time ?Space WHERE {
   wd:{{#invoke:Wd|label|raw|}} wdt:P557 ?item .
   wd:{{#invoke:Wd|label|raw|}} wdt:P557 ?item .
   ?item wdt:P31 wd:Q68663;
   ?item wdt:P31 wd:Q68663;
        wdt:P188 ?url;
         rdfs:label ?Label;
         rdfs:label ?Label.
        schema:description ?Description;
  SERVICE <https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query> {
        BIND(
        ?url rdfs:comment ?Description;
              IF(EXISTS { ?item wdt:P31 wd:Q6672091 }, "continuous",
        OPTIONAL {?url mdb:isTimeContinuous ?isTimeContinuous.}
                        IF(EXISTS { ?item wdt:P31 wd:Q6672095 }, "discrete",  
          BIND(
                        "independent"
                IF(BOUND(?isTimeContinuous),
                          )
                IF(?isTimeContinuous = true, "continuous", "discrete"),
                 ) AS ?Time
                 "independent") AS ?Time )
            )
        OPTIONAL {?url mdb:isSpaceContinuous ?isSpaceContinuous.}
        BIND(
            BIND(
              IF(EXISTS { ?item wdt:P31 wd:Q6672089 }, "continuous",
                IF(BOUND(?isSpaceContinuous),
                        IF(EXISTS { ?item wdt:P31 wd:Q6672093 }, "discrete",  
                IF(?isSpaceContinuous = true, "continuous", "discrete"),
                        "independent"
                    "independent") AS ?Space )
                          )
  }
                ) AS ?Space
            )            
}
}
| chart=bordercloud.visualization.DataTable
| chart=bordercloud.visualization.DataTable
Line 44: Line 43:
=== Variables ===
=== Variables ===
{{#sparql:
{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
SELECT ?Name ?Unit ?Symbol ?Task (?Type AS ?Dependency_Type) WHERE {
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|}} p:P557 ?statement.
   ?centralItem wdt:P31 wd:Q68663;
  ?statement ps:P557 ?model.
                wdt:P188 ?url;
   ?statement pq:P147 ?task.
                rdfs:label ?Label.
  ?model wdt:P31 wd:Q68663.


   # Service query to get tasks and connect them to quantities
   ?task rdfs:label ?Task .
  SERVICE <https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query> {
        ?url mdb:appliedByTask ?task .
        ?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 p:P1560 ?inner_statement .
            ?inner_statement ps:P1560 ?item.
            ?inner_statement pq:P560 ?role.
            FILTER (?role = wd:Q6480299)
             ?item rdfs:label ?Name .
             ?item rdfs:label ?Name .
             BIND("independent" AS ?Type)
             BIND("independent" AS ?Type)
Line 65: Line 63:
         UNION
         UNION
         {
         {
             ?task mdb:containsOutput ?item .
             ?task p:P1560 ?inner_statement .
            ?inner_statement ps:P1560 ?item.
            ?inner_statement pq:P560 ?role.
            FILTER (?role = wd:Q6480295)
             ?item rdfs:label ?Name .
             ?item rdfs:label ?Name .
             BIND("dependent" AS ?Type)
             BIND("dependent" AS ?Type)
Line 72: Line 73:
         # Filter results to only show defining statements that match the current quantity label
         # Filter results to only show defining statements that match the current quantity label
         OPTIONAL {
         OPTIONAL {
             ?task mdb:containsFormulation ?formulation .
             ?task wdt:P1560 ?formulation.
             ?formulation mdb:inDefiningFormulation ?definingStatement .
             ?formulation wdt:P31 wd:Q6481152.
            ?formulation p:P983 ?inner_inner_statement .
            ?inner_inner_statement ps:P983 ?Symbol.
            ?inner_inner_statement pq:P984 ?quantity
        }
        FILTER (?quantity = ?item)


            # 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)
     BIND("" AS ?Unit)
}
}
ORDER BY ?taskLabel ?itemLabel
ORDER BY ?task ?item
| chart=bordercloud.visualization.DataTable
| chart=bordercloud.visualization.DataTable
| endpoint=https://query.portal.mardi4nfdi.de/proxy/wdqs/bigdata/namespace/wdq/sparql
| endpoint=https://query.portal.mardi4nfdi.de/proxy/wdqs/bigdata/namespace/wdq/sparql
Line 103: Line 90:
=== Parameters ===
=== Parameters ===
{{#sparql:
{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
SELECT ?Name ?Unit ?Symbol ?Task WHERE {
SELECT ?Name ?Unit ?Symbol WHERE {
   # Starting from the central item
   # Starting from the central item
   wd:{{#invoke:Wd|label|raw|}} wdt:P557 ?centralItem .
   wd:{{#invoke:Wd|label|raw|}} p:P557 ?statement.
   ?centralItem wdt:P31 wd:Q68663;
  ?statement ps:P557 ?model.
                wdt:P188 ?url;
   ?statement pq:P147 ?task.
                rdfs:label ?Label.
  ?model wdt:P31 wd:Q68663.


   # Service query to get tasks and connect them to parameters
   ?task rdfs:label ?Task .
  SERVICE <https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query> {
        ?url mdb:appliedByTask ?task .
        ?task rdfs:label ?Task .
          
          
         # Retrieve parameters associated with the task
         # Define type based on connection type (Parameter)
         ?task mdb:containsParameter ?item .
        ?task p:P1560 ?inner_statement .
         ?inner_statement ps:P1560 ?item.
        ?inner_statement pq:P560 ?role.
        FILTER (?role = wd:Q6480341)
         ?item rdfs:label ?Name .
         ?item rdfs:label ?Name .
          
          
         # Filter results to only show defining statements that match the current quantity label
         # Filter results to only show defining statements that match the current quantity label
         OPTIONAL {
         OPTIONAL {
             ?task mdb:containsFormulation ?formulation .
             ?task wdt:P1560 ?formulation.
             ?formulation mdb:inDefiningFormulation ?definingStatement .
             ?formulation wdt:P31 wd:Q6481152.
 
             ?formulation p:P983 ?inner_inner_statement .
             # Convert definingStatement to a plain string to strip off datatype markup
             ?inner_inner_statement ps:P983 ?Symbol.
            BIND(STR(?definingStatement) AS ?plainStatement)
             ?inner_inner_statement pq:P984 ?quantity
 
            # 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)
         }
         }
        FILTER (?quantity = ?item)


        # Initialize the Unit variable as empty
    BIND("" AS ?Unit)
        BIND("" AS ?Unit)
    }
}
}
ORDER BY ?Name
ORDER BY ?task ?item| chart=bordercloud.visualization.DataTable
| chart=bordercloud.visualization.DataTable
| endpoint=https://query.portal.mardi4nfdi.de/proxy/wdqs/bigdata/namespace/wdq/sparql
| endpoint=https://query.portal.mardi4nfdi.de/proxy/wdqs/bigdata/namespace/wdq/sparql
}}
}}
Line 158: Line 132:
       (GROUP_CONCAT(DISTINCT ?outputLink; separator=", ") AS ?Output)
       (GROUP_CONCAT(DISTINCT ?outputLink; separator=", ") AS ?Output)
       (GROUP_CONCAT(DISTINCT ?methodLink; separator=", ") AS ?Method)
       (GROUP_CONCAT(DISTINCT ?methodLink; separator=", ") AS ?Method)
       (GROUP_CONCAT(DISTINCT ?environmentLabel; separator=", ") AS ?Environment)
       (GROUP_CONCAT(DISTINCT ?environmentLink; separator=", ") AS ?Environment)
       (GROUP_CONCAT(DISTINCT ?disciplineLink; separator=", ") AS ?Discipline)
       (GROUP_CONCAT(DISTINCT ?disciplineLink; separator=", ") AS ?Discipline)


Line 207: Line 181:
   OPTIONAL {
   OPTIONAL {
     ?stepID wdt:P557 ?methodID.
     ?stepID wdt:P557 ?methodID.
     ?methodID wdt:P31 wd:Q68669.
     ?methodID wdt:P31 wd:Q127020.
     ?methodID rdfs:label ?methodLabel.
     ?methodID rdfs:label ?methodLabel.
     FILTER (lang(?methodLabel) = 'en')
     FILTER (lang(?methodLabel) = 'en')
Line 221: Line 195:
     ?environmentID rdfs:label ?environmentLabel.
     ?environmentID rdfs:label ?environmentLabel.
     FILTER (lang(?environmentLabel) = 'en')
     FILTER (lang(?environmentLabel) = 'en')
    BIND(replace( xsd:string(?environmentID),
      'https://portal.mardi4nfdi.de/entity/',
      '') as ?environmentQID)
    BIND (CONCAT('<a href=\'/wiki/Item:',?environmentQID,'\'>',?environmentLabel,'</a>') as ?environmentLink)
   }
   }
    
    
Line 245: Line 223:
}}
}}
</div>
</div>
=== Applied methods ===
 
=== Algorithms ===
<div class='no-pagination no-filter'>
<div class='no-pagination no-filter'>
{{#sparql:
{{#sparql:
SELECT ?ID
SELECT ?Name
      ?Name
       ?Description
       ?Description
       (GROUP_CONCAT(DISTINCT ?stepLink; separator=", ") AS ?ProcessStep)
       (GROUP_CONCAT(DISTINCT ?stepLink; separator=", ") AS ?Process_Step)
       (GROUP_CONCAT(DISTINCT ?softwareLink; separator=", ") AS ?ImplementedBy)
       (GROUP_CONCAT(DISTINCT ?softwareLink; separator=", ") AS ?Implemented_By)
        
        
WHERE {
WHERE {
Line 259: Line 237:
   wd:{{#invoke:Wd|label|raw|}} p:P557 ?mainStatement.
   wd:{{#invoke:Wd|label|raw|}} p:P557 ?mainStatement.
   ?mainStatement ps:P557 ?methodID.  
   ?mainStatement ps:P557 ?methodID.  
   ?methodID wdt:P31 wd:Q68669.
   ?methodID wdt:P31 wd:Q127020.
   ?methodID rdfs:label ?NameLabel.               
   ?methodID rdfs:label ?NameLabel.               
   FILTER (lang(?NameLabel) = 'en')
   FILTER (lang(?NameLabel) = 'en')
Line 304: Line 282:
</div>
</div>


=== Software used ===
=== Software ===
<div class='no-pagination no-filter'>
<div class='no-pagination no-filter'>
{{#sparql:
{{#sparql:
SELECT ?ID
SELECT ?Name
      ?Name
       ?Description
       ?Description
       ?Version
       ?Version
       (GROUP_CONCAT(DISTINCT ?plLink; separator=", ") AS ?ProgrammingLanguage)
       (GROUP_CONCAT(DISTINCT ?plLink; separator=", ") AS ?Programming_Language)
       (GROUP_CONCAT(DISTINCT ?dpLink; separator=", ") AS ?Dependencies)
       (GROUP_CONCAT(DISTINCT ?dpLink; separator=", ") AS ?Dependencies)
       ?versioned
       ?versioned
Line 389: Line 366:
<div class='no-pagination no-filter'>
<div class='no-pagination no-filter'>
{{#sparql:
{{#sparql:
SELECT ?ID
SELECT ?Name
      ?Name
       ?Description
       ?Description
       (GROUP_CONCAT(DISTINCT ?processorLink; separator=", ") AS ?Processor)
       (GROUP_CONCAT(DISTINCT ?processorLink; separator=", ") AS ?Processor)
       (GROUP_CONCAT(DISTINCT ?nodes; separator=", ") AS ?NumberOfNodes)
       (GROUP_CONCAT(DISTINCT ?nodes; separator=", ") AS ?Node_Number)
       (GROUP_CONCAT(DISTINCT ?cores; separator=", ") AS ?NumberOfCores)
       (GROUP_CONCAT(DISTINCT ?cores; separator=", ") AS ?Core_Number)
      (GROUP_CONCAT(DISTINCT ?softwareLink; separator=", ") AS ?Software)
        
        
WHERE {
WHERE {
Line 433: Line 410:
   }
   }
    
    
  OPTIONAL {
    wd:{{#invoke:Wd|label|raw|}} p:P557 ?softwareStatement.
    ?softwareStatement ps:P557 ?softwareID;
                      pq:P143 ?hardwareID.
    ?softwareID rdfs:label ?softwareLabel.
    FILTER (lang(?softwareLabel) = 'en')
    BIND(replace( xsd:string(?softwareID),
      'https://portal.mardi4nfdi.de/entity/',
      '') as ?softwareQID)
    BIND (CONCAT('<a href=\'/wiki/Item:',?softwareQID,'\'>',?softwareLabel,'</a>') as ?softwareLink)
  }
}
}
GROUP BY ?ID ?Name ?Description
GROUP BY ?ID ?Name ?Description
Line 441: Line 429:
</div>
</div>


=== Input data ===
=== Data Sets ===
<div class="no-pagination no-filter">  
<div class="no-pagination no-filter">  
{{#sparql:
{{#sparql:
SELECT ?ID
SELECT ?Name
       ?Name
       ?Description
       ?Size
       ?Size
       ?DataStructure
       (?DataType AS ?Data_Type)
       ?ExchangeFormat
       (?RepresentationFormat AS ?Representation_Format)
       ?BinaryOrText
       (?FileFormat AS ?File_Format)
      (?BinaryOrText AS ?Binary_Text)
       ?Proprietary
       ?Proprietary
       ?toPublish
       (?toPublish AS ?to_Publish)
       ?toArchive
       (?toArchive AS ?to_Archive)
        
        
WHERE {
WHERE {
Line 463: Line 452:
   # Get Data
   # Get Data
   OPTIONAL {
   OPTIONAL {
     ?stepID wdt:P1605 ?inputID.
     {?stepID wdt:P1605 ?inputID.}
    UNION
    {?stepID wdt:P1606 ?inputID.}
     ?inputID rdfs:label ?NameLabel.
     ?inputID rdfs:label ?NameLabel.
     FILTER (lang(?NameLabel) = 'en')
     FILTER (lang(?NameLabel) = 'en')
Line 473: Line 464:
     BIND(CONCAT('mardi:','<a href=\'/wiki/Item:',?qid,'\'>',?qid,'</a>') as ?ID)
     BIND(CONCAT('mardi:','<a href=\'/wiki/Item:',?qid,'\'>',?qid,'</a>') as ?ID)
     BIND(CONCAT('<a href=\'/wiki/Item:',?qid,'\'>',?NameLabel,'</a>') as ?Name)
     BIND(CONCAT('<a href=\'/wiki/Item:',?qid,'\'>',?NameLabel,'</a>') as ?Name)
  OPTIONAL {
    ?inputID schema:description ?Description.
    FILTER (lang(?Description) = 'en')}


   # Data Size (maps to Size if File etc size is provided)
   # Data Size (maps to Size if File etc size is provided)
Line 485: Line 480:
}
}
    
    
   # Number of Records (maps to Size if Number of Entries in a Database etc is provided=
   # Number of Records (maps to Size if Number of Entries in a Database etc is provided
   OPTIONAL {
   OPTIONAL {
     ?inputID wdt:P139 ?Sizeraw
     ?inputID wdt:P139 ?Sizeraw
Line 491: Line 486:
   }
   }
    
    
   # Data Structure
   # Data Type
   OPTIONAL {
   OPTIONAL {
     ?inputID wdt:P1193 ?DataStructure
     ?inputID p:P557 ?statement_dt.
    ?statement_dt ps:P557 ?datatypeID.
    ?statement_dt pq:P560 ?qualifier.
    FILTER (?qualifier = wd:Q78802)
    ?datatypeID rdfs:label ?datatypeLabel. 
    FILTER (lang(?datatypeLabel) = 'en')
    BIND(replace( xsd:string(?datatypeID),
        'https://portal.mardi4nfdi.de/entity/',
        '') as ?datatypeQID) 
 
    BIND (CONCAT('<a href=\'/wiki/Item:',?datatypeQID,'\'>',?datatypeLabel,'</a>') as ?DataType)
     }
     }
      
      
   # Exchange Format
   # Representation Format
   OPTIONAL {
   OPTIONAL {
     ?inputID wdt:P921 ?ExchangeFormat
    ?inputID p:P557 ?statement_rf.
    ?statement_rf ps:P557 ?representationID.
    ?statement_rf pq:P560 ?qualifier2.
    FILTER (?qualifier2 = wd:Q6534222)
    ?representationID rdfs:label ?representationLabel. 
    FILTER (lang(?representationLabel) = 'en')
    BIND(replace( xsd:string(?representationID),
        'https://portal.mardi4nfdi.de/entity/',
        '') as ?representationQID) 
 
    BIND (CONCAT('<a href=\'/wiki/Item:',?representationQID,'\'>',?representationLabel,'</a>') as ?RepresentationFormat)
    }
   
  # File Format
  OPTIONAL {
     ?inputID wdt:P921 ?FileFormat
     }
     }
    
    
Line 546: Line 566:
      
      
   }
   }
} GROUP BY ?ID ?Name ?Size ?DataStructure ?ExchangeFormat ?BinaryOrText ?Proprietary ?toPublish ?toArchive
} GROUP BY ?ID ?Name ?Description ?Size ?DataType ?RepresentationFormat ?FileFormat ?BinaryOrText ?Proprietary ?toPublish ?toArchive
 
| chart=bordercloud.visualization.DataTable
| options=width=100%!
| endpoint=https://query.portal.mardi4nfdi.de/proxy/wdqs/bigdata/namespace/wdq/sparql
}}
</div>
 
=== Output data ===
<div class="no-pagination no-filter">
{{#sparql:
SELECT ?ID
      ?Name
      ?Size
      ?DataStructure
      ?ExchangeFormat
      ?BinaryOrText
      ?Proprietary
      ?toPublish
      ?toArchive
     
WHERE {
 
  # Get Step
  wd:{{#invoke:Wd|label|raw|}} p:P557 ?mainStatement.
  ?mainStatement ps:P557 ?stepID.
  ?stepID wdt:P31 wd:Q6486603.           
 
  # Get Data
  OPTIONAL {
    ?stepID wdt:P1606 ?outputID.
    ?outputID rdfs:label ?NameLabel.
    FILTER (lang(?NameLabel) = 'en')
   
    BIND(replace( xsd:string(?outputID),
      'https://portal.mardi4nfdi.de/entity/',
      '') as ?qid)
   
    BIND(CONCAT('mardi:','<a href=\'/wiki/Item:',?qid,'\'>',?qid,'</a>') as ?ID)
    BIND(CONCAT('<a href=\'/wiki/Item:',?qid,'\'>',?NameLabel,'</a>') as ?Name)
 
  # Data Size (maps to Size if File etc size is provided)
  OPTIONAL {
    ?outputID p:P1542 ?statementNode.         
    ?statementNode psv:P1542 ?valueNode.     
    ?valueNode wikibase:quantityAmount ?size;
              wikibase:quantityUnit ?unit.
    ?unit rdfs:label ?unitlabel.
    FILTER (lang(?unitlabel) = 'en')
    BIND(CONCAT(STR(?size), ' ', STR(?unitlabel)) AS ?Size)
}
 
  # Number of Records (maps to Size if Number of Entries in a Database etc is provided=
  OPTIONAL {
    ?outputID wdt:P139 ?Sizeraw
    BIND(CONCAT(STR(?Sizeraw),' Items') as ?Size)
  }
 
  # Data Structure
  OPTIONAL {
    ?outputID wdt:P1193 ?DataStructure
    }
   
  # Exchange Format
  OPTIONAL {
    ?outputID wdt:P921 ?ExchangeFormat
    }
 
  # Binary or Text
  BIND(IF(EXISTS { ?outputID wdt:P31 wd:Q6480276 }, "binary", IF(EXISTS { ?outputID wdt:P31 wd:Q6534207 }, "text", "" )) AS ?BinaryOrText)
 
  # Proprietary
  BIND(IF(EXISTS { ?outputID wdt:P31 wd:Q6480367 }, "yes", IF(EXISTS { ?outputID wdt:P31 wd:Q6480313 }, "no", "" )) AS ?Proprietary)
 
  # Bind DOI and URL if they exist
  OPTIONAL { ?outputID wdt:P23 ?doi. }
  OPTIONAL { ?outputID wdt:P188 ?url. }
 
  # Data Publishing
  BIND(
  IF(EXISTS { ?outputID wdt:P1563 wd:Q6480291 },
    IF(EXISTS { ?outputID wdt:P27 ?doi },
        CONCAT('<a href="', 'https://dx.doi.org', STR(?doi), '">yes</a>'),
        IF(EXISTS { ?outputID wdt:P188 ?url },
          CONCAT('<a href="', STR(?url), '">yes</a>'),
          "yes"
        )
    ),
    "no"
  ) AS ?toPublish
)
 
# Data Archiving
 
  OPTIONAL {
  ?outputID p:P1563 ?statementNode.
  ?statementNode ps:P1563 wd:Q6480370.
  OPTIONAL {
    ?statementNode pq:P411 ?endTime.
  }
}
 
BIND(
  IF(BOUND(?statementNode),
    IF(BOUND(?endTime),
        SUBSTR(STR(?endTime), 1, 4),
        "yes"
    ),
    "no"
  ) AS ?toArchive
)
   
  }
} GROUP BY ?ID ?Name ?Size ?DataStructure ?ExchangeFormat ?BinaryOrText ?Proprietary ?toPublish ?toArchive


| chart=bordercloud.visualization.DataTable
| chart=bordercloud.visualization.DataTable
Line 670: Line 577:
<div class='no-pagination no-filter'>
<div class='no-pagination no-filter'>
{{#sparql:
{{#sparql:
SELECT ?math_result
SELECT ?Mathematically
       ?run_result
       ?Runtime
       ?res_result
       ?Result
       ?plat_result
       (?OriginalPlatform AS ?Original_Platform)
       ?xplat_result
       (?CrossPlatform AS ?Cross_Platform)
       ?Transferability
       ?Transferability
        
        
WHERE {
WHERE {
 
 
   # Mathematical Reproducibility  
   # Mathematical Reproducibility
  BIND("No" AS ?math_result)
   OPTIONAL {
   OPTIONAL {
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?math_statement.
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?math_statement.
     ?math_statement ps:P31 wd:Q6534210.
     ?math_statement ps:P31 wd:Q6534210.
     BIND("Yes" AS ?math_result)
     BIND("Yes" AS ?math_hasTriple)
     OPTIONAL {
     OPTIONAL {
       ?math_statement pq:P8 ?math_text.
       ?math_statement pq:P8 ?math_text.
       BIND(CONCAT("Yes: ", GROUP_CONCAT(DISTINCT STR(?math_text); separator=", ")) AS ?math_result)
       BIND(CONCAT("Yes: ", STR(?math_text)) AS ?math_result)
    }
      }
   }
   }
  BIND(IF(BOUND(?math_result), ?math_result, IF(BOUND(?math_hasTriple), "Yes", "No")) AS ?Mathematically)
    
    
   # Runtime Reproducibility  
   # Runtime Reproducibility
  BIND("No" AS ?run_result)
   OPTIONAL {
   OPTIONAL {
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?run_statement.
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?run_statement.
     ?run_statement ps:P31 wd:Q6534211.
     ?run_statement ps:P31 wd:Q6534211.
     BIND("Yes" AS ?run_result)
     BIND("Yes" AS ?run_hasTriple)
     OPTIONAL {
     OPTIONAL {
       ?run_statement pq:P8 ?run_text.
       ?run_statement pq:P8 ?run_text.
       BIND(CONCAT("Yes: ", GROUP_CONCAT(DISTINCT STR(?run_text); separator=", ")) AS ?run_result)
       BIND(CONCAT("Yes: ", STR(?run_text)) AS ?run_result)
    }
      }
   }
   }
  BIND(IF(BOUND(?run_result), ?run_result, IF(BOUND(?run_hasTriple), "Yes", "No")) AS ?Runtime)
    
    
   # Result Reproducibility  
   # Result Reproducibility
  BIND("No" AS ?res_result)
   OPTIONAL {
   OPTIONAL {
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?res_statement.
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?res_statement.
     ?res_statement ps:P31 wd:Q6534212.
     ?res_statement ps:P31 wd:Q6534212.
     BIND("Yes" AS ?res_result)
     BIND("Yes" AS ?res_hasTriple)
     OPTIONAL {
     OPTIONAL {
       ?res_statement pq:P8 ?res_text.
       ?res_statement pq:P8 ?res_text.
       BIND(CONCAT("Yes: ", GROUP_CONCAT(DISTINCT STR(?res_text); separator=", ")) AS ?res_result)
       BIND(CONCAT("Yes: ", STR(?res_text)) AS ?res_result)
    }
      }
   }
   }
  BIND(IF(BOUND(?res_result), ?res_result, IF(BOUND(?res_hasTriple), "Yes", "No")) AS ?Result)
    
    
   # Original Platform Reproducibility  
   # Original Platform Reproducibility
  BIND("No" AS ?plat_result)
   OPTIONAL {
   OPTIONAL {
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?plat_statement.
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?plat_statement.
     ?plat_statement ps:P31 wd:Q6534213.
     ?plat_statement ps:P31 wd:Q6534213.
     BIND("Yes" AS ?plat_result)
     BIND("Yes" AS ?plat_hasTriple)
     OPTIONAL {
     OPTIONAL {
       ?plat_statement pq:P8 ?plat_text.
       ?plat_statement pq:P8 ?plat_text.
       BIND(CONCAT("Yes: ", GROUP_CONCAT(DISTINCT STR(?plat_text); separator=", ")) AS ?plat_result)
       BIND(CONCAT("Yes: ", STR(?plat_text)) AS ?plat_result)
    }
      }
   }
   }
  BIND(IF(BOUND(?plat_result), ?plat_result, IF(BOUND(?plat_hasTriple), "Yes", "No")) AS ?OriginalPlatform)
    
    
   # Other Platform Reproducibility  
   # Cross Platform Reproducibility
  BIND("No" AS ?xplat_result)
   OPTIONAL {
   OPTIONAL {
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?xplat_statement.
     wd:{{#invoke:Wd|label|raw|}} p:P31 ?xplat_statement.
     ?xplat_statement ps:P31 wd:Q6534214.
     ?xplat_statement ps:P31 wd:Q6534214.
     BIND("Yes" AS ?xplat_result)
     BIND("Yes" AS ?xplat_hasTriple)
     OPTIONAL {
     OPTIONAL {
       ?xplat_statement pq:P8 ?xplat_text.
       ?xplat_statement pq:P8 ?xplat_text.
       BIND(CONCAT("Yes: ", GROUP_CONCAT(DISTINCT STR(?xplat_text); separator=", ")) AS ?xplat_result)
       BIND(CONCAT("Yes: ", STR(?xplat_text)) AS ?xplat_result)
    }
      }
   }
   }
  BIND(IF(BOUND(?xplat_result), ?xplat_result, IF(BOUND(?xplat_hasTriple), "Yes", "No")) AS ?CrossPlatform)
    
    
   # Transferability  
   # Transferability  
Line 746: Line 653:
     OPTIONAL {
     OPTIONAL {
       ?trans_statement pq:P8 ?trans_text.
       ?trans_statement pq:P8 ?trans_text.
       BIND(CONCAT("Yes: ", GROUP_CONCAT(DISTINCT STR(?trans_text); separator=", ")) AS ?trans_result)
       BIND(CONCAT("Yes: ", STR(?trans_text)) AS ?trans_result)
       }
       }
   }
   }
   BIND(IF(BOUND(?trans_result), ?trans_result, IF(BOUND(?trans_hasTriple), "Yes", "No")) AS ?Transferability)
   BIND(IF(BOUND(?trans_result), ?trans_result, IF(BOUND(?trans_hasTriple), "Yes", "No")) AS ?Transferability)
}
}
GROUP BY ?math_result ?run_result ?res_result ?plat_result ?xplat_result ?Transferability
GROUP BY ?Mathematically ?Runtime ?Result ?OriginalPlatform ?CrossPlatform ?Transferability


| chart=bordercloud.visualization.DataTable
| chart=bordercloud.visualization.DataTable

Latest revision as of 15:12, 25 March 2025


Available identifiers

Problem statement

Object of research and objective

Involved disciplines

    Model

    Variables

    Parameters

    Process information

    Process steps

    Algorithms

    Software

    Hardware

    Data Sets

    Reproducibility