19 july 2001 lewis hart grc international, an at&t company
TRANSCRIPT
19 July 2001
Lewis Hart
GRC International,
an AT&T Company
What’s Hot ...
DAML-UML Enhanced Tool Imports / Exports, Implements UML-
DAML mapping Interface to Articulation Service Built from re-useable DAML components
DAML API , Articulation Service, UMM API
Addin for Rational Rose Argo UML coming.
RDBMS Articulation Rule-based
Java Expert System Shell (Jess) Extensible with Java.
Validated on real world systems - GTN/CMOS RDBMS Ontologies
DAML API Java Interfaces with implementation and
utilities. Working on ‘standard’ interface with
multiple implementations Interface to Jess inference engine.
Content Driven Information Distribution Content based Publish and Subscribe
Subscribers provide an XQL query as specification of their interest
They are subscribed to channels that provide DAML annotated content that is the result of the XQL specification.
Publishers provide DAML annotated content..
Annotated Document Repository
DAML UML Enhanced Tool(DUET )
Rose AdapterRose Adapter
CreatedOntologies
ExistingOntologies
OntologyArticulation
Service
OntologyArticulation
Service
SourceDescriptions
SourceDescriptions
Expert Knowledge
Rational Rose 2000 ArgoUML coming
Implements current DAML Profile for UML
Articulation Ontology
Translaiton details TBD
DAMLOntologyImp(from DAMLImp)
TranslationImp
DAMLResourceImp
$ UNIQUE_ID : int = 0
(from DAMLImp)
All factors and matches in the articulaiton
Only factors that support the match.
ArticulationImp
fromRDFModel()toRDFModel()
1
1
-object
1
1
1
1
-subject1
1
MatchImp
strength : double
10..*
-translation
10..*
1..*1
matches
1..*{derived}
1
1..*
-subject
1..* 1..*
-object
1..*
DAMLPropertyImp(from DAMLImp)
1
0..*
-relation
1
0..*
MatchFactorImp
detail : Stringstrength : int
1..*1
factors
1..*
{derived}1 1..*
1+reasons
1..*
{derived}
1
1
1
+kind
1
1
relation
<!-- **** Articulation **** --><daml:Class rdf:ID = 'Articulation' > <daml:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource='#matches'/> <daml:toClass rdf:resource='#Match'/> </daml:Restriction> </daml:subClassOf> <daml:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource='#matchFactor'/> <daml:toClass rdf:resource='#MatchFactor'/> </daml:Restriction> </daml:subClassOf> <daml:label>Articulation</daml:label></daml:Class>
<!-- **** Articulation **** --><daml:Class rdf:ID = 'Articulation' > <daml:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource='#matches'/> <daml:toClass rdf:resource='#Match'/> </daml:Restriction> </daml:subClassOf> <daml:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource='#matchFactor'/> <daml:toClass rdf:resource='#MatchFactor'/> </daml:Restriction> </daml:subClassOf> <daml:label>Articulation</daml:label></daml:Class>
HotDARTHotDART
Articulation ServiceArticulation Service
DAML APIDAML API JessJess
DARTDART
ImportImport
XSLTXSLTExportExport
XSLTXSLT
DUETDUET
Rational Rose
Rational Rose
Rose Adapter
UMM APIUMM API
Ontology Articulation Service
Service provides automated analysis of potential mappings between ontologies and builds an articulation ontology that codifies the mappings in DAML.
Interfaced to multiple applications using reusable components.
A DAML API
Moving towards a standard API interface for DAML.
DAML Implementation
DAMLClass
0..n
+subClassOf
0..n
subordination
DAMLLiteral
value : String
NodeGraph
M
Statement
M
DAMLProperty
minCardinal ity : StringmaxCardinal ity : String
0..n+subPropertyOf
0..n
subordination
DAMLResource
ID : Stringlabel : Stringcomment : String
1+type 1
restriction
0..n
+statements
0..n
RDF
1
+subject
1 1
+object
1
0..n
+properties
0..n
DAMLOntology
sourceRUI : StringversionInfo : String
0..n
+imports
0..n
containment
1..n+classes1..n
content
0..n
+l iterals
0..n
content
1+model 1
RDF
1..n+properties1..n
content
1..n
1
+resources
1..n
1
content
Structural MatchMatching elementsfound in matchingtables.
Example MatchStructural, Not Perfect
WorkOrderfile:Shipyard_3.daml#genid662
WorkOrderfile:Shipyard_2.daml#genid735
http://www.daml.org/2001/03/daml+oil#equivalentTo
<c:Match rdf:about="grci3027" d:strength="8.60" >
WorkOrderIDfile:Shipyard_3.daml#genid308
OrderIDfile:Shipyard_2.daml#genid342http://www.daml.org/2001/03/daml+oil#equivalentTo
<c:Match rdf:about="grci2999" d:strength=”9.84" >
<c:MatchFactor rdf:about="grci3029" d:detail="grci3027 grci2999" d:kind="TBL_ELE_MTCH" d:strength="3">
c:MatchFactor rdf:about="grci3030” d:detail="grci3027 grci2999" d:kind="ELE_TBL_MTCH" d:strength="9">
<c:MatchFactor rdf:about="grci1730" d:kind="EX_NM_MTCH:tbl_nm” d:detail=“WorkOrder” d:strength="8">
<c:MatchFactor rdf:about="grci1819" d:detail="Unique marina work order ID." d:kind="PHRASE_MTCH:ele_defn" d:strength="8">
<c:MatchFactor rdf:about="grci1825" d:detail="INTEGER" d:kind="EX_DT_MTCH:ele_data_type” d:strength="2">
c:reasons
c:reasons
Tables
Elements
Example Rule and Matches
Jess Rule
(defrule Sim_Name_Property_Match (declare (salience 10)) ;; Get a name property's info (NameProperty (name ?pnam) (strength ?pstr0) ) (DAMLProperty (localName ?pnam) (OBJECT ?ptype)) ;; Find one property of this type. (DAMLProperty (type ?ptype) (ID ?id1) (namespace ?ns1) (subject ?sub1) (object ?obj1) ) ;; Find another property of this type. (DAMLProperty (type ?ptype) (ID ?id2&~?id1) (namespace ?ns2&~ns1) (subject ?sub2) (object ?obj2) ) ;; Compare there names as phrases. (test (not (sameIC (?obj2 getValue) (?obj1 getValue)))) (bind ?pstr (comparePhraseIC (?obj1 getValue) (?obj2 getValue))) (test (>= ?pstr 8 )) => (bind ?mf (createMF ?sub1 ?sub2 (str-cat "SM_NM_MTCH:" ?pnam) (str-cat (?obj1 getValue) "|" (?obj2 getValue)) ?pstr )) ;; Log it (printout t "Sim_Name_Property_Match " (?mf getID) ;; etc…. )
GTN-CMOS Matches
Sim_Name_Property_Match COMPARE_IRD.daml#grci9920 file:CMOS_IRD.daml#genid1627 and file:GTN_IRD.daml#genid3586 because
SM_NM_MTCH:ele_access_nm NAME desig_name
Sim_Name_Property_Match COMPARE_IRD.daml#grci9923 file:CMOS_IRD.daml#genid1627 and file:GTN_IRD.daml#genid2095 because
SM_NM_MTCH:ele_access_nm NAME passenger_name
Sim_Name_Property_Match COMPARE_IRD.daml#grci9928 file:CMOS_IRD.daml#genid1627 and file:GTN_IRD.daml#genid1561 because
SM_NM_MTCH:ele_access_nm NAME last_name
Sim_Name_Property_Match COMPARE_IRD.daml#grci9925 file:CMOS_IRD.daml#genid1627 and file:GTN_IRD.daml#genid1353 because
SM_NM_MTCH:ele_access_nm NAME full_name
Sim_Name_Property_Match COMPARE_IRD.daml#grci9924 file:CMOS_IRD.daml#genid971 and file:GTN_IRD.daml#genid3474 because
SM_NM_MTCH:ele_nm MANIFEST_TYPE air_manifest_type_code
Sim_Name_Property_Match COMPARE_IRD.daml#grci9926 file:GTN_IRD.daml#genid1739 and file:CMOS_IRD.daml#genid1019 because
SM_NM_MTCH:ele_nm manifest_reference PAX_MANIFEST_REFERENCE_ID
Sim_Name_Property_Match COMPARE_IRD.daml#grci9921 file:GTN_IRD.daml#genid3441 and file:CMOS_IRD.daml#genid363 because
SM_NM_MTCH:ele_access_nm weight TOTAL_BAG_WEIGHT
Sim_Name_Property_Match COMPARE_IRD.daml#grci9922 file:GTN_IRD.daml#genid3441 and file:CMOS_IRD.daml#genid1291 because
SM_NM_MTCH:ele_access_nm weight PAX_WEIGHT
Content Based Publish and Subscribe
Subscribers provide an XQL query as specification of their interest They are subscribed to channels that provide DAML annotated content that is
the result of the XQL specification. Publishers provide DAML annotated content.
PublicationService
OntologyService
SubscriptionService
Subscriber
Publisher
BroadcastChannelManager
DAML Annotated Content
Matching Channels with Selected Content
Selected Content
XQL Content Specification
ContentChannel(s)
ChannelSubscription
What’s Challenging ...
Variation in’ DAML’ Ontologies and Instance data. XML vs RDF RDFS vs DAML
Large Ontologies Memory Usage Processing times Local Ontology Management
Rules/Query Using CLIPS syntax in JESS Looking at RML Using XQLish and rules. Need a DQL
Components for Ontology Driven Information Push
Impact• Leverages industry standard UML modeling tools and trained staff for Knowledge Engineering.
• Provides enhanced ability to integrate disparate data in databases, messages streams and other sources.
• Provides the foundation for accurate content based routing in publish and subscribe systems.
• Will immediately increase precision, and as a DAML content increases, improve recall as well in information retrieval systems.
New Ideas• Automatic generation of semantic mapping
between ontologies to facilitate database integration and content translation.
• Application of an UML technology to leverage existing resources to provide knowledge engineering capability.
• DAML processing components and services that can bring knowledge processing capability to DoD applications.
FY’01 Prototypes and Initial Development Versions
FY’01 Prototypes and Initial Development Versions
FY’02Deployment in Research and EarlyAdopter Programs
FY’02Deployment in Research and EarlyAdopter Programs
FY’03Transition to OperationalSystems
FY’03Transition to OperationalSystems
ExistingOntologies
OFPOFP
BroadcastChannelManager
OABRuntime
FactTranslator
QueryEngine
FactTranslator
OABOAB
ArticulationEngine
OntologyManager
Articulation Service
A P
IA
P I
DUETDUET
UML Tool
Built-in
Tool Adapter
ArticulatingOntology
SourceOntologies
JavaJava
SourceDescriptions
SourceDescriptions Expert
Knowledge
API
CreatedOntologies
OtherTools
OtherTools Semantic
BasedInformationRequest
SemanticallyRoutedDAML
Source DAML
DUET - DAML-UML Enhanced Tool OAB - Ontology Articulation BuilderOFP - Ontology Fact Processor
DUET with Rational Rose
RDBMS Integration Tool
OAB Web Service
Semantics based Pub/Sub
OFP Web Service
Deployed
Trans
DAML+OIL
ArticulationOntology
A B
A-B
DARTOntology
AnArticulation
HotDART Ontologies
DART Ontology describes: RDBMS content meta-data RDBMS comparison meta-data
Articulation Ontology describes matching meta-data entities.
Instances in the DART ontology describe RDBMS systems.
An Articulation between DART instance is translated into the DART Compare ontology.
0
1
2