Title: OWLVisual Programming
1OwlViperWeb Ontology Language Visual
Progamming for Data Reduction (of work)
- Ed Shaya,
- Brian Thomas,
- Zhenping Huang,
- Peter Teuben
- (Astronomy Dept. at Univ. of Maryland, USA)
2Next Generation Analysis Software
Layer on top of VO infrastructure with
Scientists graphical interface. Environment in
which the scientists asks scientific questions or
states their goal.
- Ingredients OWL, Registries, Grid, WebServices,
WSDL, OWL-S, Java, Math Packages, existing
scientific analysis software.
3Reasoners
- Facts, Jesse, Jena, etc can reason from Classes
and Instances to determine self-consistency of an
ontology (Classes with properties and comlex
relationships between these) and deduce implicit
classes and classify instances. - CLIPS and other rules analyzers can start with
the rules of a game (or problem) and determine a
(usually optimal) strategy. - Combining these software with hardware of future
(supercomputers are now at the computational
speed of a mouse) imply human level logical
reasoning in a decade. - Computers only lack the knowledge base.
4H0 Determination on OWLViper Canvas
SpiralGalaxy Distance Redshift
5Functionality
- Visual Programming
- Query the VO distributed data centers, analyze,
visualize, and web-publish results. - UML concept draw flow diagram, press button for
code generation. - A layer on top of normal code, pipelined.
- Various levels of autonomy
- Lowest level manual creation of a flow diagram
- Highest level state the goal and let it rip
via OWL knowledge base. - Scientific - it must handle unit conversions and
error propagation as well.
6Ontology (OWL)
- Functions and data are placed in class structure
(not a strict hierarchy) plus properties or
relationships.
Code
relation
Class1
output
input
Operation
inverse
7Teach your computer well (with OWL)
- Create Subclass
- Mass SubClassOf Measurement
- hasUnits restricted to MassUnit
- hasValue
- hasError
- EarthMass InstanceOf MassUnit.
- consistsOf uikilogram
- factor 5.9742e24
- MassOfEarth InstanceOf Mass
- hasUnits EarthMass
- hasValue 1.0
- hasError 2e-5
- of Earth
- Ultimately create an ontology of 5000 terms and
relationships between them. All fits in RAM.
8Classes and Instances in Query
- The data in repository should be logically seen
as instances of established Classes restricted by
the constraints of the observation and with a
subset of appropriate properties available. - A query for all objects satisfying a set of
constrains should be framed as a Class, ie a
Subclass of an established class with user
restrictions on the range of property values. - Queries for data on a particular object are
simple RDQL - Mars hasPart ?S ?S isa Sky ?S hasColor ?C
- ?C of ?S ?C isa Color ?S isa Sky ?S isPartOf
Mars - The Query can be distributed to relevant
datacenters where a reasoner determines all local
instances of query class. - We are writing a translator from Owl to ADQL.
9Table_row.owl
- astSpiralGalaxy
- sciPositionAtTime
- scihasLocation
- astEquatorialCoordinatesB1950
rdfIDtable1475 - geohasCoordinates
- astRA_B1950
- qhasValue qValue
rdfIDRA_col - qhasAccuracy
- statError qhasValue
- qValue rdfIDRA_err_col
- astDEC_B1950
- qhasValue qValue
rdfIDDE_col - qhasAccuracy
- statError qhasValue
- qValue rdfIDDEC_err_col
- scihasReference sciReference
rdfIDref23 - sciat sciForever
10Find an AGN that has detection in radio-band and
is in the Virgo Cluster and has luminosity gt 3e9
SolarLuminosity and has spectrum in UV.
- G1
- subclassOf
- AGN
- Name?name
- hasDetection
- Detection inEMBand RadioBand
- hasLocation
- Direction in VirgoClusterRegion
- (Instance of Polygon on Celestial Sphere)
- EquatorialJ2000Coordinates?J2000
- hasMeasurement
- BolometricLuminosity hasValue
- minValue 3e9
- HasUnits SolarLuminosity
- hasSpectrum
- Spectrum
- inEMBand
- UV
- ?spectrum
11(No Transcript)
12(No Transcript)
13Conclusionshttp//archive.astro.umd.edu/ont/index
.html
- Complex scientific query plus subsequent
transforms via GUI or pseudo-natural language is
seems feasible, but requires development of
ontology, catalog data to have owl profile, and
simple reasoners at data centers. - Application to find and analyze data must have
ability to - Find operations by name or owlClass of
output/inputs data. - Starting from goal (usually a subclass of
existing classes), analyzer finds path back to
source data. - Time estimator
- Logic evaluator
- Basic mathematics at main level
- Error propagation
- Unit analysis, conversion
- Tests for infinite loops
- Interfaces C, Java, WebServices, IDL, Matlab,
pyRAF, Ftools, Numerical Recipes