Difference between revisions of "ToolMatch Proposal 0.2"
From Earth Science Information Partners (ESIP)
(→Source) |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''Contact:''' Eric Rozell | '''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 Cases == | ||
=== Use Case 1 === | === Use Case 1 === | ||
− | * '''Description:''' Automatically match tool to a | + | * '''Description:''' Automatically match tool to a data collection based on data collection attributes. |
− | * '''Purpose:''' | + | * '''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 | + | * '''Example:''' Match specific OpenLayers mapping tool to data collections accessible from a WMS. |
− | * '''Generic Example:''' Match ToolA to | + | * '''Generic Example:''' Match ToolA to data collections with attribute value AttributeX. |
− | * '''Step 1:''' Define a subclass of toolmatch: | + | * '''Step 1:''' Define a subclass of toolmatch:DataCollection, toolmatch:ToolACompatibleCollection |
* '''Step 2:''' Assert that any instance of toolmatch:ToolACompatibleCollection is compatible with ToolA | * '''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 | * '''Step 3:''' Assert that any instance with attribute value, AttributeX, is an instance of toolmatch:ToolACompatibleCollection | ||
=== Stretch Use Case === | === Stretch Use Case === | ||
− | * '''Description:''' Automatically match any tool from a specific subclass of tools to | + | * '''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 | + | * '''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 == | == Ontology Model == | ||
Line 32: | Line 34: | ||
*** '''toolmatch:mappedBy''' | *** '''toolmatch:mappedBy''' | ||
* '''toolmatch:hasAccessibility''' | * '''toolmatch:hasAccessibility''' | ||
+ | |||
+ | === Concept Map === | ||
+ | |||
+ | '''Property Hierarchy''' | ||
+ | |||
+ | [[image:ToolMatchPropertyHierarchy.png]] | ||
+ | |||
+ | '''Example Constraint - OpenLayers-compatible data collections''' | ||
+ | |||
+ | [[image:ToolMatchExampleConstraint.png]] | ||
+ | |||
+ | '''Example Data Collection''' | ||
+ | |||
+ | [[image:ToolMatchExampleCollection.png]] | ||
=== Annotations === | === Annotations === | ||
Line 47: | Line 63: | ||
| toolmatch:DataCollection | | toolmatch:DataCollection | ||
| owl:Class | | owl:Class | ||
− | | A | + | | A data collection, which should be matched to toolmatch:Tool instances. It should have one or more attributes. |
|- | |- | ||
| toolmatch:Tool | | toolmatch:Tool | ||
Line 80: | Line 96: | ||
=== Source === | === Source === | ||
− | * [[file:tool_match_ontology.owl | + | * [[ file:tool_match_ontology.owl.txt ]] (rdf/xml) |
− | * [[file:tool_match_ontology.ttl | + | * [[file:tool_match_ontology.ttl.txt]] (turtle) |
Latest revision as of 23:54, February 28, 2012
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:DataAccess
- toolmatch:DataCollection
- toolmatch:Tool
Properties
- toolmatch:compatibleWith
- toolmatch:visualizes
- toolmatch:maps
- toolmatch:visualizedBy
- toolmatch:mappedBy
- toolmatch:visualizes
- toolmatch:hasAccessibility
Concept Map
Property Hierarchy
Example Constraint - OpenLayers-compatible data collections
Example Data Collection
Annotations
Entity | Type | Description |
---|---|---|
toolmatch:DataAccess | owl:Class | A specific attribute of a toolmatch:DataCollection. Namely, describing that a toolmatch:DataCollection is available by a specific service or in a specific format. |
toolmatch:DataCollection | owl:Class | A data collection, which should be matched to toolmatch:Tool instances. It should have one or more attributes. |
toolmatch:Tool | owl:Class | A broadly-defined class of tools which work with toolmatch:DataCollection instances. It should be paired with a subclass of toolmatch:DataCollection, which defines the criteria for a "compatible" toolmatch:DataCollection. |
toolmatch:compatibleWith | owl:ObjectProperty | A symmetric relationship between toolmatch:Tool instances and toolmatch:DataCollection instances. In other words, a tool is compatible with a data collection, then that data collection is also compatible with that tool. |
toolmatch:visualizes | owl:ObjectProperty | A subproperty of toolmatch:compatibleWith denoting a specific relationship between toolmatch:Tool instances and toolmatch:DataCollection instances. Note, this is not a symmetric property, but instead an inverse property of toolmatch:visualizedBy. |
toolmatch:maps | owl:ObjectProperty | A subproperty of toolmatch:visualizes, defining a specific visualization relationship. This is an inverse property of toolmatch:mappedBy. |
toolmatch:visualizedBy | owl:ObjectProperty | Defines a relationship from a toolmatch:DataCollection that can be visualized by a toolmatch:Tool. |
toolmatch:mappedBy | owl:ObjectProperty | A specialization of the toolmatch:visualizedBy property. |
toolmatch:hasAccessibility | owl:ObjectProperty | A property used to assert that a toolmatch:DataCollection is accessible by a given toolmatch:DataAccess instance (e.g., it's available in a specific format). |
Source
- File:Tool match ontology.owl.txt (rdf/xml)
- File:Tool match ontology.ttl.txt (turtle)