FR 3027424 A1 20160422 FR 1460094 A 20141020 - 1 - Title: SEMANTIC DATA SEARCH SYSTEM Description Field of the Invention [1] This invention relates to a non-transitory computer program product and a system for performing search in a semantic data network. Background of the Invention [2] The semantic web is gaining momentum, as more researchers gravitate towards it, more of its technologies are being used, and as more standards emerge and are accepted. For instance, in today's major search engines a knowledge base is used by to enhance search engines search results with semantic-search information gathered from a wide variety of sources. The Knowledge Graph interface of Google and Bing's entity engine are such knowledge base wherein interaction is done via a textual search bar, custom visualization cartridges and hyperlinks (FIG. 1). Hence, those search engines with such knowledge base provide results based on unstructured and structured data. On the other end, Linked Data interface describes a method of publishing structured data so that it can be interlinked and become more useful. It is built upon standard Web technologies such as HTTP (Hypertext Transfer Protocol), RDF (Resource Description Framework) and URIs (uniform resource identifiers), but rather than using them to serve web pages for human readers, it extends them to share information in a way that can be read automatically by computers. This aims at converting the original web which is dominated by unstructured and semi-structured data into a semantic web of structured data which will enable structured data from different sources to be connected and queried. However, to date, there are no satisfactory search engines which provide easy access to the semantic web through a central point of access. Summary of the Invention [3] The present invention provides a non-transitory computer program product and a system for performing search in a semantic data network, as described in the accompanying claims. Specific embodiments of the invention are set forth in the dependent claims. These and other aspects of the invention will be apparent from an elucidated with reference to the embodiments described hereinafter. Brief Description of the Drawings [4] Further details, aspects and embodiments of the proposed solution will be described, by way of example only, with reference to the drawings. In the drawings, like reference numbers are used to identify like or functionally similar elements. Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. [5] FIG. 1 is an image a knowledge base result for a query directed to "tom cruise". [6] FIG. 2 is a schematic diagram of a semantic data network. [7] FIG. 3 is a schematic diagram of a system according to embodiments of the subject application. - 2 - Detailed Description of the preferred embodiments [8] This invention proposes to index, search and navigate semantic resources, thereinafter named entities, across data sets of a network such as the web. [9] An entity is thus a semantic data object having a unique identifier, one or more properties based on the attributes of the real-world topic they represent, and one or more links representing the topic's relationship to other entities. An entity may include actions that someone searching for that topic might want to take. To get a better picture of what an entity looks like, lets consider the following examples. For instance, "Toulouse" is a textual representation of an entity and "City" is a conceptual representation of an entity. "Toulouse" and "City" may be related such that "Toulouse" is an entity of type "City". More precisely, the foregoing entity has a textual representation which is "Toulouse" and a conceptual representation which is "City" Further, "Tom Cruise" is an entity of type "Actor", "Paris" is an entity of type "City", "Les Miserables" is an entity of type "Book" with a relationship of type "itsAuthor" to an entity "Victor Hugo" of type "Author". In the foregoing example, the entities "Les Miserables" and "Victor Hugo" are connected so as to form « graph ». However, one should graph of the entity named "Victor Hugo" is much bigger because Victor Hugo wrote many more books. Further, the graph of named entity "Les Miserables" is also much bigger because it also has other relationships such as "hasCharacters" with the entity named "Jean Valjean" and the relationship "wasPublishedln" with the entity "1868", and so on... [0010] With the proposed solution, end-users may browse entities in a similar way as it is the case with Google's Knowledge Graph or Microsoft Bing's Entity Engine. However, in both cases a fully centralized indexing and storage of the entities is required. Therefore, entities need to be copied from the databases of the entity providers onto the databases of the service provider (e.g. Google, Microsoft). In contrast, in the proposed solution, it is propose to use "lightweight indexing process" wherein it is stored few metadata associated with each entity situated in a particular location. This results in that the entities stay located in the databases of the entity providers without the needing to copy them. This has the effect of reducing the burdensome indexing process as used in the prior art and it also ensures up to date data maintained by the entity providers. In addition to "lightweight indexing process", it is further proposed to use query metamodeling to enable the browsing of a semantic data network. By using the two techniques together, an end-user may query a semantic data network via keywords, and in response, relevant semantic data from the various sources may be retrieved and formatted according to their semantic. For instance, having a query comprising "Victor Hugo" may return a result formatted to display the information of the entity "Victor Hugo" of type "Author". [0011] Thereinafter, it will be considered that entities are part of a semantic data network. The semantic data network can be represented by a graph of entities wherein each entity has, at least, a name, a type and a location (also known as endpoint). In an example, the Resource Description Framework (RDF) may be used to represent the characteristics of each entity and the relationships which exist between entities. However, others techniques - 3 - may be used to perform such task without departing from the teachings of the application. RDF data represents a labeled directed graph, with the labels applied to both nodes and arcs. RDF data is currently stored in triple-stores, where the unit of storage is a single subject-predicate-object triple. An index of triples is used to satisfy queries in the SPARQL Protocol and RDF Query Language (SPARQL) language by a series of "joins" in which triples that match each part of the query are assembled into an overall answer. A SPARQL query, in its most basic form, is a graph pattern (i.e. a small labeled directed graph) with some of the nodes and arcs labeled with variables. The query seeks one, some, or ail sub graphs of the RDF graph that match the pattern. Matching means that the sub graph is isomorphic to the pattern as a directed graph, and that the pattern labels (other than variables) match the corresponding graph labels. For each match, the pattern variables take on the value of the corresponding RDF graph label, thus providing one answer. Each arc in RDF is labeled with a Uniform Resource Identifier (URI). Each node is labeled with either a URI or a value from one of a set of standard types. Nodes can also be "blank" i.e., unlabeled. URIs are used to unambiguously name resources, which can be almost anything. Each arc in the RDF graph is uniquely specified by its three labels, at the tau, on the arc, and at the head. These are called the subject, the predicate, and the object, respectively (sometimes abbreviated S, P, and 0, and always given in that order). These three labels together are a triple. An RDF graph may be uniquely represented by the set of its triples. Each triple (S, P, 0) is a proposition, stating that S stands in relation P to 0. [0012] In a first part, it is crawled the semantic data network at identified location so as to retrieve ail the standard metadata of ail entities located therein. For instance, DBPedia or Freebase are examples of specific location of the semantic data network. Then, the retrieved entities are indexed in one or more databases using conventional "full-text" indexing techniques. ln the LinkedData principles, for example, ail named entities are supposed to have standard metadata such as rdfs:Label (i.e. a title), rdf:comment (i.e. an abstract), rdf:type (i.e. ail their types) and owl:sameAs (i.e. other named entities that are in fact the same as this one). rdfs:Label is a particular textual representation of an entity while rdf:type is a conceptual representation of an entity. Therefore, it is proposed to index ail retrieved entities and their standard textual and conceptual representations in one or more databases. Of course, others standard metadata can also be retrieved and stored. ln addition, it is also indexed the origin (i.e. the location metadata) of metadata associated with an entity. [0013] Two RDF graphs may be merged to form a new graph. The merged graph consists of (roughly) the union of the triples from the two constituent graphs. If each of the constituent graphs contains a node with the same URI label, then, that node will appear just once in the merged graph. This makes sense, since the URI is supposed to have the same unambiguous meaning wherever it appears. RDF is associated with a theory of types, subtypes, and containers called RDF Schema (RDFS). Using RDFS, nodes can be assigned a type, and types can be given subtypes. Predicates (the labels of arcs) are also - 4 - typed by assigning a domain and a range, each of which are types for the subject and object respectively. Sometimes, when only some of the types of nodes are given, it is possible to infer the missing types. This is called RDFS inference. [0014] For instance, in order to match authors and their book(s), it can be created a matching pattern called "any named entity of type Author and ail the related named entity of type Book linked to the Author via the relationship hasWritten". Of course, matching pattern can be more complex by comprising for instance further constraints. In the proposed solution, such a matching pattern is called a query "metamodel". These metamodels can be stored and indexed in the database obtained by the "lightweight indexing process". Of course, the metamodels may be distributed in one or more databases e)dernal to the database obtained by the "lightweight indexing process". The metamodels can be compiled into queries comprehensible by a database system such as with SPARQL. A metamodel further comprises information which can be called "applicability" and which corresponds to the details of the type of entities to which the metamodel may be applied upon. Further, a metamodel also contains optional description information representing how the results should be formatted into a particular visualization. The description information may be called "template". A metamodel can contain several different "templates" each corresponding to a particular representation of the results to be return to the end-user. For instance, a metamodel may comprise one or more of a map template, a form template or a spreadsheet template. As already stated above, the query metamodels are stored and indexed into one or more databases, internai or e)dernal to the database obtained in the "lightweight indexing process". [0015] Based on the above-described feature, it is thus possible to convert a te)dual search entered by an end-user into the corresponding entities available in the indexed in the semantic data network. [0016] In general, the proposed system process is configured to perform the following operations in a semantic data network: - (a) obtaining query metamodels each being associated with one or more first conceptual representation data and one or more first location where entities are located; - (b) harvesting standard te)dual and second conceptual representation metadata of entities located at one or more second location of the semantic data network. In an example, rdfs:Label, rdfs:Type and the second location associated with each entity are stored in one or more databases; - (c) inferring at least one relation between the retrieved standard metadata. In an example, it is inferred for each stored entity, at least one relation between rdfs:Label, rdfs:Type and/or the second location; - (d) receiving a te)dual search request from an end-user; - (e) retrieving the stored entities which standard te)dual representation metadata matches the te)dual search request; - (f) obtaining second conceptual representation metadata and second location of the - 5 - matched entities, associated with the retrieved entities, based on the inferred relation; - (g) selecting one or more entities based on a merging between a graph associated with the obtained second conceptual representation metadata and second location and a graph associated with the first conceptual representation metadata and first location; - (h) prompting the end-user to choose one of the one of the query metamodels associated with the selected entities - (i) applying the chosen query metamodel on the on the selected entities; and, - (j) sending to the end-user the results associated with the chosen query metamodel. [0017] Entities may be provided by data providers which main role is to expose a data model and corresponding data on the semantic data network. The design of queries and APIs to semantically interact with the exposed data may be provide by domain experts which have an expertise in one or more particular field relevant for the entities. Query metamodels may be stored by category. For example, a category named "Geography" may comprise query metamodels such as "town details", "road junctions", "roads", "Country", "place Location", or "linked Geographic Data", which names are self-explanatory. Further, in a category named "Business", following query metamodels may be comprised: "Company details", "involved people" or "Members of the board" which names are self-explanatory. Still further, in a category named "Music", following query metamodels may be comprised: "albums of the band", "Band origin", "Members of a band" or "band details" which names are selfexplanatory. In an example, experts in the film of cinematography may design query metamodels that may be of interest for users such "in which movie played a particular actor". Such metamodel need not be specific to a particular actor since similar answer may be provided to ail actors. Therefore, where an end-user is looking for the actor "tom cruise", the metamodel associated with the same type as the entity actor named "tom cruise" will be presented to the end-user. The same will apply to "Will smith", "Kevin bacon" and so on. Regarding the end-users, their interest is mainly te)dual, this is why theirs te)dual input is matched to the te)dual representation metadata associated with the stored metadata. Hence, an end-user need perform a search by thinking conceptually. Namely, in the foregoing example, the end-user does not have to guess that "tom cruise" is an actor. Indeed, the claimed system will propose the relevant query metamodels associated with ail the entities which te)dual representation metadata is "tom cruise". [0018] Results are shown to the user with a particular visualization which can be associated with one or more entities. For example, a particular visualization may contain links that the user can activate. Because these links are tied to an entity, the end-user can click and activate the link which is then resolved such as a full te)d query by the user. This can be done by repeating the operations (f)-(j) by considering that the output of operation (e) is the result of the activation of that specific link which is associated to an entity. For instance, this means that an end-user may directly enter a URI as a te)dual search request if the URI is already known. In an embodiment, the query metamodel can further be used to create new entities in the semantic data network. This way, the system may be updated and/or upgraded by - 6 - the end-user. One the advantages associated with this features is the ability to create an entity with the right structure format required by the semantic data network. In an example, lets consider that "Phil Collins" is entered as a textual search by the end-user and that the system comprises a single endpoint which is for instance DBpedia. In this case, the system may return a list of queries such as "Person details" or "Person's brightest ideas". If the end-user selects the query metamodel "Person details", it may be returned two entity results since at least one "Phil Collins" is a singer and another one is speedway driver. If the end-user selects the entity associated with the conceptual representation "Singer" then further queries may be prompted to the end-user. For instance, queries such as those described above for the category "Music" may be proposed to the user, and so on. [0019] It has now become clear that the proposed solution allowing the possibility search and brows the semantic web from a single central point. Indeed, once a textual representation of an entity is identified, the proposed system can infer the associated conceptual representation of the entity. The inferred conceptual representation may be associated with existing query metamodels fostered by data experts. If it is the case the end-user is presented with one or more possible questions of interest, each question of interest being associated with a query metamodel. Where a question of interest is selected by the end-user, other question of interest may be further presented to the end-user. By this ongoing process, until the end-user stops using the system, there is established a "conversation" between the end-user and the system. This way the end-user is less likely to obtain inappropriate results. However, the end-user is also invited by the system to discover questions that may become of interest by serendipity; for instance. In an example, the single central point is a textual search bar such as those used in Google, Bing, or Yahoo search engines. Advantageously, such solution enables service providers to reduce the load of data they owned and they have to maintain. Further, for the data experts, it is proposed to let them ensure the efficiency of the system by devising proper answers forms to anticipated questions of end-users. Finally, the end-users are proposed with that ability of interacting with the system which will then bring the correct results. In other words, it can be stated that the system is semantically driven by the end-user to the correct results which is meaningful to end-user. [0020] Of course, the above advantages are exemplary, and these or other advantages may be achieved by the proposed solution. Further, the skilled person will appreciate that not ail advantages stated above are necessarily achieved by embodiments described herein. [0021] FIG. 3 is a block diagram that illustrates an embodiment of a computer/server system upon which an exemplary embodiment may be implemented. The system includes a computer/server platform including a processor and memory which operate to execute instructions, as known to one of skill in the art. The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor for execution. Modules or software units described throughout the specification may also be executed by the processor. Additionally, the computer platform receives input from a - 7 - plurality of input devices, such as a keyboard, mouse, touch device or verbal command. The computer platform may additionally be connected to a removable storage device, such as a portable hard drive, optical media (CD or DVD), disk media or any other medium from which a computer can read executable code. The computer platform may further be connected to network resources which connect to the Internet or other components of a local public or private network. The network resources may provide instructions and data to the computer platform from a remote location on a network. The connections to the network resources may be via wireless protocols, such as e.g., the 802.11 standards or cellular protocols, or via physical transmission media, such as cables or fiber optics. The network resources may include storage devices for storing data and executable instructions at a location separate from the computer platform. The computer interacts with a display to output data and other information to a user, as well as to request additional instructions and input from the user. The display may therefore further act as an input device for interacting with a user. [0022] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The corresponding structures, materials, acts, and equivalents of ail means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. [0023] As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may ail generally be referred to herein as a "circuit," "module" or "system." Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon. Any - 8 - combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but flot limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but flot limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is flot a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but flot limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an extemal computer (for example, through the Internet using an Internet Service Provider). Aspects of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, - 9 - special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. REVENDICATIONS1. A semantic data search system, comprising:: - (a) obtaining query metamodels each being associated with one or more first conceptual representation data and one or more first location where entities are located; - (b) harvesting standard te)dual and second conceptual representation metadata of entities located at one or more second location of the semantic data network; - (c) inferring at least one relation between the retrieved standard metadata; - (d) receiving a te)dual search request from an end-user; - (e) retrieving the stored entities which standard te)dual representation metadata matches the te)dual search request; - (f) obtaining second conceptual representation metadata and second location of the matched entities, associated with the retrieved entities, based on the inferred relation; - (g) selecting one or more entities based on a merging between a graph associated with the obtained second conceptual representation metadata and second location and a graph associated with the first conceptual representation metadata and first location; - (h) prompting the end-user to choose one of the one of the query metamodels associated with the selected entities - (i) applying the chosen query metamodel on the on the selected entities; and, - (j) sending to the end-user the results associated with the chosen query metamodel. 2. A non-transitory computer program product, tangibly embodied in a machine readable storage device, comprising one or more instructions that, when executed, cause at least one processor to perform knowledge based search operations comprising:: - (a) obtaining query metamodels each being associated with one or more first conceptual representation data and one or more first location where entities are located; - (b) harvesting standard te)dual and second conceptual representation metadata of entities located at one or more second location of the semantic data network; - (c) inferring at least one relation between the retrieved standard metadata; - (d) receiving a te)dual search request from an end-user; - (e) retrieving the stored entities which standard te)dual representation metadata matches the te)dual search request; - (f) obtaining second conceptual representation metadata and second location of the matched entities, associated with the retrieved entities, based on the inferred relation; - (g) selecting one or more entities based on a merging between a graph associated with the obtained second conceptual representation metadata and second location and a graph associated with the first conceptual representation metadata and first location; - (h) prompting the end-user to choose one of the one of the query metamodels associated with the selected entities - (i) applying the chosen query metamodel on the on the selected entities; and, - (j) sending to the end-user the results associated with the chosen query metamodel.