WO2012165708A1 - 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치 - Google Patents

온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치 Download PDF

Info

Publication number
WO2012165708A1
WO2012165708A1 PCT/KR2011/005685 KR2011005685W WO2012165708A1 WO 2012165708 A1 WO2012165708 A1 WO 2012165708A1 KR 2011005685 W KR2011005685 W KR 2011005685W WO 2012165708 A1 WO2012165708 A1 WO 2012165708A1
Authority
WO
WIPO (PCT)
Prior art keywords
instance
path
class
ontology schema
ontology
Prior art date
Application number
PCT/KR2011/005685
Other languages
English (en)
French (fr)
Inventor
김평
정한민
이미경
이승우
서동민
성원경
Original Assignee
한국과학기술정보연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Publication of WO2012165708A1 publication Critical patent/WO2012165708A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24566Recursive queries

Definitions

  • the present invention relates to an ontology schema-based instance path search method and apparatus, and more particularly, the instance path search apparatus receives two or more keywords from a user to generate instance pairs for the keywords, and from the ontology instance database. After extracting each class pair corresponding to each instance pair, ontology schema-based instance obtaining ontology schema paths for each class pair from ontology schema path database and searching for instance paths using each ontology schema path.
  • a route searching method and apparatus are provided.
  • a person has the ability to intuitively grasp the semantic relationship between words used. For example, there is a close relationship between 'soccer shoes' and 'soccer balls', but there is no special relationship between 'soccer shoes' and 'cars'. As a result, people can know which words are associated with these documents in the process of reading them, even if they are not included in the document, allowing them to think of the associated words through the document.
  • an object of the present invention is to provide an ontology schema-based instance path search method and apparatus that can search the path between class-based instances to quickly find a variety of complex associations To provide.
  • Another object of the present invention is to provide an ontology schema-based instance path search method and apparatus that can search an instance path by searching all relationships without considering the direction between classes or instances.
  • the instance path search apparatus for searching an instance path, (a) receiving two or more keywords from a user to generate instance pairs for the keywords (B) extracting each class pair corresponding to each instance pair from an ontology instance database, (c) obtaining ontology schema paths for each class pair from the ontology schema path database respectively, and (d) An ontology schema-based instance path search method is provided that includes searching for instance paths using each of the ontology schema paths.
  • the ontology schema-based instance path searching method may further include searching for an ontology schema path between classes for all classes stored in the ontology schema database and storing the ontology schema path database in the ontology schema path database before step (a).
  • the ontology schema-based instance path searching method may further include searching for an ontology schema path of an updated class and updating the ontology schema path database when an update of the ontology schema database is detected.
  • the ontology schema-based instance path search method may further include visualizing the searched instance paths.
  • the step (a) includes obtaining instances of the input keywords from an ontology instance database, and generating instance pairs paired with each other for the obtained instances.
  • the ontology schema path database is searched to obtain ontology schema paths connected with a start or end class corresponding to each class pair by a start or end for each class pair.
  • step (d) replacing the starting class and the ending class with corresponding first and second instances in the ontology schema path, and (d-2) dividing the ontology schema path in half.
  • If there is a linked class extracting at least one or more instances associated with the first instance or the second instance from among instances included in the linked class, (d-4) the extracted instances are associated with the first instance; Generating instance paths connected between the second instance.
  • step (d-3) when the first or second instance is connected to at least one class in the first or second join schedule, the step (d-3) may be performed by the first or second class directly connected to the first or second instance. Extracting at least one instance associated with the first or second instance among the instances; if another class associated with the first or second class exists in the first or second join schedule, Extracting at least one instance of each of the instances connected to the extracted instances, connecting the first or second instance and the extracted instances according to a connection relationship to establish at least one first or second instance path; It may comprise the step of generating.
  • first or second instance and the instances extracted from the first or second class are connected according to a connection relationship. Connect to create at least one first or second instance path.
  • a path search condition including at least one of an instance path length, a number of results to be derived, and a response time is input together with the keywords, an instance path according to the path search condition is searched.
  • an ontology schema database storing inter-class relationship information, an ontology instance database storing inter-instance relationship information, an ontology schema path database storing inter-class ontology schema paths for all classes stored in the ontology schema database,
  • a user interface that receives two or more keywords from a user, an instance pair generator that obtains instances of the input keywords from the ontology instance database and generates instance pairs, corresponding to each instance pair generated from the ontology instance database
  • a class pair extracting unit for extracting each pair of classes, ontology schema paths for each class pair from the ontology schema path database
  • An ontology schema-based instance path search apparatus including an ontology schema path obtainer for acquiring each of them and an instance path searcher for searching for instance paths using the respective ontology schema paths are provided.
  • the ontology schema-based instance path search apparatus may further include an ontology schema path generation unit configured to search the ontology schema path between classes for all classes stored in the ontology schema database to construct the ontology schema path database.
  • the ontology schema path generation unit When the ontology schema path generation unit detects an update of the ontology schema database, the ontology schema path generation unit updates the ontology schema path database by searching for an ontology schema path of an updated class.
  • the ontology schema-based instance path search apparatus may further include a visualization unit for visualizing the instance paths searched by the instance path search unit in the form of a graph or a list.
  • the ontology schema path obtainer retrieves the ontology schema path database and obtains ontology schema paths connected by a start or end class corresponding to each class pair to a start or end for each class pair.
  • the instance path search unit replaces a start class and an end class with corresponding first and second instances in the ontology schema path, and divides the ontology schema path in half to include a first join schedule and a second instance.
  • a join schedule generation module for generating a second join schedule including an instance; an instance included in the linked class, if a class associated with the first instance or the second instance exists based on the first or second join schedule
  • An instance search module for extracting at least one or more instances connected with the first instance or the second instance, and an instance path generation module for generating the instance paths between the extracted instances and the first instance and the second instance. do.
  • the instance discovery module may be configured to select from instances of a first or second class directly connected with the first or second instance when the first or second join schedule is connected with the at least one class. Extract at least one instance associated with the first or second instance, and if there is another class associated with the first or second class, at least one associated with the extracted instances among the instances of the other class, respectively After extracting instances of, at least one first or second instance path is generated by connecting the first or second instance and the extracted instances according to a connection relationship.
  • the instance discovery module may be configured to extract an instance extracted from the first or second instance and the first or second class when there is no other class associated with the first or second class in the first or second join schedule.
  • the at least one first or second instance path is generated by connecting them according to a connection relationship.
  • the instance path search unit searches for an instance path according to the path search condition when a path search condition including at least one of an instance path length, a number of results to be derived, and a response time is input together with keywords through the user interface unit. .
  • a path between classes based on instances may be searched to quickly find various and complicated association relationships.
  • FIG. 1 is a diagram illustrating an ontology schema-based instance path search system according to the present invention.
  • Figure 2 is a block diagram schematically showing the configuration of an instance path search apparatus according to the present invention.
  • FIG. 3 is an exemplary diagram illustrating a structure of an ontology instance database illustrated in FIG. 2.
  • FIG. 4 is an exemplary view showing the structure of the ontology schema database shown in FIG.
  • FIG. 5 is an exemplary diagram illustrating a structure of an ontology schema path database shown in FIG. 2.
  • FIG. 6 is a flowchart illustrating a method of searching an instance path by an instance path search apparatus according to the present invention.
  • FIG. 7 is a flowchart illustrating a method for constructing an ontology schema path database by an instance path search apparatus according to the present invention.
  • FIG. 8 is a view for explaining a method for building an ontology schema path database by the instance path search apparatus according to the present invention.
  • FIG. 9 is a flowchart illustrating a method for searching an instance path by an instance path search apparatus according to the present invention.
  • FIG. 10 is a flowchart illustrating a method for searching an instance path according to a join schedule by an instance path search apparatus according to the present invention.
  • a keyword described below refers to a user keyword having one or more Uniform Resource Identifiers (URIs), and an instance refers to a URI for the keyword.
  • URIs Uniform Resource Identifiers
  • a class is a group that contains related instances.
  • An ontology schema path is a path where classes are connected in one or more relationships
  • an instance path is a path where instances are connected in one or more relationships.
  • FIG. 1 is a diagram illustrating an ontology schema-based instance path search system according to the present invention.
  • an ontology schema-based instance path search system includes a user terminal 100 for inputting a keyword and an instance path search apparatus 200 for searching an instance path for keywords from the user terminal 100. do.
  • the user terminal 100 refers to a wired communication terminal such as a PC, a mobile communication terminal such as a mobile phone or a laptop.
  • the instance path search apparatus 200 receives two or more keywords from the user terminal 100, generates instance pairs for the keywords, and constructs a class pair corresponding to each instance pair. Extract from each. Then, the instance path search apparatus 200 obtains ontology schema paths for each class pair from an ontology schema path database, and searches for instance paths using each ontology schema path.
  • FIG. 2 is a block diagram schematically illustrating a configuration of an instance path search apparatus according to the present invention.
  • FIG. 3 is an exemplary diagram illustrating a structure of an ontology instance database shown in FIG. 2
  • FIG. 4 is a diagram of an ontology schema database shown in FIG. 2.
  • 5 is an exemplary diagram showing the structure of the ontology schema path database shown in FIG.
  • the instance path search apparatus 200 may include an ontology instance database 202 storing relationship information between instances, an ontology schema database 204 storing relationship information between classes, an ontology schema path database 206, and a user interface.
  • ontology instance database 202 a relationship between an instance and an instance is registered as shown in FIG.
  • a subject, an object, and a predicate for an instance are defined in the ontology instance database 202 as shown in (a). For example, if 'school 1' is a subject and 'pro profession 1' is an object, 'school 1' and 'pro profession 1' are defined as the predicates of 'school-professional'.
  • a subject, an object, and a predicate for a class are defined in the ontology schema database 204 as shown in (a).
  • the relationship between the two classes is formed through predicates.
  • the ontology schema path database 206 stores inter-class ontology schema paths for all classes stored in the ontology schema database 204.
  • a path, a path length, and the like for the start class and the end class are registered in the ontology schema path database 206.
  • the user interface unit 208 serves to receive two or more keywords from a user.
  • the user interface unit 208 receives a keyword from a user terminal through a communication network or through a provided input unit.
  • the instance pair generator 210 obtains instances of the input keywords from the ontology instance database 202 and generates instance pairs. That is, the instance pair generator 210 acquires instances of the received keywords and generates two pairs of instances paired with each other.
  • the instance pair generator 210 when the obtained instance is A, B, or C, the instance pair generator 210 generates three instance pairs of A-B, A-C, and B-C.
  • the class pair extractor 212 extracts a class pair corresponding to each generated pair of instances from the ontology instance database 202.
  • the class pair extractor 212 searches the ontology instance database 202 to correspond to 'school 2' and 'pro profession 3'. Extract the 'faculty' corresponding to the class pair of 'school-faculty'.
  • the class pair extractor 212 searches the ontology instance database 202 to retrieve values of an object whose subject value is an instance and a predicate value is rdf: type. Extract and extract the values of the extracted object into a class.
  • the ontology schema path obtainer 214 obtains ontology schema paths for each class pair from the ontology schema path database 206.
  • the ontology schema path obtainer 214 searches for the ontology schema path database 206 and searches for the class pair. Obtain an ontology schema path.
  • the ontology schema path obtainer 214 searches the ontology schema path database 206 and obtains ontology schema paths connected with a start or end class corresponding to each class pair at the beginning or the end of each class pair. .
  • the instance path search unit 216 searches for instance paths using the obtained ontology schema paths, respectively.
  • the instance path search unit 216 performing the above role includes a join schedule generation module 216a, an instance search module 216b, and an instance path generation module 216c.
  • the join schedule generation module 216a replaces the start class and the end class with corresponding first and second instances in the ontology schema path, and divides the ontology schema path in half to include a first instance. Create a second join schedule that includes the schedule and the second instance.
  • the instance discovery module 216b may be configured to, when there is a class associated with the first instance or the second instance, based on the first or second join schedule, among the instances included in the linked class. Extract at least one instance associated with the 2 instances.
  • the instance discovery module 216b may be configured to directly or firstly connect with the first or second instance when the first or second instance is associated with at least one class in the first or second join schedule. Extract at least one instance associated with the first or second instance from instances of the class. Then, when there is another class connected to the first or second class, the instance search module 216b extracts at least one instance respectively connected to the extracted instances from the instances of the other class, and then At least one first or second instance path is generated by connecting the first or second instance and the extracted instances according to a connection relationship.
  • the instance discovery module 216b may determine an instance path in which only the first instance and the second instance are connected when there is no other class connected to the first and second classes in the first and second join schedules. Create
  • the instance path search unit 216 receives the path search path. Search for instance paths based on conditions.
  • the ontology schema path generation unit 220 constructs the ontology schema path database 206 by searching for an ontology schema path between classes for all classes stored in the ontology schema database 204.
  • the ontology schema path generation unit 220 searches the ontology schema path of the updated class and updates the ontology schema path database 206.
  • the visualization unit 218 visualizes the instance paths searched by the instance path search unit 216 in the form of a graph and a list.
  • FIG. 6 is a flowchart illustrating a method of searching for an instance path by an instance path search apparatus according to the present invention.
  • the instance path searching apparatus constructs an ontology schema path database by searching for an ontology schema path between classes for all classes stored in the ontology schema database (S602).
  • the instance path search apparatus After the execution of S602, when two or more keywords are input from the user (S604), the instance path search apparatus generates instance pairs for the keywords (S606). That is, the instance path search apparatus obtains instances of the input keywords from the ontology instance database, and generates two pairs of instances for each of the obtained instances.
  • the instance path search apparatus After performing S606, the instance path search apparatus extracts a class pair corresponding to each instance pair from an ontology instance database (S608).
  • the instance path search apparatus After performing the step S608, the instance path search apparatus obtains ontology schema paths for each class pair from an ontology schema path database (S610). That is, the instance path search apparatus searches the ontology schema path database and obtains ontology schema paths connected with a start or end class corresponding to each class pair by a start or end for each class pair.
  • the instance path search apparatus searches for instance paths using the respective ontology schema paths (S612).
  • the instance path search apparatus visualizes the found instance paths (S614).
  • FIG. 7 is a flowchart illustrating a method for constructing an ontology schema path database by an instance path search apparatus according to the present invention.
  • the obtained subject is a class and N is a stack number.
  • the instance path search apparatus After the execution of the S704, the instance path search apparatus, if any class in the current stack (POP) is selected (POP) (S706), the ontology schema database is searched to determine whether there is a class having a connection relationship with the selected class. It is determined (S708).
  • the instance path search apparatus increases the stack by 1 (S710), and acquires all classes having a connection relationship with the selected class in the ontology schema database.
  • the stack number is stored in the stack in which the stack number is increased by 1 (S712). That is, the instance path search apparatus selects any one class currently stored on the stack and obtains all classes related to the selected class, and the predicate is rdfs: domain or the object of the selected class in the ontology schema database.
  • the instance path search apparatus selects any one class among classes stored in the current stack (POP) (S714), and generates all paths from the selected class in the first stack to the selected class in the current stack. (S716). For example, as shown in FIG. 4, after the "school” is stored in the first stack, and the second stack including "professional", “course”, “department”, and “department” for the "school” class is created, If the "Professor" class is selected, the instance path finding device creates a "School-Professor" path.
  • the instance path search apparatus is selected as “school-”. Create a "teacher-course”, “faculty-course” path.
  • the instance path search apparatus determines whether the path generated in the step S716 is a circular path (S718).
  • the instance path search apparatus determines whether the generated path is a circular path to avoid the cost of re-searching the previously generated path. In this case, the instance path search apparatus determines that the first node and the last node are the same as the "A-C-D-E-A", and are circular paths.
  • the instance path search apparatus stores the circular path in an ontology schema path database (S720), and all classes currently stored in the stack are considered for generating the ontology schema path. It is determined whether or not (S722). In this case, the instance path search apparatus indicates that the corresponding path is a circular path while storing the circular path as an ontology schema path in the ontology schema path database.
  • the instance path search apparatus determines whether the current stack is the second stack (S724).
  • the instance path search apparatus determines whether all classes of the ontology schema database are considered for generating the ontology schema path (S726).
  • the instance path search apparatus when all classes are considered for generating the ontology schema path, the instance path search apparatus generates a new path for each class included in the circular path and stores it in the ontology schema path database (S728). For example, in the case of the “A-E-C-B-A” circular path, the instance path search apparatus generates a path having each class of E, C, and B included in the circular path as a start class or end class. In this case, the generated path may be, for example, a path having B as a starting class, such as “B-A-E-C”.
  • the instance path search apparatus obtains the classes not considered in the ontology schema database and stores them in the first stack ( S730), S706 is performed.
  • the ontology schema database stores classes in various forms such as graphs and tables. Therefore, since the instance path search apparatus needs to generate a path for all classes stored in another form, the process is repeated until the path information for all classes stored in the ontology schema database is stored in the ontology schema path database.
  • the instance path search apparatus selects a next class from the stack created before the current stack (S732), and performs the process after S708.
  • the instance path search apparatus performs S706.
  • the instance path search apparatus determines whether the same path as the generated path or the reverse path exists in the ontology schema path database (S734). That is, the instance path search apparatus determines whether the same path as the generated path or the reverse path exists in the ontology schema path database in order to prevent the same path information from being repeatedly stored in the ontology schema path database.
  • the instance path search apparatus performs the step S706 without storing the generated path in the ontology schema path database (S736).
  • the instance path search device is “research-professional” because the “professional-research” path exists in the ontology schema path database. Do not save the path.
  • the instance path search apparatus stores the generated path in an ontology schema path database (S738).
  • FIG. 8 is a view for explaining a method for building an ontology schema path database by the instance path search apparatus according to the present invention.
  • the instance path search apparatus may have a predicate of rdf: type and an object of rdfs: class in the ontology schema database as shown in (b). Get 'A', the subject (node) of the first tuple.
  • the instance path search apparatus acquires 'a' and 'd', which are subjects (edges) of all tuples whose predicate is rdfs: domain or rdfs: range, with 'A' as an object as shown in (c).
  • the instance path search apparatus acquires 'B' and 'E', which are objects (Nodes) of a tuple whose predicate is rdfs: domain or rdfs: range, with the same subject as the obtained subject.
  • the instance path search apparatus acquires 'b' which is the subject (edge) of all tuples whose predicate is rdfs: domain or rdfs: range with 'B' as an object as shown in (d). With the same subject, obtain a 'C' that is an object (Node) of a tuple whose predicate is rdfs: domain or rdfs: range. At this time, if the tuple object whose subject is the same as the subject of 'B' and the predicate is rdfs: domain or rdfs: range is 'A', it is excluded from the search between the two classes because it is considered in the previous search.
  • the instance path search apparatus acquires 'c' and 'e', which are subjects (edges) of all tuples whose predicate is rdfs: domain or rdfs: range, with 'C' as an object as shown in (e). It acquires 'D' and 'E' which are objects (Nodes) of tuple whose predicate is rdfs: domain or rdfs: range with the same subject as the acquired subject.
  • the instance path search apparatus acquires the subject (edge) of all tuples whose predicate is rdfs: domain or rdfs: range with 'D' as an object as shown in (f), and predicates with the same subject as the obtained subject. Obtain an object (Node) of a tuple whose rdfs: domain or rdfs: range.
  • the instance path search apparatus acquires 'd' which is the subject (edge) of all tuples whose predicate is rdfs: domain or rdfs: range with 'E' as an object as shown in (i). With the same subject, get an 'A' object (Node) of a tuple whose predicate is rdfs: domain or rdfs: range. In this case, since the obtained 'A' makes a circular path, the path type is graphed and excluded from subsequent search.
  • the instance path search apparatus Since the path generated in (i) is a circular path, the instance path search apparatus stores the circular path as an ontology schema path as shown in (j) and deletes a class considered for path generation.
  • the instance path search apparatus acquires 'e' which is the subject (edge) of all tuples whose predicate is rdfs: domain or rdfs: range with 'E' as an object as shown in (k). With the same subject, obtain a 'C' that is an object (Node) of a tuple whose predicate is rdfs: domain or rdfs: range. At this time, the obtained 'C' is not stored because the reverse same path exists.
  • the instance path search apparatus acquires 'b' and 'c', which are subjects (edges) of all tuples whose predicate is rdfs: domain or rdfs: range, with 'C' as an object as in (l). It acquires 'B' and 'D' which are objects (Nodes) of tuple whose predicate is rdfs: domain or rdfs: range with the same subject as the acquired subject. At this time, the obtained C-B, C-D is not stored because the same backward path exists.
  • the instance path search apparatus deletes the class considered for path generation as in (m), and subjects of all tuples whose predicate is rdfs: domain or rdfs: range with 'B' as object as in (n). It acquires 'A' which is an edge, and obtains an object (Node) of a tuple whose predicate is rdfs: domain or rdfs: range with the same subject as the obtained subject.
  • the instance path search apparatus creates a new path for each class included in the recursive path as shown in (o).
  • the instance path search apparatus searches for a path having each class of E, C, and B included in the circular path as a start class or end class, You will create an additional path with B 'as the starting class.
  • the instance path search apparatus searches for paths between two classes for all classes stored in the ontology schema database, respectively. In this case, the instance path search apparatus searches all relationships without considering the direction between classes.
  • FIG. 9 is a flowchart illustrating a method of searching for an instance path by an instance path search apparatus according to the present invention.
  • the instance path search apparatus replaces the start class and the end class with corresponding first and second instances in the ontology schema path (S802).
  • the instance path search apparatus determines whether the ontology schema path length is '1' (S804).
  • the instance path search apparatus If the ontology schema path length is 1 as a result of the determination of S804, the instance path search apparatus generates an instance path to which the first instance and the second instance are connected (S806).
  • the instance path search apparatus divides the ontology schema path in half and splits the ontology schema path in half and includes a first join schedule including a first instance and a second including a second instance. Create a join schedule (S808).
  • the instance path search apparatus searches for the first and second instance paths by extracting instances having an association relationship according to the first and second join schedules (S810). A detailed description of how the instance path search apparatus searches for the first and second instance paths will be given with reference to FIG. 10.
  • the instance path searching apparatus When the S810 is performed, the instance path searching apparatus generates the instance paths by connecting the found first and second instance paths according to an association relationship (S812).
  • FIG. 10 is a flowchart illustrating a method of searching for an instance path according to a join schedule by an instance path search apparatus according to the present invention.
  • the instance path search apparatus determines whether the first or second instance is connected to at least one class in the first or second join schedule (S902).
  • the instance path search apparatus may include the first among the instances of the first or second class directly connected with the first or second instance. At least one instance having a connection relationship with the first or second instance is extracted (S904).
  • the instance path search apparatus determines whether the first or second class is connected to another class in the first or second join schedule (S906).
  • the instance path searching apparatus extracts at least one instance having a connection relationship with the extracted instances from among the other connected classes. (S908).
  • the instance path search apparatus connects the first or second instance and the extracted instances according to a connection relationship to generate at least one first or second instance path (S910).
  • the instance path search apparatus may extract the first or second instance and the instances extracted from the first or second class. At least one first or second instance path is generated by connecting according to a connection relationship (S912).
  • class pair is 'B-D' and the ontology schema path is 'B-A-E-C-D' will be described as an example.
  • the instance path search apparatus divides the ontology schema path into 'BA-E' and 'C-D' and divides the start class B and the end class D into the instance B0 corresponding to the start class B and the instance D0 corresponding to the end class D. Substitute the schedule of Article 1 of 'B0-A-E' and the schedule of Group 2 of 'D0-C'.
  • the instance path search apparatus performs a join according to a first join schedule to obtain instances A0, A1, and A2 connected to B0 among instances of class A.
  • the instance path search apparatus extracts instances connected to each of A0, A1, and A2, that is, E0 connected to A0, E1 connected to A0, E1 connected to A1, and E1 connected to A2.
  • the instance path search apparatus according to the first join schedule 'B0-A0-E0', 'B0-A0-E1' 'B0-A1-E1', 'B0-A2-E1', 'B0-A2- Extract the first instance paths of E3 '.
  • the instance path search apparatus obtains instances C0 and C1 connected to D0 among instances of the 'C' class according to the second join schedule.
  • the instance path search apparatus extracts second instance paths of 'D0-C0' and 'D0-C1' according to the second join schedule.
  • the instance path search apparatus then connects the first instance paths and the second instance paths according to a connection relationship. That is, as a result of examining the connection relationship between E0, E1, E3, and C0, C1, when E0 is connected to C0, C1, the instance path search apparatus is 'B0-A0-E0-C0-D0', 'B0-A0'. Create an instance path of E0-C1-D0 '.
  • the ontology schema-based instance path search method and apparatus of the present invention enables to quickly find various and complex association relationships, and it is highly necessary to search the instance path by searching all the relationships without considering the directions between classes or instances. Suitable for

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치에 관한 것으로, 인스턴스 경로 탐색 장치가 인스턴스 경로를 탐색하는 방법에 있어서, (a) 사용자로부터 2개 이상의 키워드를 입력받아 상기 키워드들에 대한 인스턴스 쌍들을 생성하는 단계, (b) 온톨로지 인스턴스 데이터베이스로부터 상기 각 인스턴스 쌍에 대응하는 클래스 쌍을 각각 추출하는 단계, (c) 온톨로지 스키마 경로 데이터베이스로부터 상기 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득하는 단계, (d) 상기 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색하는 단계를 포함한다. 따라서 본 발명에 따르면, 다양하고 복잡한 연관 관계를 빠르게 찾을 수 있도록 클래스 기반의 인스턴스간 경로를 탐색할 수 있다.

