OWL Genie an API to OWL - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

OWL Genie an API to OWL

Description:

http://www.xfront.com/owl/ontologies/camera/#lens ... Demo - searching for Camera, lens size, aperture info ... (i.e., elements) Camera, lens size, and aperture. ... – PowerPoint PPT presentation

Number of Views:117
Avg rating:3.0/5.0
Slides: 40
Provided by: Cos148
Category:
Tags: api | owl | genie

less

Transcript and Presenter's Notes

Title: OWL Genie an API to OWL


1
OWL Genie(an API to OWL)
  • Roger L. Costello
  • May, '03

2
What is OWL Genie?
OWL Genie
XSLT
OWL Ontologies
OWL Genie is a package of XSLT named-templates. Th
e purpose of OWL Genie is to shield your
XSLT application from directly accessing OWL
Ontologies. Thus, OWL Genie is an OWL API.
3
Contents of this Document
1. API Description the API is described, along
with examples. 2. Using the API this section
shows how an XSLT application can use the
API. 3. API in Action this gives the URL where
you can see the API being tested. 4. Demo
this section demonstrates an XSLT application
using the API to "bridge the terminology
gap". 5. Download gives the URL to download the
API. 6. API Implementation this gives some
details on how the API is implemented. 7.
Want to help? Describes how you can participate.
4
The OWL Genie API - 1
getProperties(classURI) returns a list of
space-separated property URIs.
Example Calling the getProperties template
with http//www.xfront.com/owl/ontologies/c
amera/Camera results in returning
http//www.xfront.com/owl/ontologies/camera/lens
http//www.xfront.com/owl/ontologies/camera/
body http//www.xfront.com/owl/ontologies/c
amera/viewFinder http//www.xfront.com/owl/
ontologies/camera/cost
5
The OWL Genie API - 2
getEquivalentProperties(propertyURI)
returns a list of space-separated property URIs.
Example Calling the getEquivalentProperties
template with http//www.xfront.com/owl/ont
ologies/camera/size results in returning
http//www.xfront.com/owl/ontologies/camera/focal
-length
6
The OWL Genie API - 3
getSuperClasses (classURI) returns a list
of space-separated class URIs.
Example Calling the getSuperClasses template
with http//www.xfront.com/owl/ontologies/c
amera/SLR results in returning
http//www.xfront.com/owl/ontologies/camera/Camer
a http//www.xfront.com/owl/ontologies/camer
a/PurchaseableItem
7
The OWL Genie API - 4
getPropertyTypes (propertyURI) returns a
list of space-separated type URIs.
Example Calling the getPropertyTypes template
with http//www.xfront.com/owl/ontologies/g
unLicense/serial results in returning
http//www.w3.org/2002/07/owlDatatypeProperty
http//www.w3.org/2002/07/owlFunctionalPropert
y http//www.w3.org/2002/07/owlInverseFunct
ionalProperty
8
The OWL Genie API - 5
getClassSpecificPropertyDefinitions (classURI,
propertyURI) returns a list of
space-separated propertyvalue URI pairs.
Example Calling the getPropertyTypes template
with http//www.xfront.com/owl/ontologies/w
ater/River http//www.xfront.com/owl/ontolo
gies/water/connectsTo results in returning
http//www.w3.org/2002/07/owlsomeValuesFromhtt
p//www.xfront.com/owl/ontologies/water/BodyOfWat
er
9
The OWL Genie API - 6
getDomain (propertyURI) returns a list of
space-separated class URIs.
Example Calling the getDomain template with
http//www.xfront.com/owl/ontologies/water/empt
iesInto results in returning
http//www.xfront.com/owl/ontologies/water/River
10
The OWL Genie API - 7
getRange (propertyURI) returns a list of
space-separated class URIs.
Example Calling the getRange template with
http//www.xfront.com/owl/ontologies/water/empti
esInto results in returning
http//www.xfront.com/owl/ontologies/water/BodyOf
Water
11
The OWL Genie API - 8
getInstances (classURI) returns a list of
space-separated instance URIs.
Example Calling the getInstances template with
http//www.xfront.com/owl/ontologies/water/K
yoto-Protected-River results in returning
http//www.china.org/geography/riversYangtze
http//www.us.org/riversMississippi
http//www.africa.org/riversNile
http//www.s-america.org/riversAmazon
12
The OWL Genie API - 9
getEquivalentClasses(classURI) returns a
list of space-separated class URIs.
Example Calling the getEquivalentClasses
template with http//www.xfront.com/owl/ont
ologies/water/BodyOfWater results in
returning http//www.other.orgWaterGeoFeat
ure
13
Note - 1
The previous slides showed URIs returned by the
API. The URIs were on separate lines. I did this
just for presentation purposes. In reality, the
API does not separate each URI by a carriage
return. Rather, each URI is separated by a
single space, e.g., uri1 uri2 uri3 ...
14
Note - 2
Suppose that these are the superclasses of class
A
D
C
B
A
Here is what you get when you invoke the
getSuperClasses template with class A
B D C
15
Using OWL Genie API - 1
getProperties(classURI) returns a list of
space-separated property URIs.
Here's how to invoke the template
ltxslcall-template name"getProperties"gt
ltxslwith-param name"classURI"
select"'http//www.xfront.com/owl/ontologies/came
ra/Camera'"/gt lt/xslcall-templategt
16
Using OWL Genie API - 2
getEquivalentProperties(propertyURI)
returns a list of space-separated property URIs.
Here's how to invoke the template
ltxslcall-template name"getEquivalentProperties"gt
ltxslwith-param name"propertyURI"
select"'http//www.xfront.com/owl/ontologies/came
ra/size'"/gt lt/xslcall-templategt
17
Using OWL Genie API - 3
getSuperClasses (classURI) returns a list
of space-separated class URIs.
Here's how to invoke the template
ltxslcall-template name"getSuperClasses"gt
ltxslwith-param name"classURI"
select"'http//www.xfront.com/owl/ontologies/came
ra/SLR'"/gt lt/xslcall-templategt
18
Using OWL Genie API - 4
getPropertyTypes (propertyURI) returns a
list of space-separated type URIs.
Here's how to invoke the template
ltxslcall-template name"getPropertyTypes"gt
ltxslwith-param name"propertyURI"
select"'http//www.xfront.com/owl/ontologies/gunL
icense/serial'"/gt lt/xslcall-templategt
19
Using OWL Genie API - 5
getClassSpecificPropertyDefinitions (classURI,
propertyURI) returns a list of
space-separated propertyvalue URI pairs.
Here's how to invoke the template
ltxslcall-template name"getClassSpecificPropertyD
efinitions"gt ltxslwith-param
name"classURI" select"'http//www.xfront.com/owl
/ontologies/water/River'"/gt
ltxslwith-param name"propertyURI"
select"'http//www.xfront.com/owl/ontologies/wate
r/connectsTo'"/gt lt/xslcall-templategt
20
Using OWL Genie API - 6
getDomain (propertyURI) returns a list of
space-separated class URIs.
Here's how to invoke the template
ltxslcall-template name"getDomain"gt
ltxslwith-param name"propertyURI"
select"'http//www.xfront.com/owl/ontologies/wate
r/emptiesInto'"/gt lt/xslcall-templategt
21
Using OWL Genie API - 7
getRange (propertyURI) returns a list of
space-separated class URIs.
Here's how to invoke the template
ltxslcall-template name"getRange"gt
ltxslwith-param name"propertyURI"
select"'http//www.xfront.com/owl/ontologies/wate
r/emptiesInto'"/gt lt/xslcall-templategt
22
Using OWL Genie API - 8
getInstances (classURI) returns a list of
space-separated instance URIs.
Here's how to invoke the template
ltxslcall-template name"getInstances"gt
ltxslwith-param name"propertyURI"
select"'http//www.xfront.com/owl/ontologies/wate
r/Kyoto-Protected-River'"/gt lt/xslcall-templategt
23
Using OWL Genie API - 9
getEquivalentClasses(classURI) returns a
list of space-separated class URIs.
Here's how to invoke the template
ltxslcall-template name"getEquivalentClasses"gt
ltxslwith-param name"classURI"
select"'http//www.other.orgWaterGeoFeature'"/gt
lt/xslcall-templategt
24
OWL Genie API in Action
I have created an XSLT application which tests
each template in the API. Using Internet
Explorer, go to this URL
http//www.xfront.com/owl-genie/TestOWL-GenieAPI.x
ml To view the XSLT application, go to this
URL http//www.xfront.com/owl-genie/TestOWL
-GenieAPI.xsl
25
Demo of interoperability in a heterogeneous data
environment
Hunts.xml
OWL Genie
Camera Application
Camera.owl
26
Demo - searching for Camera, lens size, aperture
info
  • The Camera Application is searching for documents
    that meet this desire
  • I am interested in purchasing a Camera with a
    75-300mm zoom lens size, that has an aperture of
    4.5-5.6, and a shutter speed that ranges from
    1/500 sec. to 1.0 sec.
  • The Camera Application understands the terms
    (i.e., elements) Camera, lens size, and aperture.
  • If a document uses terms that it does not
    understand, then the Camera application
    "consults" the Camera Ontology (via the API).

