The present invention relates to searching topic maps of a model and more specifically to searching topic maps of a model for canonical model based integration.
Models provide users with a way to understand interaction of different assets. Models are becoming increasingly complex. Simple searches of complex models are carried out using simple key word searches of a topic, and more complex searches are carried out using a query language such as SPARQL Protocol and RDF Query Language (SPARQL). SPARQL requires query language training that is generally applicable only to IT professionals.
According to one embodiment of the present invention, a method of searching within a topic map based index of a topic map meta-model with instance ontology. The method comprises the steps of: a computer receiving a search query from a user, the search query comprising a domain, a topic, a scope, and a radix; a computer searching the topic map based index of the topic map meta-model with instance ontology using as search parameters the domain, the topic, the scope, and the radix of the search query; and the computer displaying results from the topic map meta-model with instance ontology which satisfy all of the search parameters of the search query.
According to another embodiment of the present invention, a computer program product for searching within a topic map meta-model with instance ontology. The computer program product comprises one or more computer-readable tangible storage devices; program instructions, stored on at least one of the one or more storage devices, to receive a search query from a user, the search query comprising a domain, a topic, a scope, and a radix; program instructions, stored on at least one of the one or more storage devices, to search the topic map based index of the topic map meta-model with instance ontology using as search parameters the domain, the topic, the scope, and the radix of the search query; and program instructions stored on at least one of the one or more storage devices, to display results from the topic map meta-model with instance ontology which satisfy all of the search parameters of the search query.
According to another embodiment of the present invention, a computer system for searching within a topic map meta-model with instance ontology. The computer system comprises one or more computer-readable tangible storage devices, one or more processors, and one or more computer-readable memories; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to receive a search query from a user, the search query comprising a domain, a topic, a scope, and a radix; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to search the topic map based index of the topic map meta-model with instance ontology using as search parameters the domain, the topic, the scope, and the radix of the search query; and program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to display results from the topic map meta-model with instance ontology which satisfy all of the search parameters of the search query.
Referring to
In the depicted example, client computer 52, tangible storage device 53, and server computer 54 connect to network 50. In other exemplary embodiments, network data processing system 51 may include additional client computers, storage devices, server computers, and other devices not shown. Client computer 52 includes a set of internal components 800a and a set of external components 900a, further illustrated in
In the depicted example, server computer 54 provides information, such as boot files, operating system images, and applications to a client computer 52. Server computer 54 can compute the information locally or extract the information from other computers on network 50.
Program code, meta-models, a service oriented architecture (SOA) industry model repository (IMR) component 102, and programs such as search model program 66 and SOA IMR program 67 may also be located in network data processing system 51 and may be stored on at least one of one or more computer-readable tangible storage devices 830 shown in
In the depicted example, network data processing system 51 is the Internet with network 50 representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, governmental, educational and other computer systems that route data and messages. Of course, network data processing system 51 also may be implemented as a number of different types of networks, such as, for example, an intranet, local area network (LAN), or a wide area network (WAN).
IMR architecture system 100 includes federated physical model assets 103 that are stored in different types of repositories depending on the model driven framework tools and products that IMR architecture system 100 deploys. Federated physical model assets 103 may include framework, industry models, business models, unified modeling language (UML) design applications, data models, business services, service components, and technical services. Federated physical model assets 103 are not limited to the assets shown in
Applications and services 106 are provided to IMR users 108 through network 50, using interfaces 107. Interfaces 107 may be a graphically enabled, allowing display of topics maps to IMR users 108. Interfaces 107 include reports generation and tools supporting multi-formats and visualization tools supporting complex views. Interfaces 107 may be packaged as an Eclipse client, provided by a vendor specialized in providing software development tools and products or deployed inside bigger scope modeling tools, for example IBM® Rational® Software Architect or WebSphere® Business Modeler, products of International Business Machines Corporation.
Applications and services 106 may include registration and profile management; creating and customizing repository meta-model; importing customized and disparate model/data into the repository; examining/decomposing complex diagrams and structures; structure, link, and trace change disparate model/assets; advanced search and query, navigate/browse data assets; select and download model/assets; customize/add models/assets submit for repository upload; and impact analysis. Applications and services 106 are not limited to the assets shown in
IMR users 108 may include but are not limited to a repository administrator, a model manager, a system architect, and a business analyst.
Within model assets 212 is abstract model 205, which can be a canonical model such as Rational Software Modeler (RSM). Within abstract model 205 is a domain 215 with its own instance ontology 207. Instance ontology 207 is equivalent to a meta-model for each domain. Instance ontology 207 can also be referred to as instance data. An example of domain 215 is water, and an example of instance ontology 207 is the pipes associated with the water.
The cloud or topic map 111 has topics (shown as circles), which topics may be any of the meta-models present in the meta-model service 202 or in physical asset repositories 204. For example, if topic 90 was a model asset that existed in model assets 212, topic 90 would be associated with another topic 91 which may be an industry vertical meta model 140. Topic 90 may have occurrences in databases accessible through a uniform resource identifier (URI) 117, shown by the dashed lines. Other topic 92 may have occurrences in document models 216 accessible through URIs 118. By using topic maps as a meta-model internal to the physical asset repositories 204, a web service may programmatically access, manage, and maintain SOA IMR component 102.
Meta-Model Service 202 of SOA IMR component 102 is an SOA IMR meta-model service using topic map meta-model 210, which is an ISO/IEC Standard (ISO 13250-1) topic map meta model. Topic maps map both web and real-world information resources by reifying real-world resources as “subjects” and creating “topic” constructs to capture their characteristics and relationships with other topics and subjects. By using topic maps as a meta-model internal to the physical asset repositories 204, a common interface to Meta-Model Service 202 allows users to programmatically access, manage, and maintain these meta models.
Some of the advantages of using a topic map based meta model for SOA IMR component 102 are that the topic maps are independent of the implementation and are reusable for other service consumers. Topic maps can map to multiple occurrences and each model can be stored in different locations as different types of physical occurrences. Furthermore, Meta-Model Service 202 provides and supports full read and write capabilities abstract and instance ontology about an industry model.
SOA IMR component 102 has the capability of managing multiple domains. Each domain has its own meta-model and its own instance ontology. A topic map meta-model is created by SOA IMR component 102 through SOA IMR program 67.
For example, the query can have the following syntax:
/search/<<domain>>/<<topic>>/<<scope>>/<<radix>>
A user may input the query into topic map interface 104. Topic map interface 104 may be a representational state transfer (REST) based interface, although other interfaces may be used. A REST interface is preferably used since REST is a standards-based Internet protocol and is self documenting in terms of how to do the search, for example which domain to search, which topic to search, and how much of the topic map meta-model should be returned as a result of the search.
The domain of the query is the overall relevant system to be searched, e.g., a city. The topic of the query is the name of an asset relevant to the search, for example, in a City Operation setting, a water domain or a traffic domain. The scope of the query is a subset of the domain, for example, a particular time range. The radix of the query is the number of degrees from the search topic to be returned. For example, a radix of 1 would display results directly connected to the topic. A radix of 2 would display results of everything directly connected to the topic and directly connected to the matters directly connected to the topic. Foe example, in searching in a water topic for a particular pipe with a setting of a radix to 1, the results of the query would display everything connected to the pipe. If the radix setting was 2, the results of the query would display everything connected to the pipe and everything connected to components connected to the pipe under radix 1. This is discussed in greater detail in the description referring to
Search model program 66 searches a topic map index of the topic map meta-model with associated instance ontology using the search query (step 126). Search model program 66 can search for at least one domain, at least one topic, at least one scope and a radix of the search query in an iterative fashion as shown in
Search model program 66 returns the results of the search of the topic map meta-model with instance ontology and displays the results (step 128). Search model program 66 may display the results on interface 104. Search model program 66 may display the results as a mathematical topic map as shown in Tables 1, 2, and 3 below, a topic map graph as shown in
If search model program 66 receives input from a user that further searching or redefining of the search is necessary, search model program 66 returns to step 126 of searching the topic map meta-model with instance ontology. If search model program 66 receives input from the user that no further searching or redefining of the search is required, the method ends. This method of searching allows a user with domain expertise, but not significant IT skills, to explore and comprehend a model of a domain with instance ontology in which the user works, removing a requirement for the user to learn and comprehend complex query languages such as SPARQL.
In step 131, search model program 66 searches the topic map based index of the topic map meta-model with instance ontology for at least one domain of the search query, the result of the search being a domain result set having instances matching the at least one domain. Search model program 66 then searches the domain result set for at least one topic of the search query, the result of the search being a topic result set having instances matching the at least one domain and the at least one topic (step 132). Search model program 66 then searches the topic result set for at least one scope of the search query, the result of the search being a scope result set having instances matching the at least one domain and the at least one topic and the at least one scope (step 133). Then, search model program 66 searches the scope result set for a radix of the search query (step 134), the result of the search being a portion of the topic map meta-model with instance ontology that satisfies all of the search parameters of the search query.
A user may submit the following search query to search model program 66 via topic map interface 104 to search the topic map with associated instance data of
/search/domain/water/topic/pipeA/scope/2009/radix/1.
The query is an example of a query that search model program 66 can receive at step 125 of
As shown in
An association can also contain scope. Scope can be thought of in terms of mathematical sets and by expressing context relevant information in terms of scope. The topic maps can be subset down to reflect a specified context, for example a tourist.
In a first example of search model program 66 performing steps 125 through 128 of
http://topicmap.dydns.ws/xml/topicMapService/domain/test/topic/Victoria/scope/London_Underground/radix/1
In this search query, the domain is test, the topic is “Victoria” and the scope is “London Underground”. The radix is 1, so search model program 66 would refine the search results to return everything directly connected to the topic of “Victoria”. Search model program 66 can display the results at step 128 of
As shown in Table 1, search model program 66 returns, search results including the following relationships. The topic of “Victoria” is a “Victoria Line” (a specific train line within the London Underground) and a “Victoria tube station” in the domain of the “Underground”. The “Victoria Line” has a number of stations—in this example, the “Victoria Tube Station” and the “Oxford Circus Tube Station”. “Oxford Circus” and “Victoria Station” are connected to each other only on the “Victoria Line”.
In a second example of search model program 66 performing steps 125 through 128 of
http://topicmap.dyndns.ws/xml/topicMapService/domain/test/topic/Victoria/scope/London_Underground/radix/2
In this search query, the domain is test, the topic is “Victoria” and the scope is “London Underground”. The radix is 2, so search model program 66 would refine the search results to return everything directly connected to the topic of “Victoria”, and everything directly connected to everything directly connected to the topic of “Victoria.” Search model program 66 can display the results at step 128 of
As shown in Table 2, search model program 66 returns search results including the following associations based on the Victoria tube station being connected to the Oxford Circus by the Victoria Line, and the Oxford Circus tube station being connected to the Tottenham Court Road tube station by the Central Line. In association “102”, “Central Line” is a tube line connection between “TCR” or Tottenham Court Road tube station and “Oxford Circus” tube station, and this association is in the scope of the “London Underground” and the “Central Line” tube line. In association “101”, “Victoria” is a tube line connection between the “Victoria” tube station and the “Oxford Circus” tube station, and the association is in the scope of the “London Underground” and the “Victoria” tube line.
In a third example of search model program 66 performing steps 125 through 128 of
http://topicmap.dyndns.ws/xml/topicMapService/domain/test/topic/Victoria/scope/Victoria_Line/radix/1
In this search query, the domain is test, the topic is “Victoria” and the scope is “Victoria Line”. The radix is 1, so search model program 66 would refine the search results to return everything directly connected to the topic of “Victoria”. Search model program 66 can display the results at step 128 of
As shown in Table 3, the search model program 66 returns search results including the following relationships. The topic of “Victoria” is a tube line and is part of the “London Underground”. “Victoria” is also a tube station directly connected to “Oxford Circus” tube station on the Victoria tube line.
It should be noted that the searches and results will often contain significantly greater amounts of data that may need to be further refined and searched.
Each set of internal components 800a, 800b also includes a R/W drive or interface 832 to read from and write to one or more portable computer-readable tangible storage devices 936 such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor storage device. Search model program 66 can be stored on one or more of the portable computer-readable tangible storage devices 936, read via R/W drive or interface 832 and loaded into hard drive 830.
Each set of internal components 800a, 800b also includes a network adapter or interface 836 such as a TCP/IP adapter card. Search model program 66 and SOA IMR program 67 can be downloaded to computer 52 and server computer 54 from an external computer via a network (for example, the Internet, a local area network or other, wide area network) and network adapter or interface 836. From the network adapter or interface 836, search model program 66 and SOA IMR program 67 are loaded into hard drive 830. The network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
Each of the sets of external components 900a, 900b includes a computer display monitor 920, a keyboard 930, and a computer mouse 940. Each of the sets of internal components 800a, 800b also includes device drivers 840 to interface to computer display monitor 920, keyboard 930 and computer mouse 940. The device drivers 840, R/W drive or interface 832 and network adapter or interface 836 comprise hardware and software (stored in storage device 830 and/or ROM 824).
Search model program 66 and SOA IMR program 67 can be written in various programming languages including low-level, high-level, object-oriented or non object-oriented languages. Alternatively, the functions of search model program 66 can be implemented in whole or in part by computer circuits and other hardware (not shown).
Based on the foregoing, a computer system, method and program product have been disclosed for searching within topic maps of a model for canonical model based integration. However, numerous modifications and substitutions can be made without deviating from the scope of the present invention. Therefore, the present invention has been disclosed by way of example and not limitation.