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

From MaRDI portal
 
(218 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
<!-- Research Field is a constant item -->
[[Item:Q3826|Research Field]]  
named "[[Item:Q3825|Pomology]]" (science of fruits) [[Property:P824|containing]] [[Item:Q3782|"Gravitational Effects on Fruit"]] as a specific  
<!-- Research Problem is a constant item -->
[[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.


{{DISPLAYTITLE:{{#invoke:Wd|label}}}}


{{#sparql:
== Available identifiers ==
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
{{#if: {{#invoke:Wd|label|raw|}} | {{Template:Badge|[[Help:MaRDI QID|MaRDI QID]]|https://portal.mardi4nfdi.de/wiki/Item:{{#invoke:Wd|label|raw|}}|{{#invoke:Wd|label|raw|}}}} }}
SELECT ?Name ?Unit ?Symbol ?Task (?Type AS ?Dependency_Type) WHERE {
VALUES ?url {mdb:FreeFallModelAirDrag}
  # 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 quantities
== Testing SPARQL with staging portal ==
  SERVICE <https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query> {
* Get a list of models that are used for the research problem ''Gravitational Effects on Fruit''
        ?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 ?Model
# where Q3782 refers to the Gravitational Effects on Fruit
# where P802 refers to Modelled By
WHERE {
      wd:Q3782 wdt:P802 ?URL.
      ?URL rdfs:label ?Label
      BIND(CONCAT("<a href=", STR(?URL),  ">", STR(?Label) ,"</a>") as ?Model)
}
| chart=bordercloud.visualization.DataTable
| log=2
}}


            # Clean up spaces around commas, making the format consistent
* Get how many models are used for the research problem ''Gravitational Effects on Fruit''
            BIND(REPLACE(?plainStatement, "\\s*,\\s*", ",") AS ?cleanedStatement)


            # Extract symbol and quantity label
{{#sparql:
            BIND(STRBEFORE(?cleanedStatement, ",") AS ?Symbolraw)
SELECT (COUNT(*) AS ?Number_Of_Models)
            BIND(STRAFTER(?cleanedStatement, ",") AS ?quantityLabel)
# where Q3782 is the Gravitational Effects on Fruit
           
WHERE {wd:Q3782 wdt:P802 ?item. 
            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"
|+ 
|-
! Research Field
|-
| [[Item:Q3825|Pomology]]
|-
|}


{{#sparql:
PREFIX mdb: <https://mardi4nfdi.de/mathmoddb#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?Research_Field
WHERE{  mdb:FreeFallModelVacuum mdb:models ?Research_Problem .
        ?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)   
}
| endpoint=https://sparql.mtsr2024.m1.mardi.ovh/mathalgodb/query
| chart=bordercloud.visualization.DataTable
| options=
| log=2
}}


== List of Related Mathematical Models==


{| class="wikitable" style="margin:auto"
* List of Computational Tasks using this Mathematical Model
|+ 
|-
! Mathematical Model
|-
| [[MathModDB:Free Fall Model (Air Drag)|MathModDB: Free Fall Model (Air Drag)]]
|-
|}
 
== 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
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 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en".
              BIND(REPLACE(?Computational_TaskL, " ", "") AS ?computational_task_without_whitespace)   
          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
|format=table
| log=2
|headers=plain
|link=all
}}
}}
#{| 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
|}

Latest revision as of 14:16, 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.


Available identifiers

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