Table of Contents
The Geosemantics framework skeleton consists of three levels:two components:
- Services framework to include the services and their related components. Play framework (https://www.playframework.com/) is used to create the services framework.
- Standard Names wiki (SNW) to annotate SN and allow the crosswalks between them. Semantic Media Wiki (https://semantic-mediawiki.org/) is used to create the wiki system.
A- Services Framework:-
It consists of three layers:
Knowledge-base:
It uses JenaTDB to develop a graph database to store ontologies and Standard Names.
Knowledge management:
Reasoner:
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-19 - It validates the categories and datatypes of the SN stored in the Knowledge-base.
- Pellet reasoner will be used but, we can
Knowledge management: It contains four functional components- Resources harvester: it is context-based recommendation system that works with models and data
- for a model can propose workflows based on the I/O
- for a dataset can provide its contextual relationships with other data can suggest models in based on the available data collection
- ingests new standard vocabularies thesaurus and infers their relationships based on schema matching and string matching Linked vocabularies network
- validates and extracts facts from the ontologies stored in the knowledge-base, we started by using Pellet reasoner but we plan to add more reasoners such as KAON2
Logic ingestion:
Reasoner:Semantic processor:
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-21 - It identifies semantic similarity and matching between resources (semantic search for SN, matching between models and data, matching between models)
- A resources matchmaker script is required
- It provides semantic mediation between SN
- SPARQL query
- Provide semantic mediation based on SKOS standards
- Semantic alignment between resources
- Composition of RDF tags
Semantic tagging:
Data alignment:checks the consistency of the exchanged items between a model and another model or data
Ontology mapping:
- SPARQL query
Logic ingestion:
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-22 - Bulk upload of SN to the SNW
- Grouping of SN and identification of the crosswalks to create the Linked Vocabularies network
- Annotation of a SN in its original schema.
Registrar:
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-20 - It is a catalog for storing information about external resources including services, data, models, and SN (e.g. the database of Geosoft)
- It provides a form to register a new resource
Web services:
Semantic Annotation Service (SAS):
- It contains five functions, each function needs to be linked with specific standard
- Spatial Annotation: It connects to the GML standards to bring predicates and objects associated with a specific geometric shape (http://www.opengeospatial.org/standards/gml)
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-36 - Temporal Annotation: Same as above but using predicates and objects from the time ontology(http://www.w3.org/TR/owl-time/)
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-25 - Standard Names Annotation: It brings an object from the related stand name schema (e.g. CSDMS standard names ontology)
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-26 - Provenance Annotation: It connects with provenance ontology to annotate simulation results (http://www.w3.org/TR/prov-o/)
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-28 - Statistical data Annotation: it uses predicates and objects from RDF Data Cube Vocabulary to annotate statistical data (http://www.w3.org/TR/vocab-data-cube/)
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-29 - Encapsulated annotation: Similar to the SNA but this function needs to be connected with our triple store to bring the attributes of a SN, such as units.
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-27
Resources Alignment Service (RAS):
- It checks the consistency of the attributes of quantities exchanged between two resources (model and/or data)
- Variable names: It finds synonymous of a SN using SKOS or NGram
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-31 - Unit conversion: converts units of exchanged items based on SWEET unit ontology and NetCDF unit schema. SWEET is used to address URL-based units and NetCDF is used to address string-based
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-32 - Temporal Alignment: This function can do the temporal alignment between two variables using CSDMS and OpenMI external packages
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-35 - Spatial Alignment: same as above but for spatial attributes of two variables
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-36 - Variable Type: This function checks the type of variables and can do conversion (e.g. string to float)
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-33 - File Type: Same as above but for the text-based files (RAS/FT). It may call the Brown Dog service to convert file types
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-34
Knowledge Discovery Service (KDS):
- Searches resources: it searches Clowder for resources. This function needs to add more search functions in the Cloweder API such as search by metadata and spatial predicates
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-42 - Finds a resource graph: It searches in the registered database for data and models that are related to a specific resource
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-43 - Data Networks: It pragmatically aggregates data around environmental events
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-44 - Model to Model annotation: It annotates models that can be coupled together based on their attributes
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-45 - Model to Data: It identifies serviced models that can run on a specific data and annotate and assemble the related data that are required to complete a simulation
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-46
- Searches resources: it searches Clowder for resources. This function needs to add more search functions in the Cloweder API such as search by metadata and spatial predicates
Knowledge Integration Service (KIS):
- It is internal service to collect vocabularies from the SNW and recommend relationships between controlled vocabularies
- Imports annotated SN from the Wiki: This function imports the attributes that are associated with a SN in the wiki database (Fusaki) and store them in the JenaTDB
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-38 - Updates the wiki with relationships between SN: This function return grouped and linked Standard Names based on their attributes and update pages that are associated with the related SNs.
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-39 Ingests SN Thesaurus: Convert SN in an ontology to a wiki page
Jira server OpenSource JIRA serverId b14d4ad9-eb00-3a94-88ac-a843fb6fa1ca key ECGS-40
B- Standard Names Wiki (SNW):-
- http://ecgs-dev.ncsa.illinois.edu/wiki
- It has three levels of annotation: Primary, Secondary, and Inferred annotations as shown in the below figure
- The annotation is implemented in a SN annotation wiki template