Description

온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치
본 발명은 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치에 관한 것으로서, 더욱 상세하게는 인스턴스 경로 탐색 장치가 사용자로부터 2개 이상의 키워드를 입력받아 상기 키워드들에 대한 인스턴스 쌍들을 생성하고, 온톨로지 인스턴스 데이터베이스로부터 상기 각 인스턴스 쌍에 대응하는 클래스 쌍을 각각 추출한 후, 온톨로지 스키마 경로 데이터베이스로부터 상기 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득하고, 상기 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치에 관한 것이다.
일반적으로 사람은 사용되는 단어 간의 의미 관계를 직관적으로 파악할 수 있는 능력이 있다. 예를 들어, '축구화'와 '축구공' 간에는 서로 밀접한 관계가 있지만, '축구화'와 '자동차' 간에는 특별한 관계가 없음을 알 수 있다. 그렇기 때문에 사람들은 문서를 읽는 과정에서 이러한 문서가 어떤 단어와 연관되어 있는지를 알 수 있고, 심지어 이는 연관된 단어가 문서 내에 포함되어 있지 않은 경우에도 문서를 통해 연관된 단어를 떠올릴 수 있게 한다.
컴퓨터가 웹상의 데이터의 뜻을 이해하고 논리적 추론까지 할 수 있는 차세대 웹 기술인 시맨틱 웹(Semantic Web)이 각광을 받음에 따라 RDF/RDFS로 표현되는 웹 데이터의 양이 증가하고 있다.
그러나, 전문가들도 방대한 양의 트리플 저장소에서 인스턴스간 연관 관계를 직접 찾는 것은 매우 어렵고, 시스템적으로 인스턴스간 연관 관계를 찾기 위해서 관계의 방향을 따라 탐색하기 때문에 다양하고 복잡한 연관 관계를 탐색할 수 없는 단점이 있었다.
본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 다양하고 복잡한 연관 관계를 빠르게 찾을 수 있도록 클래스 기반의 인스턴스간 경로를 탐색할 수 있는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치를 제공하는데 있다.
본 발명의 다른 목적은 클래스 또는 인스턴스간의 방향을 고려하지 않고 모든 관계를 탐색하여 인스턴스 경로를 탐색할 수 있는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치를 제공하는데 있다.
상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 인스턴스 경로 탐색 장치가 인스턴스 경로를 탐색하는 방법에 있어서, (a) 사용자로부터 2개 이상의 키워드를 입력받아 상기 키워드들에 대한 인스턴스 쌍들을 생성하는 단계, (b) 온톨로지 인스턴스 데이터베이스로부터 상기 각 인스턴스 쌍에 대응하는 클래스 쌍을 각각 추출하는 단계, (c) 온톨로지 스키마 경로 데이터베이스로부터 상기 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득하는 단계, (d) 상기 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색하는 단계를 포함하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법이 제공된다.
상기 온톨로지 스키마 기반 인스턴스 경로 탐색 방법은 상기 (a)단계 이전에, 상기 온톨로지 스키마 데이터베이스에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로를 탐색하여 온톨로지 스키마 경로 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
또한, 상기 온톨로지 스키마 기반 인스턴스 경로 탐색 방법은 상기 온톨로지 스키마 데이터베이스의 업데이트가 감지된 경우, 업데이트된 클래스의 온톨로지 스키마 경로를 탐색하여 상기 온톨로지 스키마 경로 데이터베이스를 업데이트하는 단계를 더 포함할 수 있다.
또한, 상기 온톨로지 스키마 기반 인스턴스 경로 탐색 방법은 상기 탐색된 인스턴스 경로들을 시각화하는 단계를 더 포함할 수 있다.
상기 (a)단계는 온톨로지 인스턴스 데이터베이스로부터 상기 입력받은 키워드들의 인스턴스들을 획득하는 단계, 상기 획득된 인스턴스들에 대해 2개씩 짝을 이루는 인스턴스 쌍들을 생성하는 단계를 포함한다.
상기 (c)단계는 상기 온톨로지 스키마 경로 데이터베이스를 검색하여 각 클래스 쌍에 해당하는 시작 클래스와 끝 클래스가 시작 또는 끝으로 연결된 온톨로지 스키마 경로들을 클래스 쌍별로 획득한다.
상기 (d)단계는 (d-1) 상기 온톨로지 스키마 경로에서 시작 클래스와 끝 클래스를 대응하는 제1 인스턴스와 제2 인스턴스로 대체하는 단계, (d-2) 상기 온톨로지 스키마 경로를 반으로 나누어 제1 인스턴스를 포함하는 제1 조인 스케줄과 제2 인스턴스를 포함하는 제2 조인 스케줄을 생성하는 단계, (d-3) 상기 제1 또는 제2 조인 스케줄을 근거로 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 클래스가 존재하는 경우, 그 연결된 클래스에 포함된 인스턴스들 중에서 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 적어도 하나 이상의 인스턴스를 추출하는 단계, (d-4) 상기 추출된 인스턴스들이 상기 제1 인스턴스와 제2 인스턴스 사이에 연결된 인스턴스 경로들을 생성하는 단계를 포함할 수 있다.
상기 (d-3)단계는 상기 제1 또는 제2 조인 스케줄에서 상기 제1 또는 제2 인스턴스가 적어도 하나의 클래스와 연결된 경우, 상기 제1 또는 제2 인스턴스와 직접 연결된 제1 또는 제2 클래스의 인스턴스들 중에서 상기 제1 또는 제2 인스턴스와 연결된 적어도 하나의 인스턴스들을 추출하는 단계, 상기 제1 또는 제2 조인 스케줄에 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하는 경우, 상기 다른 클래스의 인스턴스들 중에서 상기 추출된 인스턴스들과 각각 연결된 적어도 하나의 인스턴스들을 추출하는 단계, 상기 제1 또는 제2 인스턴스와 상기 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로들을 생성하는 단계를 포함할 수 있다.
상기 제1 또는 제2 조인 스케줄에서 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하지 않은 경우, 상기 제1 또는 제2 인스턴스와 상기 제1 또는 제2 클래스에서 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로를 생성한다.
상기 키워드들과 함께 인스턴스 경로 길이, 도출될 결과 개수, 응답 시간 중 적어도 하나를 포함하는 경로탐색조건이 입력된 경우, 상기 경로탐색조건에 따른 인스턴스 경로를 탐색한다.
본 발명의 다른 측면에 따르면, 클래스간 관계 정보가 저장된 온톨로지 스키마 데이터베이스, 인스턴스간 관계정보가 저장된 온톨로지 인스턴스 데이터베이스, 상기 온톨로지 스키마 데이터베이스에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로가 저장된 온톨로지 스키마 경로 데이터베이스, 사용자로부터 2개 이상의 키워드를 입력받는 사용자 인터페이스부, 상기 온톨로지 인스턴스 데이터베이스로부터 상기 입력받은 키워드들의 인스턴스들을 획득하여 인스턴스 쌍들을 생성하는 인스턴스 쌍 생성부, 상기 온톨로지 인스턴스 데이터베이스로부터 상기 생성된 각 인스턴스 쌍에 대응하는 클래스 쌍을 각각 추출하는 클래스 쌍 추출부, 상기 온톨로지 스키마 경로 데이터베이스로부터 상기 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득하는 온톨로지 스키마 경로 획득부, 상기 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색하는 인스턴스 경로 탐색부를 포함하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치가 제공된다.
상기 온톨로지 스키마 기반 인스턴스 경로 탐색 장치는 상기 온톨로지 스키마 데이터베이스에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로를 탐색하여 상기 온톨로지 스키마 경로 데이터베이스를 구축하는 온톨로지 스키마 경로 생성부를 더 포함할 수 있다.
상기 온톨로지 스키마 경로 생성부는 상기 온톨로지 스키마 데이터베이스의 업데이트가 감지된 경우, 업데이트된 클래스의 온톨로지 스키마 경로를 탐색하여 상기 온톨로지 스키마 경로 데이터베이스를 업데이트한다.
상기 온톨로지 스키마 기반 인스턴스 경로 탐색 장치는 상기 인스턴스 경로 탐색부에서 탐색된 인스턴스 경로들을 그래프, 목록의 형태로 시각화하는 시각화부를 더 포함할 수 있다.
상기 온톨로지 스키마 경로 획득부는 상기 온톨로지 스키마 경로 데이터베이스를 검색하여 각 클래스 쌍에 해당하는 시작 클래스와 끝 클래스가 시작 또는 끝으로 연결된 온톨로지 스키마 경로들을 클래스 쌍별로 획득한다.
상기 인스턴스 경로 탐색부는 상기 온톨로지 스키마 경로에서 시작 클래스와 끝 클래스를 대응하는 제1 인스턴스와 제2 인스턴스로 대체하고, 상기 온톨로지 스키마 경로를 반으로 나누어 제1 인스턴스를 포함하는 제1 조인 스케줄과 제2 인스턴스를 포함하는 제2 조인 스케줄을 생성하는 조인 스케줄 생성 모듈, 상기 제1 또는 제2 조인 스케줄을 근거로 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 클래스가 존재하는 경우, 그 연결된 클래스에 포함된 인스턴스들 중에서 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 적어도 하나 이상의 인스턴스를 추출하는 인스턴스 탐색 모듈, 상기 추출된 인스턴스들이 상기 제1 인스턴스와 제2 인스턴스 사이에 연결된 인스턴스 경로들을 생성하는 인스턴스 경로 생성 모듈을 포함한다.
상기 인스턴스 탐색 모듈은 상기 제1 또는 제2 조인 스케줄이 상기 제1 또는 제2 인스턴스가 적어도 하나의 클래스와 연결된 경우, 상기 제1 또는 제2 인스턴스와 직접 연결된 제1 또는 제2 클래스의 인스턴스들 중에서 상기 제1 또는 제2 인스턴스와 연결된 적어도 하나의 인스턴스들을 추출하고, 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하는 경우, 상기 다른 클래스의 인스턴스들 중에서 상기 추출된 인스턴스들과 각각 연결된 적어도 하나의 인스턴스들을 추출한 후, 상기 제1 또는 제2 인스턴스와 상기 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로들을 생성한다.
상기 인스턴스 탐색 모듈은 상기 제1 또는 제2 조인 스케줄에 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하지 않은 경우, 상기 제1 또는 제2 인스턴스와 상기 제1 또는 제2 클래스에서 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로를 생성한다.
상기 인스턴스 경로 탐색부는 상기 사용자 인터페이스부를 통해 키워드들과 함께 인스턴스 경로 길이, 도출될 결과 개수, 응답 시간 중 적어도 하나를 포함하는 경로탐색조건이 입력된 경우, 상기 경로탐색조건에 따른 인스턴스 경로를 탐색한다.
상술한 바와 같이 본 발명에 따르면, 다양하고 복잡한 연관 관계를 빠르게 찾을 수 있도록 클래스 기반의 인스턴스간 경로를 탐색할 수 있다.
또한, 클래스 또는 인스턴스간의 방향을 고려하지 않고 모든 관계를 탐색하여 인스턴스 경로를 탐색할 수 있다.
도 1은 본 발명에 따른 온톨로지 스키마 기반 인스턴스 경로 탐색 시스템을 나타낸 도면.
도 2는 본 발명에 따른 인스턴스 경로 탐색 장치의 구성을 개략적으로 나타낸 블럭도.
도 3은 도 2에 도시된 온톨로지 인스턴스 데이터베이스의 구조를 나타낸 예시도.
도 4는 도 2에 도시된 온톨로지 스키마 데이터베이스의 구조를 나타낸 예시도.
도 5는 도 2에 도시된 온톨로지 스키마 경로 데이터베이스의 구조를 나타낸 예시도.
도 6은 본 발명에 따른 인스턴스 경로 탐색 장치가 인스턴스 경로를 탐색하는 방법을 나타낸 흐름도.
도 7은 본 발명에 따른 인스턴스 경로 탐색 장치가 온톨로지 스키마 경로 데이터베이스를 구축하는 방법을 나타낸 흐름도.
도 8은 본 발명에 따른 인스턴스 경로 탐색 장치가 온톨로지 스키마 경로 데이터베이스를 구축하는 방법을 설명하기 위한 도면.
도 9는 본 발명에 따른 인스턴스 경로 탐색 장치가 인스턴스 경로를 탐색하는 방법을 나타낸 흐름도.
도 10은 본 발명에 따른 인스턴스 경로 탐색 장치가 조인 스케줄에 따라 인스턴스 경로를 탐색하는 방법을 나타낸 흐름도.
본 발명의 전술한 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다.
이하에서 설명되는 키워드(Keyword)는 하나 또는 그 이상의 URI(Uniform Resource Identifier)를 가지는 사용자 키워드를 말하고, 인스턴스(Instance)는 키워드에 대한 URI를 말한다.
클래스는 연관관계를 가진 인스턴스들을 포함하는 그룹을 말한다.
온톨로지 스키마 경로는 클래스들이 하나 또는 그 이상의 관계로 연결된 경로를 말하고, 인스턴스 경로는 인스턴스들이 하나 또는 그 이상의 관계로 연결된 경로를 말한다.
도 1은 본 발명에 따른 온톨로지 스키마 기반 인스턴스 경로 탐색 시스템을 나타낸 도면이다.
도 1을 참조하면, 온톨로지 스키마 기반 인스턴스 경로 탐색 시스템은 키워드를 입력하는 사용자 단말(100), 상기 사용자 단말(100)로부터의 키워드들에 대한 인스턴스 경로를 탐색하는 인스턴스 경로 탐색 장치(200)를 포함한다.
상기 사용자 단말(100)은 PC 등의 유선 통신단말기, 핸드폰, 노트북 등의 이동통신 단말을 말한다.
상기 인스턴스 경로 탐색 장치(200)는 상기 사용자 단말(100)로부터 2개 이상의 키워드를 입력받아 상기 키워드들에 대한 인스턴스 쌍들을 생성하고, 상기 각 인스턴스 쌍에 대응하는 클래스 쌍을 기 구축된 온톨로지 인스턴스 데이터베이스로부터 각각 추출한다. 그런 다음 상기 인스턴스 경로 탐색 장치(200)는 온톨로지 스키마 경로 데이터베이스로부터 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득하고, 상기 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색한다.
상기와 같은 역할을 수행하는 인스턴스 경로 탐색 장치(200)에 대한 상세한 설명은 도 2를 참조하기로 한다.
도 2는 본 발명에 따른 인스턴스 경로 탐색 장치의 구성을 개략적으로 나타낸 블럭도, 도 3은 도 2에 도시된 온톨로지 인스턴스 데이터베이스의 구조를 나타낸 예시도, 도 4는 도 2에 도시된 온톨로지 스키마 데이터베이스의 구조를 나타낸 예시도, 도 5는 도 2에 도시된 온톨로지 스키마 경로 데이터베이스의 구조를 나타낸 예시도이다.
도 2를 참조하면, 인스턴스 경로 탐색 장치(200)는 인스턴스간 관계정보가 저장된 온톨로지 인스턴스 데이터베이스(202), 클래스간 관계 정보가 저장된 온톨로지 스키마 데이터베이스(204), 온톨로지 스키마 경로 데이터베이스(206), 사용자 인터페이스부(208), 인스턴스 쌍 생성부(210), 클래스 쌍 추출부(212), 온톨로지 스키마 경로 획득부(214), 인스턴스 경로 탐색부(216), 시각화부(218), 온톨로지 스키마 경로 생성부(220)를 포함한다.
상기 온톨로지 인스턴스 데이터베이스(202)에는 도 3과 같이 인스턴스와 인스턴스간의 관계가 등록되어 있다.
상기 온톨로지 인스턴스 데이터베이스(202)에 대해 도 3을 참조하면, 온톨로지 인스턴스 데이터베이스(202)에는 (a)와 같이 인스턴스에 대한 주체(subject), 객체(object), 술어(predicate)가 정의되어 있다. 예를 들어, '학교1'이 주체이고, '교수1'이 객체인 경우, '학교1'과 '교수1'는 '학교-교수'인 술어의 관계로 정의되어 있다.
따라서, 두 인스턴스의 관계는 술어를 통해 형성된다.
상기 (a)의 테이블을 그래프로 시각화하면 (b)와 같이 각 인스턴스의 관계가 그래프로 형성된다.
상기 온톨로지 스키마 데이터베이스(204)에는 도 4와 같이 클래스와 클래스간의 관계가 등록되어 있다.
상기 온톨로지 스키마 데이터베이스(204)에 대해 도 4를 참조하면, 온톨로지 스키마 데이터베이스(204)에는 (a)와 같이 클래스에 대한 주체(subject), 객체(object), 술어(predicate)가 정의되어 있다. 즉, 두 클래스의 관계는 술어를 통해 형성된다.
상기 (a)의 테이블을 그래프로 시각화하면 (b)와 같이 각 클래스의 관계가 그래프로 형성된다.
상기 온톨로지 스키마 경로 데이터베이스(206)에는 상기 온톨로지 스키마 데이터베이스(204)에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로가 저장되어 있다.
상기 온톨로지 스키마 경로 데이터베이스(206)에 대해 도 5를 참조하면, 상기 온톨로지 스키마 경로 데이터베이스(206)에는 시작 클래스와 끝 클래스에 대한 경로, 경로 길이 등이 등록되어 있다.
상기 사용자 인터페이스부(208)는 사용자로부터 2개 이상의 키워드를 입력받는 역할을 한다. 상기 사용자 인터페이스부(208)는 통신망을 통해 사용자 단말로부터 키워드를 입력받거나 구비된 입력부를 통해 입력받는다.
상기 인스턴스 쌍 생성부(210)는 상기 입력받은 키워드들의 인스턴스들을 상기 온톨로지 인스턴스 데이터베이스(202)로부터 획득하여 인스턴스 쌍들을 생성한다. 즉, 상기 인스턴스 쌍 생성부(210)는 상기 입력받은 키워드들의 인스턴스들을 획득하고, 상기 획득된 인스턴스들에 대해 2개씩 짝을 이루는 인스턴스 쌍들을 생성한다.
예를 들어, 획득된 인스턴스가 A, B, C인 경우, 상기 인스턴스 쌍 생성부(210)는 A-B, A-C, B-C의 3개의 인스턴스 쌍을 생성한다.
상기 클래스 쌍 추출부(212)는 상기 온톨로지 인스턴스 데이터베이스(202)로부터 상기 생성된 각 인스턴스 쌍에 대응하는 클래스 쌍을 각각 추출한다.
예를 들어, '학교2-교수3'가 인스턴스인 경우, 상기 클래스 쌍 추출부(212)는 상기 온톨로지 인스턴스 데이터베이스(202)를 검색하여 '학교2'에 대응하는 '학교', '교수3'에 대응하는 '교수'를 추출하여 '학교-교수'의 클래스 쌍을 추출한다.
좀더 상세히 살펴보면, 상기 클래스 쌍 추출부(212)는 상기 온톨로지 인스턴스 데이터베이스(202)를 검색하여 주체(subject)의 값이 인스턴스들이고 술어(predicate)의 값이 rdf:type인 객체(object)의 값들을 추출하고, 상기 추출된 객체의 값들을 클래스로 추출한다.
상기 온톨로지 스키마 경로 획득부(214)는 상기 온톨로지 스키마 경로 데이터베이스(206)로부터 상기 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득한다.
즉, 상기 온톨로지 스키마 경로 데이터베이스(206)에는 각 클래스 쌍에 대한 온톨로지 스키마 경로가 저장되어 있으므로, 상기 온톨로지 스키마 경로 획득부(214)는 상기 온톨로지 스키마 경로 데이터베이스(206)를 검색하여 해당 클래스 쌍에 대한 온톨로지 스키마 경로를 획득할 수 있다.
다시 말하면, 상기 온톨로지 스키마 경로 획득부(214)는 상기 온톨로지 스키마 경로 데이터베이스(206)를 검색하여 각 클래스 쌍에 해당하는 시작 클래스와 끝 클래스가 시작 또는 끝으로 연결된 온톨로지 스키마 경로들을 클래스 쌍별로 획득한다.
상기 인스턴스 경로 탐색부(216)는 상기 획득된 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색한다.
상기와 같은 역할을 수행하는 인스턴스 경로 탐색부(216)는 조인 스케줄 생성 모듈(216a), 인스턴스 탐색 모듈(216b), 인스턴스 경로 생성 모듈(216c)을 포함한다.
상기 조인 스케줄 생성 모듈(216a)은 상기 온톨로지 스키마 경로에서 시작 클래스와 끝 클래스를 대응하는 제1 인스턴스와 제2 인스턴스로 대체하고, 상기 온톨로지 스키마 경로를 반으로 나누어 제1 인스턴스를 포함하는 제1 조인 스케줄과 제2 인스턴스를 포함하는 제2 조인 스케줄을 생성한다.
상기 인스턴스 탐색 모듈(216b)은 상기 제1 또는 제2 조인 스케줄을 근거로 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 클래스가 존재하는 경우, 그 연결된 클래스에 포함된 인스턴스들 중에서 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 적어도 하나 이상의 인스턴스를 추출한다.
또한, 상기 인스턴스 탐색 모듈(216b)은 상기 제1 또는 제2 조인 스케줄에서 상기 제1 또는 제2 인스턴스가 적어도 하나의 클래스와 연결된 경우, 상기 제1 또는 제2 인스턴스와 직접 연결된 제1 또는 제2 클래스의 인스턴스들 중에서 상기 제1 또는 제2 인스턴스와 연결된 적어도 하나의 인스턴스들을 추출한다. 그런 다음 상기 인스턴스 탐색 모듈(216b)은 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하는 경우, 상기 다른 클래스의 인스턴스들 중에서 상기 추출된 인스턴스들과 각각 연결된 적어도 하나의 인스턴스들을 추출한 후, 상기 제1 또는 제2 인스턴스와 상기 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로들을 생성한다.
또한, 상기 인스턴스 탐색 모듈(216b)은 상기 제1 및 제2 조인 스케줄에 상기 제1 및 제2 클래스와 연결된 다른 클래스가 존재하지 않은 경우, 상기 제1 인스턴스와 제2 인스턴스만이 연결된 인스턴스 경로를 생성한다.
또한, 상기 인스턴스 경로 탐색부(216)는 상기 사용자 인터페이스부(208)를 통해 키워드들과 함께 인스턴스 경로 길이, 출력 개수, 응답 시간 중 적어도 하나를 포함하는 경로탐색조건이 입력된 경우, 상기 경로탐색조건에 따른 인스턴스 경로를 탐색한다.
상기 온톨로지 스키마 경로 생성부(220)는 상기 온톨로지 스키마 데이터베이스(204)에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로를 탐색하여 상기 온톨로지 스키마 경로 데이터베이스(206)를 구축한다.
또한, 상기 온톨로지 스키마 경로 생성부(220)는 상기 온톨로지 스키마 데이터베이스(204)의 업데이트가 감지된 경우, 업데이트된 클래스의 온톨로지 스키마 경로를 탐색하여 상기 온톨로지 스키마 경로 데이터베이스(206)를 업데이트한다.
상기 시각화부(218)는 상기 인스턴스 경로 탐색부(216)에서 탐색된 인스턴스 경로들을 그래프, 목록의 형태로 시각화한다.
도 6은 본 발명에 따른 인스턴스 경로 탐색 장치가 인스턴스 경로를 탐색하는 방법을 나타낸 흐름도이다.
도 6을 참조하면, 인스턴스 경로 탐색 장치는 온톨로지 스키마 데이터베이스에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로를 탐색하여 온톨로지 스키마 경로 데이터베이스를 구축한다(S602).
상기 인스턴스 경로 탐색 장치가 온톨로지 스키마 경로 데이터베이스를 구축하는 방법에 대해 도 7을 참조하기로 한다.
상기 S602의 수행 후, 사용자로부터 2개 이상의 키워드가 입력된 경우(S604), 상기 인스턴스 경로 탐색 장치는 상기 키워드들에 대한 인스턴스 쌍들을 생성한다(S606). 즉, 상기 인스턴스 경로 탐색 장치는 상기 온톨로지 인스턴스 데이터베이스로부터 상기 입력받은 키워드들의 인스턴스들을 획득하고, 상기 획득된 인스턴스들에 대해 2개씩 짝을 이루는 인스턴스 쌍들을 생성한다.
상기 S606의 수행 후, 상기 인스턴스 경로 탐색 장치는 온톨로지 인스턴스 데이터베이스로부터 상기 각 인스턴스 쌍에 대응하는 클래스 쌍을 각각 추출한다(S608).
상기 S608의 수행 후 상기 인스턴스 경로 탐색 장치는 온톨로지 스키마 경로 데이터베이스로부터 상기 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득한다(S610). 즉, 상기 인스턴스 경로 탐색 장치는 상기 온톨로지 스키마 경로 데이터베이스를 검색하여 각 클래스 쌍에 해당하는 시작 클래스와 끝 클래스가 시작 또는 끝으로 연결된 온톨로지 스키마 경로들을 클래스 쌍별로 획득한다.
그런 다음 상기 인스턴스 경로 탐색 장치는 상기 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색한다(S612).
상기 인스턴스 경로 탐색 장치가 온톨로지 스키마 경로를 이용하여 인스턴스 경로를 탐색하는 방법에 대한 상세한 설명은 도 9를 참조하기로 한다.
상기 S612의 수행 후, 상기 인스턴스 경로 탐색 장치는 상기 탐색된 인스턴스 경로들을 시각화한다(S614).
도 7은 본 발명에 따른 인스턴스 경로 탐색 장치가 온톨로지 스키마 경로 데이터베이스를 구축하는 방법을 나타낸 흐름도이다.
도 7을 참조하면, 인스턴스 경로 탐색 장치는 경로 생성을 위한 임의의 기준 클래스를 선택하기 위해서, 첫번째 스택(N=1)을 생성하고(S702), 온톨로지 스키마 데이터베이스에서 임의의 클래스를 획득하여 현재 스택에 저장한다(S704). 즉, 상기 인스턴스 경로 탐색 장치는 상기 온톨로지 스키마 데이터베이스에서 predicate가 rdf:type이고 object가 rdfs:class인 tuple의 subject를 획득해 첫 번째 스택에 저장(PUSH)한다. 여기서, 상기 획득된 subject는 클래스이고, 상기 N은 스택의 번호를 말한다.
상기 S704의 수행 후, 상기 인스턴스 경로 탐색 장치는 현재 스택에서 임의의 클래스가 선택(POP)되면(S706), 상기 온톨로지 스키마 데이터베이스를 검색하여 상기 선택된 클래스와 연결관계를 가진 클래스가 존재하는지의 여부를 판단한다(S708).
상기 S708의 판단결과 상기 선택된 클래스와 연결관계를 가진 클래스가 존재하는 경우, 상기 인스턴스 경로 탐색 장치는 스택을 1증가시키고(S710), 온톨로지 스키마 데이터베이스에서 상기 선택된 클래스와 연결관계를 가진 클래스를 모두 획득하여 스택 번호가 1증가된 스택에 저장(PUSH)한다(S712). 즉, 상기 인스턴스 경로 탐색 장치는 현재 스택에 저장된 임의의 한 클래스를 선택하고 상기 선택된 클래스와 관계가 있는 모든 클래스를 획득하기 위해서, 온톨로지 스키마 데이터베이스에서 상기 선택된 클래스를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject를 획득하고 상기 획득된 subject를 subject로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 object를 획득하여 다음 스택에 저장한다. 예를 들어, 첫번째 스택에서 도 4의 “학교” 클래스가 선택 되었다면, 다음 스택인 두번째 스택에는 “교수”, “강좌”, “학과”, “부서” 클래스가 저장된다.
상기 S712의 수행 후, 상기 인스턴스 경로 탐색 장치는 현재 스택에 저장된 클래스 중에서 임의의 한 클래스를 선택하고(POP)(S714), 첫 번째 스택에서 선택된 클래스로부터 현재 스택에서 선택된 클래스까지의 모든 경로를 생성한다(S716). 예를 들어, 도 4와 같이 첫번째 스택에 “학교”가 저장되고, “학교” 클래스에 대해 “교수”, “강좌”, “학과”, “부서”를 포함하는 두 번째 스택이 생성된 후, “교수” 클래스가 선택되었다면, 상기 인스턴스 경로 탐색 장치는 “학교-교수” 경로를 생성한다.
만약, 두 번째 스택에서 선택된 “교수” 클래스에 대해 “연구실적”, “강좌”, “학교”를 포함하는 세 번째 스택 생성 후 “강좌” 클래스가 선택되었다면, 상기 인스턴스 경로 탐색 장치는 “학교-교수-강좌”, “교수-강좌” 경로를 생성한다.
상기 S716의 수행 후, 상기 인스턴스 경로 탐색 장치는 상기 S716에서 생성된 경로가 순환 경로인지를 판단한다(S718). 상기 인스턴스 경로 탐색 장치는 온톨로지 스키마 경로 생성 시, 기존에 생성된 경로를 재탐색하는 비용을 회피하기 위해서 생성된 경로가 순환 경로인지 판단한다. 이때, 상기 인스턴스 경로 탐색 장치는 “A-C-D-E-A”와 같이 첫번째 노드와 마지막 노드가 같은 경우, 순환경로라고 판단한다.
상기 S718의 판단결과 상기 생성된 경로가 순환경로인 경우, 상기 인스턴스 경로 탐색 장치는 상기 순환 경로를 온톨로지 스키마 경로 데이터베이스에 저장하고(S720), 현재 스택에 저장된 모든 클래스들이 온톨로지 스키마 경로 생성을 위해 고려되었는지 판단한다(S722). 이때, 상기 인스턴스 경로 탐색 장치는 상기 순환 경로를 온톨로지 스키마 경로로 상기 온톨로지 스키마 경로 데이터베이스에 저장하면서 해당 경로가 순환 경로임을 표시한다.
상기 S722의 판단 결과 모든 클래스가 고려된 경우, 상기 인스턴스 경로 탐색 장치는 현재 스택이 두 번째 스택인지를 판단한다(S724).
상기 S724의 판단 결과 현재 스택이 두 번째 스택이면, 상기 인스턴스 경로탐색 장치는 온톨로지 스키마 데이터베이스의 모든 클래스가 온톨로지 스키마 경로 생성을 위해 고려되었는지 판단한다(S726).
상기 S726의 판단결과 모든 클래스가 온톨로지 스키마 경로 생성을 위해 고려된 경우, 상기 인스턴스 경로 탐색 장치는 상기 순환 경로에 포함된 각 클래스에 대한 새로운 경로를 생성하여 온톨로지 스키마 경로 데이터베이스에 저장한다(S728). 예를 들어, “A-E-C-B-A” 순환경로의 경우, 상기 인스턴스 경로 탐색 장치는 상기 순환경로에 포함된 E, C, B의 각 클래스를 시작 클래스 또는 종료 클래스로 하는 경로를 생성한다. 이때, 상기 생성된 경로는 “B-A-E-C”와 같이 B를 시작클래스로 하는 경로를 예로 들 수 있다.
만약, 상기 S726의 판단결과 상기 온톨로지 스키마 데이터베이스의 모든 클래스가 온톨로지 스키마 경로 생성을 위해 고려되지 않은 경우, 상기 인스턴스 경로 탐색 장치는 상기 온톨로지 스키마 데이터베이스에서 고려되지 않은 클래스를 획득하여 첫번째 스택에 저장하고(S730), 상기 S706을 수행한다.
즉, 상기 온톨로지 스키마 데이터베이스에는 그래프, 표 등의 다양한 형태로 클래스들이 저장되어 있다. 따라서, 상기 인스턴스 경로 탐색 장치는 다른 형태로 저장된 모든 클래스에 대해 경로를 생성해야 하므로 상기 온톨로지 스키마 데이터베이스에 저장된 모든 클래스들에 대한 경로 정보가 온톨로지 스키마 경로 데이터베이스에 저장될 때까지 상기 과정을 반복한다.
만약, 상기 S724의 판단결과 현재 스택이 두번째 이후에 만들어진 스택인 경우, 상기 인스턴스 경로 탐색 장치는 현재 스택 이전에 만들어진 스택에서 다음 클래스를 선택하고(S732), 상기 S708 이후의 과정을 수행한다.
만약, 상기 S722의 판단결과 현재 스택에 저장된 모든 클래스가 고려되지 않은 경우, 상기 인스턴스 경로 탐색 장치는 상기 S706을 수행한다.
만약, 상기 S718의 판단결과 상기 생성된 경로가 순환경로가 아닌 경우, 상기 인스턴스 경로 탐색 장치는 상기 생성된 경로 또는 역방향 경로와 동일한 경로가 상기 온톨로지 스키마 경로 데이터베이스에 존재하는지 판단한다(S734). 즉, 상기 인스턴스 경로 탐색 장치는 온톨로지 스키마 경로 데이터베이스에 동일 경로 정보가 중복 저장되는 것을 방지하기 위해 상기 생성된 경로 또는 역방향 경로와 동일한 경로가 상기 온톨로지 스키마 경로 데이터베이스에 존재하는지 판단한다.
상기 S734의 판단결과 동일 경로가 존재하는 경우, 상기 인스턴스 경로 탐색 장치는 상기 생성된 경로를 상기 온톨로지 스키마 경로 데이터베이스에 저장하지 않고(S736), 상기 S706을 수행한다.
예를 들어, 도 5를 참조하면, 생성된 경로가 “연구실적-교수”인 경우, 온톨로지 스키마 경로 데이터베이스에 “교수-연구실적” 경로가 존재하기 때문에 상기 인스턴스 경로 탐색 장치는 “연구실적-교수” 경로를 저장하지 않는다.
만약, 상기 S734의 판단결과 동일 경로가 존재하지 않은 경우, 상기 인스턴스 경로 탐색 장치는 상기 생성된 경로를 온톨로지 스키마 경로 데이터베이스에 저장한다(S738).
상기와 같이 인스턴스 경로 탐색 장치가 온톨로지 스키마 경로 데이터베이스를 구축하는 방법에 대한 상세한 설명은 도 8을 참조하기로 한다.
도 8은 본 발명에 따른 인스턴스 경로 탐색 장치가 온톨로지 스키마 경로 데이터베이스를 구축하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 온톨로지 스키마 데이터베이스에 저장된 클래스들과 그들 간의 관계가 (a)와 같은 경우, 인스턴스 경로 탐색 장치는 (b)와 같이 온톨로지 스키마 데이터베이스에서 predicate가 rdf:type이고 object가 rdfs:class인 첫번째 tuple의 subject(node)인 'A'를 획득한다.
그런 다음 상기 인스턴스 경로 탐색 장치는 (c)와 같이 'A'를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject(edge)인 'a', 'd'를 획득한다. 또한, 상기 인스턴스 경로 탐색 장치는 상기 획득한 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object(Node)인 'B', 'E'를 획득한다. 이때, 'A'의 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object가 'A'이면 동일 클래스에 대한 관계이므로 두 클래스 간의 탐색에서 배제한다.
그런 다음 상기 인스턴스 경로 탐색 장치는 (d)와 같이 'B'를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject(edge)인 'b'를 획득하고, 상기 획득한 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object(Node)인 'C'를 획득한다. 이때, 'B'의 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object가 'A'이면 이전 탐색에서 고려된 관계이므로 두 클래스 간의 탐색에서 배제한다.
다음으로 상기 인스턴스 경로 탐색 장치는 (e)와 같이 'C'를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject(edge)인 'c', 'e'를 획득하고, 상기 획득한 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object(Node) 인 'D', 'E'를 획득한다.
다음으로 상기 인스턴스 경로 탐색 장치는 (f)와 같이 'D'를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject(edge) 획득하고, 상기 획득한 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object(Node) 획득한다.
상기 (f)의 결과 'D'는 연관 관계를 가진 클래스가 더 이상 없으므로, (g)와 같이 'D'를 삭제하고, (h)와 같이 이전에 방문했던, 'E'에 대한 경로를 생성한다.
다음으로 상기 인스턴스 경로 탐색 장치는 (i)와 같이 'E'를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject(edge)인 'd'를 획득하고, 상기 획득한 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object(Node)인 'A'를 획득한다. 이때, 상기 획득된 'A'는 순환 경로를 만들기 때문에 경로 타입을 그래프로 표기 후 이후 탐색에서 배제한다.
상기 인스턴스 경로 탐색 장치는 (i)에서 생성된 경로는 순환경로이므로 (j)와 같이 상기 순환경로를 온톨로지 스키마 경로로 저장하고, 경로 생성을 위해 고려된 클래스는 삭제한다.
다음으로 상기 인스턴스 경로 탐색 장치는 (k)와 같이 'E'를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject(edge)인 'e'를 획득하고, 상기 획득한 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object(Node)인 'C'를 획득한다. 이때, 획득된 'C'는 역방향 동일 경로가 존재하므로, 저장하지 않는다.
다음으로 상기 인스턴스 경로 탐색 장치는 (l)와 같이 'C'를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject(edge)인 'b', 'c'를 획득하고, 상기 획득한 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object(Node)인 'B', 'D'를 획득한다. 이때, 상기 획득된 C-B, C-D는 역방향 동일 경로가 존재하므로 저장하지 않는다.
다음으로 상기 인스턴스 경로 탐색 장치는 (m)와 같이 경로 생성을 위해 고려된 클래스는 삭제하고, (n)과 같이 'B'를 object로 가지고 predicate가 rdfs:domain 또는 rdfs:range인 모든 tuple의 subject(edge)인 'A'를 획득하고, 상기 획득한 subject와 같은 subject를 가지고 predicate가 rdfs:domain 또는 rdfs:range인 tuple의 object(Node)를 획득한다.
상기와 같은 방법에 의해 온톨로지 스키마 데이터베이스에 저장된 모든 클래스들에 대한 두 클래스 간의 경로가 탐색되면, 상기 인스턴스 경로 탐색 장치는 (o)와 같이 순환 경로에 포함된 각 클래스에 대한 새로운 경로를 생성한다.
예를 들어, 'A-E-C-B-A' 순환 경로의 경우, 상기 인스턴스 경로 탐색 장치는 상기 순환경로에 포함된 E, C, B의 각 클래스를 시작 클래스 또는 종료 클래스로 하는 경로를 찾아서, “B-A-E-C”와 같이 'B'를 시작클래스로 하는 경로를 추가로 생성하게 된다.
상기와 같은 방법을 이용하여 상기 인스턴스 경로 탐색 장치는 온톨로지 스키마 데이터베이스에 저장된 모든 클래스들에 대한 두 클래스 간의 경로들을 각각 탐색하게 된다. 이때, 상기 인스턴스 경로 탐색 장치는 클래스간 방향을 고려하지 않고 모든 관계를 탐색한다.
도 9는 본 발명에 따른 인스턴스 경로 탐색 장치가 인스턴스 경로를 탐색하는 방법을 나타낸 흐름도이다.
도 9를 참조하면, 인스턴스 경로 탐색 장치는 온톨로지 스키마 경로에서 시작 클래스와 끝 클래스를 대응하는 제1 인스턴스와 제2 인스턴스로 대체한다(S802).
상기 S802의 수행 후, 상기 인스턴스 경로 탐색 장치는 상기 온톨로지 스키마 경로 길이가 '1'인지의 여부를 판단한다(S804).
상기 S804의 판단결과 온톨로지 스키마 경로 길이가 1인 경우, 상기 인스턴스 경로 탐색 장치는 상기 제1 인스턴스와 제2 인스턴스가 연결된 인스턴스 경로를 생성한다(S806).
만약, 상기 S804의 판단결과 온톨로지 스키마 경로 길이가 1이 아닌 경우, 상기 인스턴스 경로 탐색 장치는 상기 온톨로지 스키마 경로를 반으로 나누어 제1 인스턴스를 포함하는 제1 조인 스케줄과 제2 인스턴스를 포함하는 제2 조인 스케줄을 생성한다(S808).
그런 다음 상기 인스턴스 경로 탐색 장치는 상기 제1 및 제2 조인 스케줄에 따라 연관 관계를 가지는 인스턴스들을 추출하여 제1 및 제2 인스턴스 경로들을 탐색한다(S810). 상기 인스턴스 경로 탐색 장치가 제1 및 제2 인스턴스 경로들을 탐색하는 방법에 대한 상세한 설명은 도 10을 참조하기로 한다.
상기 S810가 수행되면, 상기 인스턴스 경로 탐색 장치는 상기 탐색된 제1 및 제2 인스턴스 경로들을 연관관계에 따라 연결하여 인스턴스 경로들을 생성한다(S812).
도 10은 본 발명에 따른 인스턴스 경로 탐색 장치가 조인 스케줄에 따라 인스턴스 경로를 탐색하는 방법을 나타낸 흐름도이다.
도 10을 참조하면, 인스턴스 경로 탐색 장치는 제1 또는 제2 조인 스케줄에서 제1 또는 제2 인스턴스가 적어도 하나의 클래스와 연결되어 있는지의 여부를 판단한다(S902).
상기 S902의 판단결과 제1 또는 제2 인스턴스가 적어도 하나의 클래스와 연결되어 있는 경우, 상기 인스턴스 경로 탐색 장치는 상기 제1 또는 제2 인스턴스와 직접 연결된 제1 또는 제2 클래스의 인스턴스들 중에서 상기 제1 또는 제2 인스턴스와 연결관계를 가진 적어도 하나의 인스턴스들을 추출한다(S904).
그런 다음 상기 인스턴스 경로 탐색 장치는 상기 제1 또는 제2 조인 스케줄에서 상기 제1 또는 제2 클래스가 다른 클래스와 연결되어 있는지의 여부를 판단한다(S906).
상기 S906의 판단결과 상기 제1 또는 제2 클래스가 다른 클래스와 연결되어 있는 경우, 상기 인스턴스 경로 탐색 장치는 연결된 다른 클래스의 인스턴스들 중에서 상기 추출된 인스턴스들과 연결관계를 가진 적어도 하나의 인스턴스들을 추출한다(S908).
그런 다음 상기 인스턴스 경로 탐색 장치는 상기 제1 또는 제2 인스턴스와 상기 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로들을 생성한다(S910).
만약, 상기 S906의 판단결과 상기 제1 또는 제2 클래스가 다른 클래스와 연결되어 있지 않은 경우, 상기 인스턴스 경로 탐색 장치는 상기 제1 또는 제2 인스턴스와 상기 제1 또는 제2 클래스에서 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로들을 생성한다(S912).
예를 들어, 클래스 쌍이 'B-D'이고, 온톨로지 스키마 경로가 'B-A-E-C-D'인 경우를 예로 하여 설명하기로 한다.
상기 인스턴스 경로 탐색 장치는 상기 온톨로지 스키마 경로를 'B-A-E'와 'C-D'로 나누고, 시작 클래스B와 끝 클래스 D를 시작 클래스 B에 대응하는 인스턴스 B0, 끝 클래스 D에 대응하는 인스턴스 D0로 대체하여 'B0-A-E'의 제1조인 스케줄, 'D0-C'의 제2 조인 스케줄을 작성한다.
상기 인스턴스 경로 탐색 장치는 제1 조인 스케줄에 따라 조인을 수행하여 A클래스의 인스턴스들 중에서 B0와 연결된 인스턴스 A0, A1, A2를 획득한다.
그런 다음 상기 인스턴스 경로 탐색 장치는 상기 'E'의 인스턴스들 중에서 A0, A1, A2 각각과 연결된 인스턴스들 즉, A0와 연결된 E0, E1, A1과 연결된 E1, A2와 연결된 E1, E3를 추출한다.
그러면, 상기 인스턴스 경로 탐색 장치는 제1 조인 스케줄에 따라 'B0-A0-E0', 'B0-A0-E1' 'B0-A1-E1', 'B0-A2-E1', 'B0-A2-E3'의 제1 인스턴스 경로들을 추출한다.
이와 동시에 상기 인스턴스 경로 탐색 장치는 제2 조인 스케줄에 따라 'C' 클래스의 인스턴스들 중에서 D0와 연결된 인스턴스 C0, C1을 획득한다.
그러면, 상기 인스턴스 경로 탐색 장치는 제2 조인 스케줄에 따라 'D0-C0', 'D0-C1'의 제2 인스턴스 경로들을 추출한다.
그런 다음 상기 인스턴스 경로 탐색 장치는 상기 제1 인스턴스 경로들과 상기 제2 인스턴스 경로들을 연결관계에 따라 연결한다. 즉, E0, E1, E3와 C0, C1의 연결관계를 살펴본 결과 E0가 C0, C1와 연결되어 있는 경우, 상기 인스턴스 경로 탐색 장치는 'B0-A0-E0-C0-D0', 'B0-A0-E0-C1-D0'의 인스턴스 경로를 생성한다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
이상과 같이 본 발명의 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치는 다양하고 복잡한 연관 관계를 빠르게 찾을 수 있도록 하고, 클래스 또는 인스턴스간의 방향을 고려하지 않고 모든 관계를 탐색하여 인스턴스 경로를 탐색할 필요성이 높은 것에 적합하다.

