Hi, welcome to Link Climate! Link Climate is created to provide Ireland's and England's NOAA climate daily summaries datasets with a complemented data navigation capability in the form of knowledge graph. It is simply composed of a sparql server with data periodically updated from NOAA Climate Data Online and a dereferencing engine powered by LodView.

It is suggested to have a look at README to get some fundamentals of Link Climate before exploring the climate KG. To explore the climate KG, step to entrance to SPARQL endpoint.

If you are a beginner to SPARQL, please follow the guide below step by step and in the meanwhile be aware of the sample queries which may help you understand some jargons used in the steps. Besides, you could also try the example queries directly for a quick start! It won’t take much of your time to get your first SPARQL query result as you proceed through the steps.
Note: the instructions typically use turtle syntax to explain the concepts necessary to the sample queries.

Step 1. Be familiar with the ontology

The ontology created to fit the NOAA daily summary datasets in our project is called specifically Climate Analysis Ontology. The main function of the ontology is like a schema that organizes the data by grouping them into hierarchical classes and establishing connections between the instances of the classes through pre-defined properties. For example, in the following diagram, some core classes (colorful boxes) in CA are connected via certain properties (white boxes). The interpretation of such connections is meant to be consistent with the form "Instance of Domain Class->Property->Instance of Range Class".


Step 2. Assert prefixes for URIs

In graph syntax, a URI is usually used as the unique identifier for entities. Asserting prefixes for URIs under the same namespace could be straightforwardly understood as an easier way to represent the URIs. To be simplistic, It works by extracting part of a URI (usually its namespace) from the beginning and naming it a prefix label. By this, the URI can be simply denoted as the prefix label plus the rest of the URI with a semicolon mark “:” as their separator. In a SPARQL query, you are supposed to give all the prefixes and their bindings explicitly at the beginning. As an example of doing this, in the second sample query, the prefixes are asserted until the keyword “SELECT”.
Note: The “BASE” keyword plays a similar role as “PREFIX”. It represents officially in SPARQL the relative URI. With “BASE” you can trim the namespace of the URI of your concern and enclose the rest with angle brackets “<” and “>”.


Step 3. Query some climate data

At this step, you will be capable of readily getting some actual climate data based on the pre-designed queries. All you need to do is defining a graph pattern for locating the data you are interested in then selecting them out. This can be achieved through the keywords “SELECT” and “WHERE” in SPARQL. The variables (starting with ?) following up the “SELECT” are what you want their bindings to show up in the query results. “{...}” after “WHERE” is meant to be where your graph pattern is placed.


Step 4. Navigate through URIs

When you try the sample queries or use your own queries, the result of the queries will pop up under your query and the URIs thereof are clickable for dereferencing. The dereferencing will then lead to an entity profile GUI where each item of the details is also available for dereferencing. To see a graphical representation of dereferencing navigation, you should find the bottom right link “view on Lodlive” on the GUI. Relevantly, using Lodlive may assist you in some cases for the reason that every click will bring in new information instead of refreshing to a new entity profile page.See an example of graph style navigation here.


These steps with sample queries will only lead you to some basics of SPARQL and in the meanwhile get some climate data as it is defined in the corresponding graph pattern. In the circumstance that you feel interested in the entire SPARQL features, direct yourself to the SPARQL Documentation on which you could learn SPARQL to the point that you can acquire any query solutions upon your thoughts!

1. Query some triples

SELECT ?s ?p ?o WHERE {?s ?p ?o . } LIMIT25
Try it on Sparql

2. Query all stations located in Ireland (ID = "FIPS:EI")

BASE <http://jresearch.ucd.ie/climate-kg/> PREFIX ca_property: <http://jresearch.ucd.ie/climate-kg/ca/property/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX sosa: <http://www.w3.org/ns/sosa/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX qudt: <http://qudt.org/1.1/schema/qudt#> SELECT ?station WHERE{ ?station a <ca/class/Station> ;  ca_property:isLocatedIn <resource/location/FIPS:EI> . }
Try it on Sparql

3. Query precipitation records from a known station

BASE <http://jresearch.ucd.ie/climate-kg/> PREFIX ca_property: <http://jresearch.ucd.ie/climate-kg/ca/property/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX sosa: <http://www.w3.org/ns/sosa/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX qudt: <http://qudt.org/1.1/schema/qudt#> SELECT ?prcp ?date WHERE{ ?obs a <ca/class/Observation> ;  ca_property:sourceStation <resource/station/GHCND:EI000003953> ;  sosa:hasResult ?res ;  sosa:resultTime ?date . ?res ca_property:withDataType <resource/datatype/PRCP> ;  qudt:numericValue ?prcp . } Try it on Sparql