ToolMatch Proposal 0.3

From Earth Science Information Partners (ESIP)
Revision as of 22:12, December 3, 2012 by Rozele (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Contact: Eric Rozell

Overview: The intent of this proposal is to leverage reasoning capabilities of OWL 2 to automatically assert compatibility between tools and data collections based on the attributes of data collection. This proposal uses OWL subclass reasoning, existential reasoning, subproperty reasoning, inverse property reasoning, and symmetric property reasoning.

Use Cases

Use Case 1

  • Description: Automatically match tool to a data collection based on data collection attributes.
  • Purpose: Data collection providers who annotate their collections using a specific set of relevant attributes can allow users to automatically discover tools that work with those data collections. Data collection providers need only worry about annotating specific attributes of their collections. Tool providers must determine relevant attributes of a data that would determine compatible. No explicit annotation of compatibility between collections and tools is needed.
  • Example: Match specific OpenLayers mapping tool to data collections accessible from a WMS.
  • Generic Example: Match ToolA to data collections with attribute value AttributeX.
  • Step 1: Define a subclass of toolmatch:DataCollection, toolmatch:ToolACompatibleCollection
  • Step 2: Assert that any instance of toolmatch:ToolACompatibleCollection is compatible with ToolA
  • Step 3: Assert that any instance with attribute value, AttributeX, is an instance of toolmatch:ToolACompatibleCollection

Stretch Use Case

  • Description: Automatically match any tool from a specific subclass of tools to data collections with specific attributes.
  • Purpose: This should reduce the number of steps that must be taken by tool providers to annotate their tools. Rather than determine what attributes of a data collection are relevant, a tool provider can find a class of tools similar to its own, which has already determined these relevant attributes.

Ontology Model

Classes

  • toolmatch:DataCollection
  • toolmatch:DataFormat
  • toolmatch:DataAccess
  • toolmatch:DataConvention
    • toolmatch:DataGridType
  • toolmatch:Tool

Properties

  • toolmatch:compatibleWith
    • toolmatch:visualizes
      • toolmatch:maps
      • toolmatch:grids
    • toolmatch:visualizedBy
      • toolmatch:griddedBy
      • toolmatch:mappedBy
  • toolmatch:hasAccessibility
  • toolmatch:hasDataFormat
  • toolmatch:usesConvention
    • toolmatch:usesGridType

Example Rules

Rule 1

  • English version:
 If a data product 
 * is netCDF OR is available via OPeNDAP
 * follows CF-1 conventions for coordinates
 * is on a regular lat/lon grid OR contains auxiliary coordinates for a lat/lon grid
 Then the following tools can visualize it on a map:
 * Panoply
 * IDV
 * McIDAS-V
  • Turtle version:
 :DataCollectionRule1
     a owl:Class ;
     rdfs:subClassOf :DataCollection, [
         a owl:Class ;
         owl:intersectionOf ([
                 a owl:Restriction ;
                 owl:hasValue :IDV ;
                 owl:onProperty :mappedBy
             ]
             [
                 a owl:Restriction ;
                 owl:hasValue :McIDAS-V ;
                 owl:onProperty :mappedBy
             ]
             [
                 a owl:Restriction ;
                 owl:hasValue :Panoply ;
                 owl:onProperty :mappedBy
             ]
         )
     ] ;
     owl:equivalentClass [
         a owl:Class ;
         owl:intersectionOf (:DataCollection
             [
                 a owl:Class ;
                 owl:unionOf ([
                         a owl:Restriction ;
                         owl:hasValue :OPeNDAP ;
                         owl:onProperty :hasAccessibility
                     ]
                     [
                         a owl:Restriction ;
                         owl:hasValue :NetCDF4 ;
                         owl:onProperty :hasDataFormat
                     ]
                     [
                         a owl:Restriction ;
                         owl:hasValue :NetCDF5 ;
                         owl:onProperty :hasDataFormat
                     ]
                 )
             ]
             [
                 a owl:Class ;
                 owl:unionOf ([
                         a owl:Restriction ;
                         owl:hasValue :AuxiliaryLatLonGrid ;
                         owl:onProperty :usesGridType
                     ]
                     [
                         a owl:Restriction ;
                         owl:hasValue :RegularLatLonGrid ;
                         owl:onProperty :usesGridType
                     ]
                 )
             ]
             [
                 a owl:Restriction ;
                 owl:hasValue :CF1Convention ;
                 owl:onProperty :usesConvention
             ]
         )
     ] .

Source