Claims (19)

  1. 인스턴스 경로 탐색 장치가 인스턴스 경로를 탐색하는 방법에 있어서,
    (a) 사용자로부터 2개 이상의 키워드를 입력받아 상기 키워드들에 대한 인스턴스 쌍들을 생성하는 단계;
    (b) 온톨로지 인스턴스 데이터베이스로부터 상기 각 인스턴스 쌍에 대응하는 클래스 쌍을 각각 추출하는 단계;
    (c) 온톨로지 스키마 경로 데이터베이스로부터 상기 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득하는 단계; 및
    (d) 상기 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색하는 단계;
    를 포함하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  2. 제1항에 있어서,
    상기 (a)단계 이전에,
    상기 온톨로지 스키마 데이터베이스에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로를 탐색하여 온톨로지 스키마 경로 데이터베이스에 저장하는 단계를 더 포함하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  3. 제2항에 있어서,
    상기 온톨로지 스키마 데이터베이스의 업데이트가 감지된 경우, 업데이트된 클래스의 온톨로지 스키마 경로를 탐색하여 상기 온톨로지 스키마 경로 데이터베이스를 업데이트하는 단계를 더 포함하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  4. 제1항에 있어서,
    상기 탐색된 인스턴스 경로들을 시각화하는 단계를 더 포함하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  5. 제1항에 있어서,
    상기 (a)단계는,
    온톨로지 인스턴스 데이터베이스로부터 상기 입력받은 키워드들의 인스턴스들을 획득하는 단계; 및
    상기 획득된 인스턴스들에 대해 2개씩 짝을 이루는 인스턴스 쌍들을 생성하는 단계를 포함하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  6. 제1항에 있어서,
    상기 (c)단계는,
    상기 온톨로지 스키마 경로 데이터베이스를 검색하여 각 클래스 쌍에 해당하는 시작 클래스와 끝 클래스가 시작 또는 끝으로 연결된 온톨로지 스키마 경로들을 클래스 쌍별로 획득하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  7. 제1항에 있어서,
    상기 (d)단계는,
    (d-1) 상기 온톨로지 스키마 경로에서 시작 클래스와 끝 클래스를 대응하는 제1 인스턴스와 제2 인스턴스로 대체하는 단계;
    (d-2) 상기 온톨로지 스키마 경로를 반으로 나누어 제1 인스턴스를 포함하는 제1 조인 스케줄과 제2 인스턴스를 포함하는 제2 조인 스케줄을 생성하는 단계;
    (d-3) 상기 제1 또는 제2 조인 스케줄을 근거로 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 클래스가 존재하는 경우, 그 연결된 클래스에 포함된 인스턴스들 중에서 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 적어도 하나 이상의 인스턴스를 추출하는 단계; 및
    (d-4) 상기 추출된 인스턴스들이 상기 제1 인스턴스와 제2 인스턴스 사이에 연결된 인스턴스 경로들을 생성하는 단계를 포함하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  8. 제7항에 있어서,
    상기 (d-3)단계는,
    상기 제1 또는 제2 조인 스케줄에서 상기 제1 또는 제2 인스턴스가 적어도 하나의 클래스와 연결된 경우, 상기 제1 또는 제2 인스턴스와 직접 연결된 제1 또는 제2 클래스의 인스턴스들 중에서 상기 제1 또는 제2 인스턴스와 연결된 적어도 하나의 인스턴스들을 추출하는 단계;
    상기 제1 또는 제2 조인 스케줄에 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하는 경우, 상기 다른 클래스의 인스턴스들 중에서 상기 추출된 인스턴스들과 각각 연결된 적어도 하나의 인스턴스들을 추출하는 단계; 및
    상기 제1 또는 제2 인스턴스와 상기 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로들을 생성하는 단계를 포함하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  9. 제8항에 있어서,
    상기 제1 또는 제2 조인 스케줄에서 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하지 않은 경우, 상기 제1 또는 제2 인스턴스와 상기 제1 또는 제2 클래스에서 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로를 생성하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  10. 제1항에 있어서,
    상기 키워드들과 함께 인스턴스 경로 길이, 도출될 결과 개수, 응답 시간 중 적어도 하나를 포함하는 경로탐색조건이 입력된 경우, 상기 경로탐색조건에 따른 인스턴스 경로를 탐색하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 방법.
  11. 클래스간 관계 정보가 저장된 온톨로지 스키마 데이터베이스;
    인스턴스간 관계정보가 저장된 온톨로지 인스턴스 데이터베이스;
    상기 온톨로지 스키마 데이터베이스에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로가 저장된 온톨로지 스키마 경로 데이터베이스;
    사용자로부터 2개 이상의 키워드를 입력받는 사용자 인터페이스부;
    상기 온톨로지 인스턴스 데이터베이스로부터 상기 입력받은 키워드들의 인스턴스들을 획득하여 인스턴스 쌍들을 생성하는 인스턴스 쌍 생성부;
    상기 온톨로지 인스턴스 데이터베이스로부터 상기 생성된 각 인스턴스 쌍에 대응하는 클래스 쌍을 각각 추출하는 클래스 쌍 추출부;
    상기 온톨로지 스키마 경로 데이터베이스로부터 상기 각 클래스 쌍에 대한 온톨로지 스키마 경로들을 각각 획득하는 온톨로지 스키마 경로 획득부; 및
    상기 각 온톨로지 스키마 경로를 이용하여 인스턴스 경로들을 각각 탐색하는 인스턴스 경로 탐색부;
    를 포함하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
  12. 제11항에 있어서,
    상기 온톨로지 스키마 데이터베이스에 저장된 모든 클래스에 대해 클래스간 온톨로지 스키마 경로를 탐색하여 상기 온톨로지 스키마 경로 데이터베이스를 구축하는 온톨로지 스키마 경로 생성부를 더 포함하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
  13. 제12항에 있어서,
    상기 온톨로지 스키마 경로 생성부는 상기 온톨로지 스키마 데이터베이스의 업데이트가 감지된 경우, 업데이트된 클래스의 온톨로지 스키마 경로를 탐색하여 상기 온톨로지 스키마 경로 데이터베이스를 업데이트하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
  14. 제11항에 있어서,
    상기 인스턴스 경로 탐색부에서 탐색된 인스턴스 경로들을 그래프, 목록의 형태로 시각화하는 시각화부를 더 포함하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
  15. 제11항에 있어서,
    상기 온톨로지 스키마 경로 획득부는 상기 온톨로지 스키마 경로 데이터베이스를 검색하여 각 클래스 쌍에 해당하는 시작 클래스와 끝 클래스가 시작 또는 끝으로 연결된 온톨로지 스키마 경로들을 클래스 쌍별로 획득하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
  16. 제11항에 있어서,
    상기 인스턴스 경로 탐색부는
    상기 온톨로지 스키마 경로에서 시작 클래스와 끝 클래스를 대응하는 제1 인스턴스와 제2 인스턴스로 대체하고, 상기 온톨로지 스키마 경로를 반으로 나누어 제1 인스턴스를 포함하는 제1 조인 스케줄과 제2 인스턴스를 포함하는 제2 조인 스케줄을 생성하는 조인 스케줄 생성 모듈;
    상기 제1 또는 제2 조인 스케줄을 근거로 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 클래스가 존재하는 경우, 그 연결된 클래스에 포함된 인스턴스들 중에서 상기 제1 인스턴스 또는 제2 인스턴스와 연결된 적어도 하나 이상의 인스턴스를 추출하는 인스턴스 탐색 모듈; 및
    상기 추출된 인스턴스들이 상기 제1 인스턴스와 제2 인스턴스 사이에 연결된 인스턴스 경로들을 생성하는 인스턴스 경로 생성 모듈을 포함하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
  17. 제16항에 있어서,
    상기 인스턴스 탐색 모듈은,
    상기 제1 또는 제2 조인 스케줄이 상기 제1 또는 제2 인스턴스가 적어도 하나의 클래스와 연결된 경우, 상기 제1 또는 제2 인스턴스와 직접 연결된 제1 또는 제2 클래스의 인스턴스들 중에서 상기 제1 또는 제2 인스턴스와 연결된 적어도 하나의 인스턴스들을 추출하고, 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하는 경우, 상기 다른 클래스의 인스턴스들 중에서 상기 추출된 인스턴스들과 각각 연결된 적어도 하나의 인스턴스들을 추출한 후, 상기 제1 또는 제2 인스턴스와 상기 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로들을 생성하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
  18. 제17항에 있어서,
    상기 인스턴스 탐색 모듈은 상기 제1 또는 제2 조인 스케줄에 상기 제1 또는 제2 클래스와 연결된 다른 클래스가 존재하지 않은 경우, 상기 제1 또는 제2 인스턴스와 상기 제1 또는 제2 클래스에서 추출된 인스턴스들을 연결관계에 따라 연결하여 적어도 하나의 제1 또는 제2 인스턴스 경로를 생성하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
  19. 제11항에 있어서,
    상기 인스턴스 경로 탐색부는 상기 사용자 인터페이스부를 통해 키워드들과 함께 인스턴스 경로 길이, 도출될 결과 개수, 응답 시간 중 적어도 하나를 포함하는 경로탐색조건이 입력된 경우, 상기 경로탐색조건에 따른 인스턴스 경로를 탐색하는 것을 특징으로 하는 온톨로지 스키마 기반 인스턴스 경로 탐색 장치.
