Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Image AddedImage Removed

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:

  1. Knowledge-base

    1. It uses JenaTDB to develop a graph database to store ontologies and Standard Names.

  2. Knowledge management:

    1. Reasoner: 
      Jira
      serverOpenSource JIRA
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyECGS-19

      1.  It validates  the categories and datatypes of the SN stored in the Knowledge-base.
      2.  Pellet reasoner will be used but, we can
    knowledge base: It uses Jena TDB as triple store for storing meta-information of ontologies (i..e namespace and URL), list of the registered data and models web services, and thesaurus of standard vocabularies. It can create a URIs for the elements that are not serviced. It stores these types of information under four main concepts space, time, standard vocabularies, and resources
    Knowledge management: It contains four functional components
    1. Resources harvester: it is context-based recommendation system that works with models and data
    2. for a model can propose workflows based on the I/O
    3. for a dataset can provide its contextual relationships with other data
    4. can suggest models in based on the available data collection
      Logic ingestion: 
    5. ingests new standard vocabularies thesaurus and infers their relationships based on schema matching and string matching
    6. Linked vocabularies network 
      Reasoner:
      1.  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
    7. Semantic processor: 
      Jira
      serverOpenSource JIRA
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyECGS-21

      1. It identifies semantic similarity and matching between resources (semantic search for SN, matching between models and data, matching between models)
      2. A resources matchmaker script is required 
      3. It provides semantic mediation between SN
      4. SPARQL query 
      5. Provide semantic mediation based on SKOS standards 
      6. Semantic alignment between resources
      7. Composition of RDF tags 
    Web services:Knowledge discovery:Registers resources and  their meta-information  Takes search statements from external resources  
    Semantic tagging:
  3. Retrieves the URL of an ontology or standard name thesauri and can manipulate the elements of an ontology (add, edit, delete)
  4. Collects tags from registered resources (e.g. SEAD, DataOne)
    Data alignment:checks the consistency of the exchanged items between a model and another model or data  
    Ontology mapping: 
  5. Collects Vocabularies from the Semantic Mediawiki and match them with the registered ontologies  
  6. Recommends relationships between controlled vocabularies
      1. SPARQL query 
    1. Logic ingestion:
      Jira
      serverOpenSource JIRA
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyECGS-22

      1. Bulk upload of SN to the SNW
      2.  Grouping of SN and identification of the crosswalks to create the Linked Vocabularies network
      3. Annotation of a SN in its original schema.

    2. Registrar:
      Jira
      serverOpenSource JIRA
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyECGS-20

      1. It is a catalog for storing information about external resources including services, data, models, and SN (e.g. the database of Geosoft)
      2. It provides a form to register a new resource
  7. Web services:

    1. Semantic Annotation Service (SAS):

      1. It contains five functions, each function needs to be linked with specific standard
      2. 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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-36
      3. Temporal Annotation: Same as above but using predicates and objects from the time ontology(http://www.w3.org/TR/owl-time/)  
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-25
      4. Standard Names Annotation: It brings an object from the related stand name schema (e.g. CSDMS standard names ontology) 
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-26
      5. Provenance Annotation: It connects with provenance ontology to annotate simulation results (http://www.w3.org/TR/prov-o/)  
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-28
      6. 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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-29
      7. 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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-27


    2. Resources Alignment Service (RAS):

      1. It checks the consistency of the attributes of quantities exchanged between two resources (model and/or data) 
      2. Variable names: It finds synonymous of a SN using SKOS or NGram  
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-31
      3.  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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-32
      4. Temporal Alignment: This function can do the temporal alignment between two variables using CSDMS and OpenMI external packages 
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-35
      5. Spatial Alignment: same as above but for spatial attributes of two variables 
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-36
      6. Variable Type: This function checks the type of variables and can do conversion (e.g. string to float) 
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-33
      7. 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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-34


    3. Knowledge Discovery Service (KDS):

      1.  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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-42
      2.  Finds a resource graph: It searches in the registered database for data and models that are related to a specific resource 
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-43
      3. Data Networks: It  pragmatically aggregates data around environmental events 
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-44
      4. Model to Model annotation: It annotates models that can be coupled together based on their attributes 
        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-45
      5. 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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-46


    4. Knowledge Integration Service (KIS): 

      1. It is internal service to collect vocabularies from the SNW and recommend relationships between controlled vocabularies
      2. 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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-38
      3. 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
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-39
      4. Ingests SN Thesaurus: Convert SN in an ontology to a wiki page 

        Jira
        serverOpenSource JIRA
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyECGS-40

B- Standard Names Wiki (SNW):-

  1. http://ecgs-dev.ncsa.illinois.edu/wiki
  2. It has three levels of annotation: Primary, Secondary, and Inferred annotations as shown in the below figure
  3. The annotation is implemented in a SN annotation wiki template 

Image Added