27
Hunts.xml - uses unfamiliar terminology
ltPhotographyStoregt ltcatalog
rdfparseType"Collection"gt ltSLR
rdfID"Olympus-OM-10"
xmlns"http//www.xfront.com/owl/ontologies/camera
/"gt ltlensgt ltLensgt
ltfocal-lengthgt75-300mm
zoomlt/focal-lengthgt
ltf-stopgt4.5-5.6lt/f-stopgt
lt/Lensgt lt/lensgt ltbodygt
ltBodygt
ltshutter-speed rdfparseType"Resource"gt
ltmingt0.002lt/mingt
ltmaxgt1.0lt/maxgt
ltunitsgtsecondslt/unitsgt
lt/shutter-speedgt lt/Bodygt
lt/bodygt lt/SLRgt lt/cataloggt lt/Photog
raphyStoregt
?
Need to consult the Camera Ontology!
28
View the Demo
Using Internet Explorer, go to this URL
http//www.xfront.com/owl-genie/Hunts.xml To
view the XSLT Camera application, go to this
URL http//www.xfront.com/owl-genie/camera.
xsl
29
QuikPhoto.xml - uses familiar terminology
ltCameragt ltlensgt ltLensgt
ltsizegt75-300mm zoomlt/sizegt
ltaperturegt4.5-5.6lt/aperturegt lt/Lensgt
lt/lensgt ltbodygt ltBodygt
ltshutter-speed rdfparseType"Resource"gt
ltmingt0.002lt/mingt
ltmaxgt1.0lt/maxgt
ltunitsgtsecondslt/unitsgt
lt/shutter-speedgt lt/Bodygt
lt/bodygt lt/Cameragt
No need to consult the Camera Ontology.
30
View the Demo
Using Internet Explorer, go to this URL
http//www.xfront.com/owl-genie/QuikPhoto.xml To
view the XSLT Camera application, go to this
URL http//www.xfront.com/owl-genie/camera.
xsl
31
Lesson Learned
  • The Camera Application is able to process
    documents that uses unfamiliar terminology.

