270 likes | 275 Views
This paper discusses the problem and solution of ontology-based dynamic property and classification in WebSphere Metadata Server, using Semantic Web technologies.
E N D
Supporting Ontology-based Dynamic Property and Classification in WebSphere Metadata Server Shengping Liu1, Yang Yang1, Guotong Xie1, Chen Wang1, Feng Cao1, Cassio Dos Santos2, Bob Schloss3, Yue Pan1, Kevin Shank2, John Colgrave2 1IBM China Research Lab 2IBM Software Group 3IBM Watson Research Center
Outline • Problem and solution • System in details • System architecture • Dynamic property and classification scheme • XMQL++ query language and processing • Use study
Enterprise metadata management • There are so many kinds of metadata in enterprise • Technical metadata: relational schemas, XML schemas, schema mappings, UML models and messages, Web service descriptions, etc. • Business metadata: business concepts, business rules and business process, etc. • Metadata management has become the foundation of Data warehousing , Enterprise Information Integration and Service-Oriented Architecture (SOA) • Enterprise-wide metadata management • Not tool-specific or application-specific • Metadata are shared and integrated across multiple applications or even third party tools in enterprise
Challenges of enterprise-wide metadata management • Handle evolving business requirements • It is impossible to design a unified meta-model for all kinds of metadata with all possible attributes and relationships at design stage • There is a requirement to dynamically add properties (attributes and relationships) for classes in the registered metamodel • Organize large volumes of metadata in different applications, for users from different business units, by metadata classification • There is a requirement for flexible and semantic-rich classification scheme
Solution: applying Semantic Web technologies • Why Semantic Web technologies • Flexibility of RDF data model: • Treat properties as first-class citizens and allow them to be attached to a class dynamically • OWL is an emerging standard to represent the classification schemes • Rich expressivity, formal semantics and reasoning capabilities • How to apply • Extend the IBM WebSphere Metadata Server (MDS) with • Ontology-based dynamic properties (attributes and relationships ) • Represented as datatype properties and object properties in OWL • Can be attached the existing classes in MDS • Ontology-based metadata classification • Classification schemes are represented as OWL ontologies • Using OWL reasoner for metadata classification
Outline • Problem and solution • System in details • System Architecture • Dynamic Property and Classification Scheme • XMQL++ Query Language and Processing • Use study
Brief introduction to MDS and SOR • WebSphere Metadata Server (MDS) • A unified metadata services infrastructure that's designed to ease metadata management, access, and sharing within a service-oriented architecture • Packaged as a part of IBM new product: IBM Information Server (IIS) • Provides metadata management services to products in the IIS platform • A Object-Relational Mapping system that transform CRUD API and object query to SQL statements • Semantic Object Repository (SOR) • A High performance OWL ontology repositorybuilt on relational databases • Inference on loading, query without reasoning • SPARQL is rewritten to SQL • Support reasoning on OWL DL sub-language: DLP
System architecture • Integrated query language • Extend XMQL to support dynamic properties and classification • Integrated modeling paradigm • Based on EMF (Eclipse Modeling Framework) • Integrated runtime repository • The ontology repository is tight-coupled with the MDS repository Hybrid query language or one extended query language? API integration? Reasoning on existing model? Loosely coupled or tight-coupled?
Ontology-based dynamic property • Semantic of dynamic property is similar to EMF property • Multiple domain and range is forbidden for dynamic property • Multiplicity of a dynamic property is always 0..* • Dynamic attribute • Domain of a dynamic attribute is an EMF class • Range of a dynamic attribute can be: EChar, EInt, and EString,etc. • Dynamic relationship • Domain and range of a dynamic relationship are EMF classes • Semantic annotations can be added for the property • Symmetric, transitive, subPropertyOf
When metadata shared by different usage context • Business Analyst • I want to add the business function information for WSDL service at runtime • Service Administrator • I want to add the response time information for WSDL service at runtime • I want to add the service status information for WSDL service at runtime businessFunction - Domain: WSDLService - Range: EString responseTime - Domain: WSDLService - Range: EInt serviceStatus - Domain: WSDLService - Range: EString Deployed WSDL model
UI for adding dynamic attribute Deployed meta-models Domain & Range of “businessFunction” Add dynamic attributes at runtime
New relationships can be defined at runtime • Service Administrator • There is a new relationship between Web Services should be modeled: dependsOn • This relationship is transitive • I don’t want to change the old metamodel and redeploy it • Add a dynamic relationship • Declare its domain and range • Add semantic annotation: Transitive dependsOn - Domain: WSDLService - Range: WSDLService - type: owl:TransitiveProperty
UI for adding dynamic relationship Domain & Range of “dependsOn” Adding “dependsOn”. Semantic annotation can be applied on dynamic relationships
Ontology-based Classification • Supported features • Classification schema is represented as OWL ontology • A classifier is represented as a named class • A classification hierarchy is represented as an ontology • Dynamic classifier can be created using OWL class expression • Users need to create initial classification links from metadata in MDS to classifiers in the classification scheme • The system will deduce all implicit classification information by OWL reasoning
Better Organization: Metadata Classification • Business Analyst • I want to view the services through the Insurance Services Taxonomy • Service Administrator • I want to organize the services through the service life-cycle taxonomy • I want to classify the service according to its service status information Insurance Service Taxonomy Serivice Life-cycle Taxonomy
OWL Expressions Can Be Used to Defined Classifiers • Service Administrator • I want to classify the service according to its service status and Insurance Services Taxonomy intersectionOf Insurance Service Taxonomy ClaimMgmtInProduction ClaimMgmtInProduction = ClaimMgmt Production intersectionOf Ontology reasoner can automatically make reasoning according to the definition Serivice Life-cycle Taxonomy
OWL Restrictions Can Be Used to Defined Classifiers • owl:someValuesFrom: one of the property values is classified to a classifer • ClaimDependentSvc: the services that depend on a service which is classified to ClaimMgmt someValuesFrom ClaimDependentSvc ClaimDependentSvc = InsuranceServices dependsOn.ClaimMgmt OnProperty dependsOn - Domain: WSDLService - Range: WSDLService - type: owl:TransitiveProperty
Classify metadata according to the Classification scheme Select objects to be classified Classification information has been set Instance: MotorClmHandling : ClaimHandling Select classifiers that the metadata is classified to MotorClmHandling : Production MotorPolicyValidation : PolicyDataValidation
XMQL++ Query Language • XMQL • A subset of Object Query Language (OQL), for querying OO data • The basic structure is also select-from-where • For example, select the employee’ name who located in the United States that work for the project named “NewHotel”. • Extension with dynamic properties • Dynamic properties can appear as normal EMF properties in XMQL path expressions • Extension with classification • Classification functions are provided to enable queries over classification information in XMQL • Object[] classifiedBy(URI); URI[] classifiers(pathExpression):
Some Examples • Get all WSDL services which are classified as DataService select x from x in WSDLService where x in classifiedBy(“http://foo.org/category#DataService”) • Get all WSDL services which are dependant on “service1”select x from y in WSDLService, x in ydependsOn where y.serviceName =“service1” • Get all data services which are dependant on “service1” select x from y in WSDLService, x in y dependsOn where y.serviceName = “service1” and x in classifiedBy(“http://foo.org/category#DataService”)
XMQL++ Query Processing • TripleQueryHandler will translate XMQL query extensions into SPARQL queries to ontology repository • SOR query engine will rewrite the queries to SQL sub-queries • XMQL++ Translator will merge the fragments with merge these sub queries with the SQL query generated for XMQL query
Outline • Problem and solution • System in details • System architecture • Dynamic property and classification scheme • XMQL++ query language and processing • Use study
Use study on China Healthcare Solution • HL7 Common Terminology Service • A list of APIs to manage terminologies • CTS APIs are implemented by using XMQL++ query • CTS vocabulary model is divided into two parts: • Static part stored in MDS • Dynamic part stored in SOR • For SNOMED CT • Add an dynamic attribute: designationCategory
Observations • Essential features for the acceptance • Model flexibility • Users/programmers can attach any attributes or relationships to classes in the registered model without redeployment of the model. • Reasoning support • Programmers need not write additional code to handle the complex reasoning problems, such as the transitive closure computing. • User-friendliness • Users/programmers can write similar APIs and use our modestly extended query language to handle on dynamic properties and classifications. • The underlying Semantic Web technologies are mostly transparent for them • Hybrid storage pattern for complex metadata • Horizontal tables for the part of metadata with no reasoning involved • Vertical triple tables for the part of metadata with reasoning support or dynamic properties • Can not leverage the full expressivity of SPARQL query
Conclusion • We present a practical system to provides support : • Manage semantic-rich properties and classifiers in the IBM WebSphere Metadata Server (MDS) by integrating the ontology repository SOR. • The experience to be shared • To enable the smooth acceptance of Semantic Web technologies for commercial metadata product developers with existing products, the integrated system should consist of integrated modeling paradigm, query language and runtime repository.
Simplified Chinese Thai Korean Traditional Chinese Gracias Spanish Russian Thank You English Obrigado Brazilian Portuguese Arabic Danke German Grazie Merci Italian French Japanese Hindi Tamil
Related work • Dynamic attribute • Every class has a list of <property, value> pairs each with a name and appropriate value • Dynamic relationship • Using weaving models [Stefanov 2006], in which a link have multiple link ends that each holding a reference to a model element. • Hybrid query language for SQL+SPARQL • Using a SQL table function RDF_MATCH [Chong 2005]