PCT/KR2011/005685 2011-06-03 2011-08-02 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치 WO2012165708A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110054015A KR101083313B1 (ko) 2011-06-03 2011-06-03 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치
KR10-2011-0054015 2011-06-03

Publications (1)

Publication Number Publication Date
WO2012165708A1 true WO2012165708A1 (ko) 2012-12-06

Family

ID=45397688

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/005685 WO2012165708A1 (ko) 2011-06-03 2011-08-02 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치

Country Status (5)

Country Link
US (1) US8965910B2 (ko)
EP (1) EP2530609A1 (ko)
JP (1) JP5059239B1 (ko)
KR (1) KR101083313B1 (ko)
WO (1) WO2012165708A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD404730S (en) * 1997-09-18 1999-01-26 Iomega Corporation Front panel for a computer disk drive
KR101270476B1 (ko) * 2012-07-30 2013-06-03 한국과학기술정보연구원 그래프 데이터 기반 인스턴스 경로 탐색 시스템 및 방법
JP6729095B2 (ja) * 2016-07-05 2020-07-22 富士ゼロックス株式会社 情報処理装置及びプログラム
CN110276078A (zh) * 2019-06-25 2019-09-24 苏州梦嘉信息技术有限公司 公用素材库建立系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100842263B1 (ko) * 2005-12-08 2008-06-30 한국전자통신연구원 온톨로지간 유사개념 매핑 방법 및 그 장치
KR20100077923A (ko) * 2008-12-29 2010-07-08 한양대학교 산학협력단 키워드를 이용한 온톨로지 정보 검색 방법 및 장치
KR20110041894A (ko) * 2009-10-16 2011-04-22 전자부품연구원 온톨로지에서 인스턴스 업데이트 방법
KR20110042629A (ko) * 2009-10-19 2011-04-27 전자부품연구원 온톨로지의 정보를 이용한 다중 스키마 시스템의 호환 방법 및 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101170A1 (en) * 2001-05-25 2003-05-29 Joseph Edelstein Data query and location through a central ontology model
US7877421B2 (en) * 2001-05-25 2011-01-25 International Business Machines Corporation Method and system for mapping enterprise data assets to a semantic information model
US7809672B1 (en) * 2001-06-28 2010-10-05 I2 Technologies Us, Inc. Association of data with a product classification schema
JP2003044502A (ja) * 2001-07-30 2003-02-14 Nippon Telegr & Teleph Corp <Ntt> オントロジー対応情報生成装置、方法、プログラム、記憶媒体
JP3773447B2 (ja) * 2001-12-21 2006-05-10 株式会社日立製作所 サブスタンス間の二項関係表示方法
US20060053172A1 (en) * 2004-09-03 2006-03-09 Biowisdom Limited System and method for creating, editing, and using multi-relational ontologies
JP4769005B2 (ja) * 2005-03-31 2011-09-07 株式会社日立製作所 情報処理支援システム及び情報処理支援プログラム
EP1808777B1 (en) * 2005-12-07 2014-03-12 Sap Ag System and method for matching schemas to ontologies
US7558791B2 (en) * 2006-07-31 2009-07-07 Informed Control Inc System and method for ontology-based translation between directory schemas
CN101145152B (zh) * 2006-09-14 2010-08-11 国际商业机器公司 在特定上下文内自动精细化本体的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100842263B1 (ko) * 2005-12-08 2008-06-30 한국전자통신연구원 온톨로지간 유사개념 매핑 방법 및 그 장치
KR20100077923A (ko) * 2008-12-29 2010-07-08 한양대학교 산학협력단 키워드를 이용한 온톨로지 정보 검색 방법 및 장치
KR20110041894A (ko) * 2009-10-16 2011-04-22 전자부품연구원 온톨로지에서 인스턴스 업데이트 방법
KR20110042629A (ko) * 2009-10-19 2011-04-27 전자부품연구원 온톨로지의 정보를 이용한 다중 스키마 시스템의 호환 방법 및 시스템