Interoperates!
Community B uses terms Camera, aperture, lens size
Community A uses terms SLR, f-stop, focal-length
OWL Camera Ontology
32
Download
You can download the OWL Genie API, along with
all the demos, by going to this URL
http//www.xfront.com/owl-genie/download.html
33
OWL Genie Implementation Details
"include"
Private.xsl
"include"
OWL-Genie.xsl
OntologyDirectory.xsl
34
OWL-Genie.xsl
This XSLT stylesheet contains the templates that
an application invokes. It "includes" the other
two stylesheets, and invokes the templates that
they provide.
35
Private.xsl
This XSLT stylesheet contains templates
that actually implement the capabilities exposed
in OWL-Genie.xsl.
36
OntologyDirectory.xsl
This XSLT stylesheet has just one template. The
template is invoked with a namespace, and it
returns the filename of the OWL document that
defines that namespace. - When you create a new
OWL ontology you need to add the
namespace/filename into this document!
37
Using OWL Genie in your XSLT Applications
Simply add this line at the top of your
stylesheet ltxslinclude
href"OWL-Genie.xsl"/gt
38
Want to Help?
There are two ways to help 1. Suggest new
APIs. 2. Implement a template.
39
To Do List
  • Currently the API just supports a single document
    for defining an ontology. However, an ontology
    may be split over multiple documents. The API
    needs to be enhanced to support this.
Write a Comment
User Comments (0)
About PowerShow.com