MathModDB:Free Fall Model (Vacuum): Difference between revisions

From MaRDI portal
Tag: Manual revert
(172 intermediate revisions by 3 users not shown)
Line 1: Line 1:
As a pedagogical example, let us consider the famous story of [https://portal.mardi4nfdi.de/wiki/Item:Q1437751 Sir Isaac Newton] being inspired to formulate his theory of gravitation by watching the fall of an apple from a tree in the year 1666. We have implemented this within the MathModDB knowledge graph by including a [[Item:Q3826|Research Field]] named "[[Item:Q3825|Pomology]]" (science of fruits) [[Property:P824|containing]] [[Item:Q3782|"Gravitational Effects on Fruit"]] as a specific [[Item:Q3781|Research Problem]]. Currently, there is a choice of two [[Item:Q3830|Mathematical Models]] addressing this problem, i. e., "Free Fall Models" without and with the effect of air drag, both of them assuming constant gravitation. [[Item:Q3785|The former one]], actually dating back to Newton, contains the simple "[[Item:Q3794|Free Fall Equation]]",  
As a pedagogical example, let us consider the famous story of [https://portal.mardi4nfdi.de/wiki/Item:Q1437751 Sir Isaac Newton] being inspired to formulate his theory of gravitation by watching the fall of an apple from a tree in the year 1666. We have implemented this within the MathModDB knowledge graph by including a [[Item:Q3826|Research Field]] named "[[Item:Q3825|Pomology]]" (science of fruits) [[Property:P824|containing]] [[Item:Q3782|"Gravitational Effects on Fruit"]] as a specific [[Item:Q3781|Research Problem]]. Currently, there is a choice of two [[Item:Q3830|Mathematical Models]] addressing this problem, i. e., "Free Fall Models" [[Item:Q3785|without]] and [[Item:Q3784|with]] the effect of air drag, both of them assuming constant gravitation. [[Item:Q3785|The former one]], actually dating back to Newton, contains the simple "[[Item:Q3794|Free Fall Equation]]",  
<math>v=v_0-gt</math>, as a Mathematical Formulation. That equation contains the free fall velocity <math>v</math>, the gravitational acceleration <math>g</math>, and the time <math>t</math>. Obviously, the first and second of these Quantities are assigned to the [[Item:Q3845|Quantity Kind]] velocity and [[Item:Q3849|acceleration]], respectively. Within the context of these "Free Fall Models", several different Computational Tasks can be formulated, e.g., [[Item:Q3864|how long does it take for an apple to reach the ground]], or [[Item:Q3870|with which velocity will it hit the ground]]. While the above equation (without air drag) is so simple that it can be solved analytically, in more realistic free fall models the underlying equations have to be solved numerically which falls into the realm of the MathAlgoDB knowledge graph containing suitable numerical solvers for ordinary differential equations such as the Runge Kutta family of algorithms. Finally, we mention that also more complex models involving gravitational effects have been implemented in MathModDB, such as the dynamics of planets in our solar system.
<math>v=v_0-gt</math>, as a Mathematical Formulation. That equation contains the free fall velocity <math>v</math>, the gravitational acceleration <math>g</math>, and the time <math>t</math>. Obviously, the first and second of these Quantities are assigned to the [[Item:Q3845|Quantity Kind]] velocity and [[Item:Q3849|acceleration]], respectively. Within the context of these "Free Fall Models", several different Computational Tasks can be formulated, e.g., [[Item:Q3864|how long does it take for an apple to reach the ground]], or [[Item:Q3870|with which velocity will it hit the ground]]. While the above equation (without air drag) is so simple that it can be solved analytically, in more realistic free fall models the underlying equations have to be solved numerically which falls into the realm of the MathAlgoDB knowledge graph containing suitable numerical solvers for ordinary differential equations such as the Runge Kutta family of algorithms. Finally, we mention that also more complex models involving gravitational effects have been implemented in MathModDB, such as the dynamics of planets in our solar system.


== Testing SPARQL with staging portal ==
* Get a list of models that are used for the research problem ''Gravitational Effects on Fruit''


{{#sparql:
{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
SELECT ?Model
SELECT ?Name ?Unit ?Symbol ?Task (?Type AS ?Dependency_Type) WHERE {
# where Q3782 refers to the Gravitational Effects on Fruit
VALUES ?url {mdb:FreeFallModelAirDrag}
# where P802 refers to Modelled By
  # Starting from the central item
WHERE {
  wd:{{#invoke:Wd|label|raw|}} wdt:P557 ?centralItem .
      wd:Q3782 wdt:P802 ?URL.
  ?centralItem wdt:P31 wd:Q68663;
      ?URL rdfs:label ?Label
                wdt:P188 ?url;
      BIND(CONCAT("<a href=", STR(?URL),  ">", STR(?Label) ,"</a>") as ?Model)
                rdfs:label ?Label.
}
| chart=bordercloud.visualization.DataTable
| log=2
}}


  # Service query to get tasks and connect them to quantities
* Get how many models are used for the research problem ''Gravitational Effects on Fruit''
  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)
        {
            ?task mdb:containsInput ?item .
            ?item rdfs:label ?Name .
            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
{{#sparql:
            BIND(STR(?definingStatement) AS ?plainStatement)
SELECT (COUNT(*) AS ?Number_Of_Models)
 
# where Q3782 is the Gravitational Effects on Fruit
            # Clean up spaces around commas, making the format consistent
WHERE {wd:Q3782 wdt:P802 ?item. 
            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
| log=2
}}
}}


 
== Testing SPARQL with Münster Infrastructure ==


{{#sparql:
{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?Label ?Description ?Task
SELECT ?Label ?Description
WHERE{ VALUES ?url {mdb:FreeFallModelVacuum}
WHERE{ VALUES ?url {mdb:FreeFallModelVacuum}
               ?url rdfs:label ?Label;
               ?url rdfs:label ?Label;
               rdfs:comment ?Description;
               rdfs:comment ?Description;
              mdb:appliedByTask ?task .
              ?task rdfs:label ?Task .
}
}
| endpoint=https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query
| endpoint=https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query
| chart=bordercloud.visualization.DataTable
| chart=bordercloud.visualization.DataTable
| log=2
}}
}}
* List of Formulations


{{#sparql:
{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?Label ?Description ?Time ?Space
SELECT ?Formulation
WHERE { VALUES ?url {mdb:ObjectComparisonModel}
WHERE{ VALUES ?url {mdb:FreeFallModelVacuum}
        ?url rdfs:label ?Label;
              ?url rdfs:label ?Label;
            rdfs:comment ?Description.
              rdfs:comment ?Description;
        OPTIONAL {?url mdb:isTimeContinuous ?isTimeContinuous.}
              mdb:containsFormulation ?formulation .
          BIND(
              ?formulation rdfs:label ?Formulation .
                IF(BOUND(?isTimeContinuous),
}
                IF(?isTimeContinuous = true, "continuous", "discrete"),
                "independent") AS ?Time )
        OPTIONAL {?url mdb:isSpaceContinuous ?isSpaceContinuous.}
            BIND(
                IF(BOUND(?isSpaceContinuous),
                IF(?isSpaceContinuous = true, "continuous", "discrete"),
                    "independent") AS ?Space )
  }
| endpoint=https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query
| endpoint=https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query
| chart=bordercloud.visualization.DataTable
| chart=bordercloud.visualization.DataTable
| options=
| log=2
}}
}}


== List of Related Research Fields==
* List of Related Research Fields


{| class="wikitable" style="margin:auto"
{{#sparql:
|+ 
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
|-
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
! Research Field
SELECT ?Research_Field
|-
WHERE{  mdb:FreeFallModelVacuum mdb:models ?Research_Problem .
| [[Item:Q3825|Pomology]]
        ?Research_Problem mdb:containedInField ?RF .
|-
        ?RF rdfs:label ?Label
|}
  BIND(IRI(CONCAT("https://mtsr2024.m1.mardi.ovh/object/mathmoddb", "%", "3A",?Label)) AS ?URL)
 
BIND(CONCAT("<a href=", STR(?URL),  ">", STR(?Label) ,"</a>") as ?Research_Field)   
 
}
== List of Related Mathematical Models==
| endpoint=https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query
| chart=bordercloud.visualization.DataTable
| options=
| log=2
}}


{| class="wikitable" style="margin:auto"
|+ 
|-
! Mathematical Model
|-
| [[MathModDB:Free Fall Model (Air Drag)|MathModDB: Free Fall Model (Air Drag)]]
|-
|}


== List of Computational Tasks using this Mathematical Model ==
* List of Computational Tasks using this Mathematical Model


{{#sparql:
{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?Computational_Task ?comptaskurl
SELECT ?Computational_Task WHERE{ VALUES ?url {mdb:FreeFallModelVacuum}
WHERE{ VALUES ?url {mdb:FreeFallModelVacuum}
               ?url rdfs:label ?Label;
               ?url rdfs:label ?Label;
               rdfs:comment ?Description;
               rdfs:comment ?Description;
               mdb:appliedByTask ?task .
               mdb:appliedByTask ?task .
               ?task rdfs:label ?Computational_Task .
               ?task rdfs:label ?Computational_TaskL .
               BIND(REPLACE(?Computational_Task, "\\s+", "tt") AS ?ct ) .
               BIND(REPLACE(?Computational_TaskL, " ", "") AS ?computational_task_without_whitespace)  
              CONCAT("https://mtsr2024.m1.mardi.ovh/object/mathmoddb", "%", "3A", ?ct) AS ?comptaskurl .     
          BIND(IRI(CONCAT("https://mtsr2024.m1.mardi.ovh/object/mathmoddb", "%", "3A",?computational_task_without_whitespace)) AS ?URL)
 
BIND(CONCAT("<a href=", STR(?URL), ">", STR(?Computational_TaskL), "</a>") as ?Computational_Task)
}
}
| endpoint=https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query
| endpoint=https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query
| chart=bordercloud.visualization.DataTable
| chart=bordercloud.visualization.DataTable
|link=all
| log=2
}}
}}
{| class="wikitable" style="margin:auto"
|+ 
|-
! Computational Task
|-
| [[Item:Q3864|Free Fall Determine Time]]
|-
| [[Item:Q3870|Free Fall Determine Velocity]]
|-
| [[Item:Q3872|Free Fall Determine Gravitation]]
|}
== List of Related Literature ==
{| class="wikitable" style="margin:auto"
|+ 
|-
! Literature
|-
!
https://doi.org/10.1017/CBO9780511818509
|}

Revision as of 11:44, 22 November 2024

As a pedagogical example, let us consider the famous story of Sir Isaac Newton being inspired to formulate his theory of gravitation by watching the fall of an apple from a tree in the year 1666. We have implemented this within the MathModDB knowledge graph by including a Research Field named "Pomology" (science of fruits) containing "Gravitational Effects on Fruit" as a specific Research Problem. Currently, there is a choice of two Mathematical Models addressing this problem, i. e., "Free Fall Models" without and with the effect of air drag, both of them assuming constant gravitation. The former one, actually dating back to Newton, contains the simple "Free Fall Equation", v=v0gt, as a Mathematical Formulation. That equation contains the free fall velocity v, the gravitational acceleration g, and the time t. Obviously, the first and second of these Quantities are assigned to the Quantity Kind velocity and acceleration, respectively. Within the context of these "Free Fall Models", several different Computational Tasks can be formulated, e.g., how long does it take for an apple to reach the ground, or with which velocity will it hit the ground. While the above equation (without air drag) is so simple that it can be solved analytically, in more realistic free fall models the underlying equations have to be solved numerically which falls into the realm of the MathAlgoDB knowledge graph containing suitable numerical solvers for ordinary differential equations such as the Runge Kutta family of algorithms. Finally, we mention that also more complex models involving gravitational effects have been implemented in MathModDB, such as the dynamics of planets in our solar system.

Testing SPARQL with staging portal

  • Get a list of models that are used for the research problem Gravitational Effects on Fruit
  • Get how many models are used for the research problem Gravitational Effects on Fruit

Testing SPARQL with Münster Infrastructure

  • List of Formulations
  • List of Related Research Fields


  • List of Computational Tasks using this Mathematical Model