Also Published As

Publication number Publication date
EP2530609A1 (en) 2012-12-05
KR101083313B1 (ko) 2011-11-15
US20120310919A1 (en) 2012-12-06
US8965910B2 (en) 2015-02-24
JP5059239B1 (ja) 2012-10-24
JP2012252694A (ja) 2012-12-20

Similar Documents

Publication Publication Date Title
WO2012165709A1 (ko) 인스턴스 경로 탐색 및 시각화 방법 및 장치
WO2013178081A1 (zh) Sns社区中的用户推荐方法和系统、计算机存储介质
WO2012165708A1 (ko) 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치
WO2018014580A1 (zh) 数据接口测试方法、装置、服务器和存储介质
WO2013182055A1 (zh) 微博动态显示方法和装置、计算机存储介质
WO2018004236A1 (ko) 개인정보의 비식별화 방법 및 장치
WO2016101441A1 (zh) 一种进行文件同步的方法及系统
WO2013089372A1 (en) Method and system for sharing content by using context information
WO2017146338A1 (ko) 인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치
WO2015129983A1 (ko) 분산 퍼지 연관 규칙 마이닝에 기반한 영화 추천 장치 및 방법
WO2011162444A1 (ko) 온톨로지 스키마와 결합된 개체명 사전 및 마이닝 규칙을 이용한 개체명 사전 또는 마이닝 규칙 데이터베이스 갱신 장치 및 방법
WO2020242086A1 (ko) 다중 지식의 비교 우위를 추론하는 서버, 방법 및 컴퓨터 프로그램
WO2010128712A1 (ko) 시맨틱 서비스 시스템 및 방법
WO2017148142A1 (zh) 桌面图标文件夹的名称切换方法、装置及电子设备
WO2012060490A1 (ko) 추론 검증 및 점증적 추론을 위한 트리플 저장 방법 및 장치 그리고 이에 적합한 추론 의존성 색인 방법 및 장치
WO2017115994A1 (ko) 인공 지능 기반 연관도 계산을 이용한 노트 제공 방법 및 장치
EP3973414A1 (en) System and method for updating knowledge graph
WO2012060502A1 (ko) 연구주체간의 상관관계 추론을 위한 시스템 및 방법
WO2013032198A1 (ko) 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진
WO2019198950A1 (ko) 컨텐츠 정보 제공 장치 및 그 방법
WO2020105951A2 (ko) 블록체인 네트워크에서의 토폴로지 조사 시스템 및 방법
WO2020013579A1 (en) Method and device for retrieving content
WO2019151620A1 (ko) 컨텐츠 정보 제공 장치 및 그 방법
WO2020034531A1 (zh) 空间清理方法、装置、设备和计算机可读存储介质
EP2499551A2 (en) Method and apparatus for displaying data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11867045

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11867045

Country of ref document: EP

Kind code of ref document: A1