A skyline query method based on CP-Nets

By introducing CP-Nets structure and preference derivation graph into Skyline queries, the problems of non-linearity and dependency of user preferences are solved, realizing efficient and accurate personalized Skyline queries to meet users' multi-dimensional preference needs.

CN118643067BActive Publication Date: 2026-07-21KUNMING UNIV OF SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
KUNMING UNIV OF SCI & TECH
Filing Date
2024-06-18
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Existing Skyline query methods fail to effectively consider users' non-linear and dependent conditional preferences, resulting in query results that cannot meet user needs, especially when the data dimensions and volume are large.

Method used

Conditional Preference Networks (CP-Nets) are used to represent user preferences. By constructing CP-Nets structures, classification trees, and preference derivation graphs, candidate datasets are pruned, and a new CP-Skyline set is defined. Combined with CP-dominate relationships, efficient and accurate Skyline queries are achieved.

Benefits of technology

It improves the efficiency and accuracy of Skyline queries, effectively manages complex preference relationships, meets users' personalized needs, reduces invalid calculations, and improves the relevance of query results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118643067B_ABST
    Figure CN118643067B_ABST
Patent Text Reader

Abstract

The application relates to a Skyline query method based on CP-Nets and belongs to the technical field of data management and multi-attribute data query. The application designs a method for expressing user condition preference by using CP-Nets and then performing Skyline query in the case that the user has preference with dependency relationship during database query. Firstly, the user's condition preference is expressed by using CP-Nets, and the candidate data set is pruned through the semantics of CP-Nets; then the user's preference for data is obtained according to the reasoning function of CP-Nets, and a new Skyline based on CP-Nets, CP-Skyline, is defined on the basis; finally, the optimal result set meeting the user's condition preference is returned to the user according to the definition of CP-Skyline. The application can fully consider the case that the user's preference for the attributes of data has dependency relationship during data retrieval, reasonably prune the data set based on CP-Nets, thereby greatly reducing the calculation of the dominance relationship between data, improving the Skyline query efficiency, and having obvious practical application value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a Skyline query method based on CP-Nets, belonging to the field of data management and multi-attribute data query technology, and more specifically, to a personalized Skyline query method driven by user-defined condition preferences. Background Technology

[0002] As an effective multi-criteria optimization decision-making technique, Skyline queries have received widespread attention in the database field. The Skyline query problem is also known as the Pareto optimality problem or the maximal vector problem. Skyline queries are widely used in multi-criteria optimization decision systems to discover high-value information in a dataset. This high-value information is identified by querying the data tuples with the optimal combination of attributes in the dataset. For two points p1 and p2 in a dataset, p1 is said to dominate p2 if and only if every attribute of p1 is no worse than that of p2, and at least one of its attributes is better than that of p2. Points that are not dominated by other data points are called SPs (Skyline points), and all SPs constitute the Skyline set.

[0003] Traditional Skyline queries only consider global superiority relationships and cannot take into account users' personalized preferences. Therefore, they cannot always meet users' specific preferences or needs. Personalized Skyline queries (Multi-user Skyline query processing algorithm based on attribute priority relationship. Computer and Modernization 2018, 275(7):11-19) allow users to specify preference conditions. Personalized Skyline queries are a variant of Skyline queries. They solve the problem that multi-point Skyline queries cannot solve, which is that users have different priorities for attributes. In recent years, personalized Skyline queries have received widespread attention for their potential to reduce costs and improve user experience. Karim et al. (Selecting Services for Multiple Users: Let's Be Democratic. IEEE Transactions on Services Computing, 2021, 14(5):1531–1544.) defined a new Skyline selection criterion for multiple users with multiple preferences, in order to find the result that best matches the collective preference, so as to maximize the simultaneous satisfaction of the needs of these users. Zhang et al. (Towards efficient and privacy-preserving user-defined skyline query over single cloud. IEEE Transactions on Dependable and Secure Computing, 2022, 20(2): 1319-1334.) defined a personalized Skyline based on user-defined preferences and proposed a privacy-preserving user-defined Skyline query scheme under a single-server model. However, current methods often oversimplify user preferences, ignoring the non-linearity and dependencies between attributes in user preferences. This results in too many query results failing to meet user needs, and this situation becomes more pronounced as data dimensions and volume increase. Therefore, a method is needed to efficiently and accurately query Skylines with preference dependencies. Summary of the Invention

[0004] This invention relates to a Skyline query method based on CP-Nets, which aims to solve the problem that existing Skyline query methods do not consider users' nonlinear and dependent conditional preferences.

[0005] Conditional Preference Nets (CP-Nets), as a type of preference-based conditional probabilistic network, can represent the intricate preference relationships among multiple attributes, including dependencies (Incomplete preference-driven web service selection. IEEE International Conference on Services Computing, 2008, 1:75-82.). Furthermore, they possess the ability to infer the optimal combination of attributes for a user's preference (CP-Nets: A Tool for Representing and Reasoning with Conditional Ceteris Paribus Preference Statements. Journal of Artificial Intelligence Research, 2004, 135–191.). A significant advantage of integrating CP-Nets into Skyline queries lies in their ability to manage complex preference relationships, effectively constraining the Skyline query space, thereby improving query efficiency and accuracy.

[0006] The technical solution of this invention is: a Skyline query method based on CP-Nets, comprising the following steps:

[0007] Obtain the user's personalized query conditions and preferences, and construct a CP-Nets structure that satisfies the preferences accordingly;

[0008] Pruning of candidate datasets is performed by constructing classification trees based on the CP-Nets structure;

[0009] Based on the CP-Nets structure, the preferences of the pruned data are inferred, and a preference derivation graph is constructed to obtain the user's preference level for the data;

[0010] By combining the user's preference level for data under the CP-Nets structure, a new dominance relationship and a new Skyline are defined, and the new Skyline set is defined as the CP-Skyline set;

[0011] According to the definition of CP-Skyline, given a dataset T and a user's CP-Nets, the corresponding CP-Skyline set is obtained as the final result recommended to the user.

[0012] Specifically, it includes the following steps:

[0013] Step 1: First, use CP-Nets to represent the user's preference for data attributes in Skyline queries and store the dependencies between attributes in the user's preference.

[0014] Step 2: Construct a classification tree based on CP-Nets, and prune all candidate datasets based on the classification tree: After classifying all tuples, obtain "effective classifications" that meet the user's preferences and "invalid classifications" that do not meet the user's preferences. Tuples in invalid classifications are directly removed from the candidate set.

[0015] Step 3: Based on the semantics and features of CP-Nets, infer the preference for "effective classification" of data, thereby constructing the preference derivation graph structure of CP-Nets. Then, based on the topological sorting of the derivation graph, classify the "effective classification"... i The sorting process yields the user's preference relationship for "effective categories," i.e., a relationship about o. i The order of these rank 'Ω' is called the preference level.

[0016] Step 4: Based on the existing dominance relationship and combined with the characteristics of CP-Nets, a new dominance relationship is proposed, called the CP-dominate dominance relationship. Based on this dominance relationship, a new Skyline is defined—CP-Skyline.

[0017] Step 5: According to the definition of CP-Skyline, for a given dataset T and users' CP-Nets, after dividing all tuples in dataset T into different preference levels, based on users' preferences for combinations of data attribute values, we can obtain the user's preference relationship for the data. Users will always choose tuples with higher preference levels than those with lower preference levels; that is, tuples with higher preference levels always dominate tuples with lower preference levels. Therefore, we only need to select tuples with higher preference levels. i You can start searching for CP-Skyline in ''. If o i If ' is empty, then in the next preference level o j Search for CP-Skyline in ', where o' i >o j ′;

[0018] Through the above steps, a set of CP-Skylines that meet the user's condition preferences is obtained.

[0019] Specifically, Step 4 includes the following steps:

[0020] Step 4.1, for two tuples t i and t j If for all attributes i, t i The preference for attribute i is no less than t. jAnd there exists at least one attribute j such that t i The preference for attribute j is higher than that for t. j , denoted as t i >t j ;

[0021] Step 4.2, for two tuples t i and t j And the preference levels of the two tuples are t. i ∈o i ′, t j ∈o′ j , where o i ′,o′ j ∈Ω′, if: o i ′>o′ j or o′ i =o′ j :t i >t j Then the tuple t is called i Dominant tuple t under CP-dominate dominance relation j , denoted as t i > CP t j ;

[0022] Step 4.3: Tuples that are not dominated by other tuples under the CP-dominate relationship are defined as CP-Skyline tuples.

[0023] Specifically, in Step 5, starting from the high preference level o i The method for starting the search for CP-Skyline in ' is to use the NBL or SFS algorithm.

[0024] Specifically, Step 1 involves the following steps: Using a CP-Nets structure to represent user preferences for data attributes, a directed graph G = (V, E) represents the user preferences. Here, the vertex set V represents the set of user-preferred attributes, and the edge set E represents the dependencies between attributes.<v1,v2> This indicates that the user's preference for attribute v2 depends on the value of attribute v1. Furthermore, for each attribute v... i There is a conditional preference table CPT(v i ), which represents its parent node Pa(v i The set of values ​​U is associated with a preference order for each instance u.

[0025] Specifically, Step 2 involves the following steps: Based on the classification tree constructed using CP-Nets, the data is divided into rectangles by partitioning the feature space. Starting from the root node, the data is gradually separated through a series of decisions. When the partitioning is complete and the data cannot be further separated, a leaf node is formed. The specific process of pruning all candidate datasets based on the classification tree is as follows:

[0026] Step 2.1: Given a user's CP-Nets: G = (V, E), for each attribute v i The set of its parent nodes is denoted as Pa(v). i For all possible instances of parent node values, let u = |Pa(v) i )|∈U, the classification tree C = (V) constructed by G c E c ), where, for node v in the classification tree ci ∈V c It represents a specific property v of a tuple. i Edge set E ci Indicates the possible values ​​of the predecessor node |Pa(v) i | is obtained from the associated Conditional Preference Table (CPT);

[0027] Step 2.2: After the classification tree is constructed, process each tuple t in the dataset T. i Traverse ∈T starting from the root node: when t i At each internal node reached, based on its parent attribute Pa(v) i The conditional preference table CPT(v1) is used to determine the tuple. t The attribute v corresponding to i i Does the value satisfy the possible values ​​of its parent attribute |Pa(v)? i If the condition is indeed met, then traverse along the relevant branches until a leaf node is formed, which is the "valid classification". i Otherwise, return "invalid classification", denoted by F. At this point, all tuples that meet the conditions have been divided into several valid classifications that satisfy the user's conditions and preferences. i In, among which, o i ∈Ω, where Ω is the set of valid classifications obtained from the classification tree. Tuples that fail to meet the semantic requirements of the user's CP-Nets are removed.

[0028] Specifically, Step 3 involves the following steps: Given the user's CP-Nets: G = (V, E), construct the preference graph I = (V, E) from G. I E I Vertex set V I It consists of the effective classification set Ω and the edge set E IBased on the relative merits of different effective classifications, the preference-derived graph is defined by the following edges between effective classifications: For each of two classifications o, o′∈Ω that differ only in one of their attributes, if the user prefers o to o′, then there exists a directed edge.<o′,o> If the user prefers o′ to o, then there exists a directed edge.<o,o′> If o and o′ are not comparable, then I does not contain an edge between o and o′, and then classifies o according to the topological sort of the derived graph. i The user's preference relationship for the existing categories is sorted and denoted as Ω′, which is called the preference level.

[0029] The beneficial effects of this invention are as follows: Existing Skyline queries only focus on monotonic, linear user preferences, without considering the dependencies between preferences. To address the Skyline query problem when user preferences have dependencies, this invention proposes a Skyline query method based on CP-Nets. CP-Nets are used to express users' non-linear, dependent conditional preferences. The candidate dataset is pruned using the semantics of CP-Nets. Then, the properties of CP-Nets are used to infer the user's data attribute value preferences to obtain the preference level of the data under the user's preferences, thereby obtaining the user's preference relationship with the data. Based on this, a new Skyline is defined. Furthermore, by rationally designing a classification tree to prune and classify the candidate data and utilizing the properties of the preference-derived graph, efficient computation of the CP-Skyline is achieved. Attached Figure Description

[0030] Figure 1 This is a flowchart of the method in this invention;

[0031] Figure 2 This is a schematic diagram of CP-Nets representing user preferences in an embodiment of the present invention;

[0032] Figure 3 This is a schematic diagram of the classification tree constructed in an embodiment of the present invention;

[0033] Figure 4 This is a schematic diagram of the preference derivation graph constructed in the implementation examples of this invention. Detailed Implementation

[0034] The above-mentioned and other technical features and advantages of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. The technical solution of the present invention will now be further explained with reference to the accompanying drawings and specific embodiments.

[0035] Example 1: As Figure 1-4As shown, a Skyline query method based on CP-Nets first obtains the user's personalized query condition preferences and constructs a CP-Nets structure that satisfies these preferences. Next, a classification tree is constructed based on CP-Nets to prune the candidate dataset and obtain attribute value combinations (effective classifications) that meet the conditions. Then, a preference derivation graph is obtained based on the inference function of CP-Nets. The effective classifications obtained from the classification tree are sorted according to the user's preference level to obtain the user's preference level for the data. Third, a new personalized conditional preference Skyline based on CP-Nets—CP-Skyline (Conditional Preference Skyline)—is defined. To calculate the CP-Skyline set, CP-Nets are used to represent non-linear, dependent user condition preferences. Finally, a Skyline query is performed according to the definition of CP-Skyline.

[0036] The specific steps of the method are as follows:

[0037] Step 1: Represent user preferences for data attributes using CP-Nets. A CP-Nets representation of user preferences is a directed graph G = (V, E), where the vertex set V represents the set of attributes the user prefers, the edge set E represents the dependencies between attributes, and the directed edges...<v1,v2> This indicates that the user's preference for attribute v2 depends on the value of attribute v1. Furthermore, for each attribute v... i There is a conditional preference table CPT(v i ), which represents its parent node Pa(v i The set of values ​​U is associated with a preference order for each instantiated u.

[0038] Step 2: Based on the classification tree constructed using CP-Nets, the data is partitioned by dividing the feature space into rectangles. Starting from the root node, the data is separated step by step through a series of decisions. When the partitioning is complete and the data cannot be further separated, a leaf node is formed. The specific process of pruning all candidate datasets based on the classification tree is as follows:

[0039] Step 2.1: Given a user's CP-NetsG = (V, E), for each attribute node v i The set of its parent nodes is denoted as Pa(v). i For all possible instances of parent node values, let u = |Pa(v) i )|∈U. The classification tree C constructed from G = (V c E c ), where for node v in the classification tree ci ∈V c It represents a specific property v of a tuple. iEdge set E ci Indicates the possible values ​​of the predecessor node |Pa(v) i This is derived from the related Conditional Preference Table (CPT). For example, for an attribute v1 without a parent node and its child node v2 in CP-Nets, CPT(v1) expresses the user's preference order for its child node v2 depending on the value of attribute v1. If the parent node v1 of node v2 has three instances v1, u2, u3 with the value |Pa(v2)|, then the constructed classification tree has the following characteristics: v1 is the root node of the classification tree. c1 Since v1 can take three values, its child node v2 corresponds to the three nodes v in the classification tree. c21 ,v c22 ,v c23 ; The edge corresponding to instance u1 (v c1 ,v c21 ).

[0040] Step 2.2: After the classification tree is constructed, process each tuple t in the dataset T. i Traverse ∈T starting from the root node: when t i At each internal node reached, based on its parent attribute Pa(v) i The conditional preference table CPT(v1) is used to determine the tuple t. i Corresponding attribute v i Does the value satisfy the possible values ​​of its parent attribute |Pa(v)? i If the condition is indeed met, then traverse along the relevant branches until a leaf node ("valid classification") is formed. i Otherwise, return "invalid classification" (denoted by F). At this point, all tuples that meet the conditions have been divided into several valid classifications that satisfy the user's conditions and preferences. i In (of which, o) i (∈Ω, where Ω is the effective classification set obtained from the classification tree). Tuples that fail to meet the semantic requirements of the user's CP-Nets are removed. This process effectively prunes invalid interest points and avoids a large amount of invalid computation.

[0041] Step 3: Classify the tuples that meet the conditions into different categories using a classification tree. i Then, these categories are ranked according to the degree of user preference for them.

[0042] Step 3.1: Specifically, based on the semantics and features of CP-Nets, infer the preference for combinations of data attribute values, and construct the preference derivation graph structure of CP-Nets accordingly. Given a user's CP-Nets G = (V, E), construct the preference derivation graph I = (V...E) from G. I E IVertex set V I It consists of the effective classification set Ω and the edge set E I The preference-derived graph is derived from the relative merits of different effective classifications. The following edge definition exists between effective classifications: for every two classifications o, o′∈Ω that differ only in one of their attributes, if the user prefers o to o′, then there exists a directed edge...<o′,o> If the user prefers o′ to o, then there exists a directed edge.<o,o′> If o and o′ are not comparable, then I does not contain an edge between o and o′. Then, classify o according to the topological sort of the derived graph. i Sort the data to obtain the user's preference relationship for the existing categories (which is a relationship between o). i The order of preference is denoted as Ω′ and is called the preference level.

[0043] Step 4, CP-Skyline Definition: Based on existing dominance relationships and combining the characteristics of CP-Nets (Conditional Preference Networks), a new type of dominance relationship is proposed, called CP-dominate dominance relationship. Here, the preference level represents the degree of user preference for a tuple inferred from CP-Nets. The specific content of this step is as follows:

[0044] Step 4.1, for two tuples t i and t j If for all attributes i, t i The preference for attribute i is no less than t. j (i.e., tuple t) i It is not as good as tuple t on attribute i. j (difference), and there exists at least one attribute j such that t i The preference for attribute j is higher than that for t. j (i.e., tuple t) i Compare tuple t with attribute j j Okay), denoted as t i >t j .

[0045] Step 4.2, for two tuples t i and t j And the preference levels of the two tuples are t. i ∈o i ′, t j ∈o′ j , where o i ′,o′ j ∈Ω′. If: o i ′>o′ j or o′ i =o′ j :ti >t j Then the tuple t is called i Dominant tuple t under CP-dominate dominance relation j , denoted as t i > CP t j .

[0046] Step 4.3: Given an n-dimensional dataset T and a user's CP-NetsG = (V, E), obtain the CP-Skyline set of tuples that are not dominated by other tuples under the CP-dominate relationship.

[0047] Step 5: According to the definition of CP-Skyline, for a given dataset T and users' CP-Nets, after dividing all tuples in dataset T into different preference levels, based on users' preferences for combinations of data attribute values, we can obtain the user's preference relationship for the data. Users will always choose tuples with higher preference levels than those with lower preference levels; that is, tuples with higher preference levels always dominate tuples with lower preference levels. Therefore, we only need to select tuples with higher preference levels. i Start searching for CP-Skyline from ' (using NBL or SFS algorithm), if o i If ' is empty, then in the next preference level o j Search for CP-Skyline in ', where o' i >o j ′;

[0048] Through the above steps, a set of CP-Skylines that meet the user's condition preferences is obtained.

[0049] The specific implementation process and working principle of this invention are as follows:

[0050] Unlike existing Skyline query methods, this invention allows users to specify their preferences during the Skyline query process. Given information on 10 hotels (as shown in Table 1) and a user's preferences, the optimal set of hotels that meet the user's preferences is finally returned. The complete details of the user's hotel selection preferences are summarized as follows: (1) Assume that there are three options for the hotel location: it can be located in the East District (Dist D Chaoyang District C ) or Haidian District (Dist H(1) Users' location preference is unconditional: Dongcheng District > Chaoyang District > Haidian District, where ">" means "better than". (2) Assume that users' price preference is conditional: if the location is in Dongcheng District, users want the price to be [80, 100]; if the location is in Chaoyang District, users want the price to be [100, 120]; if the location is in Haidian District, users want the price to be [120, 140]. And the lower the price, the better. (3) Users' rating preference is conditional: if the price is between [80, 100], users want the rating to be greater than 5; if the price is between [100, 120], users want the rating to be greater than 7; if the price is between [120, 140], users want the rating to be greater than 9.

[0051] Table 1

[0052]

[0053]

[0054] 1. CP-Nets constructed based on these user preferences, such as... Figure 2 The directed edges represent the relationships between attributes. For example, a user's preference for price depends on their preference for district; a user's preference for score depends on their preference for price. CPT describes the preference for an attribute based on different values ​​of its parent attribute. According to the user's CP-Nets, it is clear that the user is most interested in the administrative district where the hotel is located, followed by price, while the score is the least important attribute.

[0055] 2. Construct a classification tree based on user CP-Nets ( Figure 3 ) and preference-derived graphs ( Figure 4 The set of nodes in the preference-derived graph is denoted as Ω, representing different combinations of attribute values ​​(categories). The edge set is obtained based on the user's CP-Nets, with directed edges representing the dependencies between them, where o i and o j Belongs to Ω, and o i and o j They differ by only one attribute value. For example, the preference of o1 for o2, as shown by the direct arc between them, is a direct result of the semantics of the Conditional Preference Table (CPT) (District) regarding the hotel location attribute.

[0056] 3. Categorize and prune all hotels using a classification tree: Hotel {h1, h2} 10{h1, h6, h8} were excluded from all categories because their prices were outside the user's preferred range [80, 140], and {h1, h6, h8} were excluded because their scores did not meet the user's preference criterion "score > 5". After classification using a classification tree, each decision result represents a combination of attribute values ​​that satisfy the user's conditional preferences. i Hotels classified using the classification tree that do not meet the user's preferences (invalid classification F) will be removed from the candidate set (e.g., h5 does not meet the preference requirement of 100 < price < 120: rating > 7; 100 < price < 120: rating > 7). Therefore, all hotels that meet the user's preferences will be assigned to a valid classification o. i (For example, h2∈o4, h3, h4∈o2). At this point, all tuples that do not satisfy the user's preferences are removed from the candidate hotels, Ω={o1,o2,o3,o4,o5,o6}.

[0057] 4. Topological inversion of the preference-induced graph can be used to determine the ranking of attribute value combinations: Topological sorting of the preference-induced graph can determine the user's preference ranking for hotel attribute value combinations: Ω′=o1>o2>o3>o4>o5>o6. The top-level unit o6 performs the worst, and the bottom-level unit o1 performs the best. That is, hotels that meet category o1 are more in line with the user's preferences.

[0058] 5. Calculate the new Skyline: Start searching for Skylines from the highest preference level. Since o1 is empty, search for Skylines in the next preference level. In preference level o2, since h3 = {92, 5, Chaoyang District} and h4 = {99, 8, Chaoyang District} are not mutually exclusive, h3 and h4 constitute the final CP-Skyline set (CPS).

[0059] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. In particular, it should be noted that any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention for those skilled in the art.

Claims

1. A Skyline query method based on CP-Nets, characterized in that: Includes the following steps: Obtain the user's personalized query conditions and preferences, and construct a CP-Nets structure that satisfies the preferences accordingly; Pruning of candidate datasets is performed by constructing classification trees based on the CP-Nets structure; Based on the CP-Nets structure, the preferences of the pruned data are inferred, and a preference derivation graph is constructed to obtain the user's preference level for the data; By combining the user's preference level for data under the CP-Nets structure, a new dominance relationship and a new Skyline are defined, and the new Skyline set is defined as the CP-Skyline set; According to the definition of CP-Skyline, for a given dataset Based on the user's CP-Nets, obtain the corresponding CP-Skyline set as the final result recommended to the user; Includes the following steps: Step 1: First, use CP-Nets to represent the user's preference for data attributes in Skyline queries and store the dependencies between attributes in the user's preference. Step 2: Construct a classification tree based on CP-Nets, and prune all candidate datasets based on the classification tree: After classifying all tuples, obtain "effective classifications" that meet the user's preferences and "invalid classifications" that do not meet the user's preferences. Tuples in invalid classifications are directly removed from the candidate set. Step 3: Based on the semantics and features of CP-Nets, infer the preference for "effective classification" of data, thereby constructing the preference derivation graph structure of CP-Nets. Then, based on the topological sorting of the derivation graph, determine the "effective classification". The data is sorted to obtain the user's preference relationship for "effective categories," that is, a relationship about... The sorting is denoted as This is called the preference level; Step 4: Based on the existing dominance relationship and combined with the characteristics of CP-Nets, a new dominance relationship is proposed, called the CP-dominate dominance relationship. Based on this dominance relationship, a new Skyline is defined—CP-Skyline. Step 5: Based on the definition of CP-Skyline, for the given dataset... And the user's CP-Nets, in the dataset After dividing all tuples into different preference levels, the user's preference relationship for the data is obtained based on the user's preference for combinations of data attribute values. Users will always choose tuples with higher preference levels, rather than tuples with lower preference levels. That is, tuples with higher preference levels always dominate tuples with lower preference levels. Therefore, we only need to select tuples with higher preference levels. You can start searching for CP-Skyline in the middle. If empty, then in the next preference level Searching for CP-Skyline, among which ; Through the above steps, a set of CP-Skylines that meet the user's conditional preferences is obtained; Step 4 specifically includes the following steps: Step 4.1, for two tuples and If in all attributes superior, In attributes The preference is no less than And at least one property exists. , making In attributes The preference is higher than , recorded as ; Step 4.2, for two tuples and And the preference levels of the two tuples are , ,in , If the following conditions are met: or Then it is called a tuple. Dominant tuples under CP-dominate dominance relation , recorded as ; Step 4.3: Tuples that are not dominated by other tuples under the CP-dominate relationship are defined as CP-Skyline tuples.

2. The Skyline query method based on CP-Nets according to claim 1, characterized in that: In Step 5, from the high preference level The methods for finding CP-Skylines in the middle are to use the NBL or SFS algorithm.

3. The Skyline query method based on CP-Nets according to claim 1, characterized in that: The specific steps of Step 1 are as follows: Use the CP-Nets structure to represent the user's preferences for data attributes, and create a directed graph of CP-Nets representing the user's preferences. , where vertex set Edge set represents the set of attributes that a user prefers. Directed edges represent dependencies between attributes. Indicates user's view on attributes Preferences depend on attributes The value of , in addition, for each attribute There is a conditional preference table It represents its parent node. value set Each instance A preference order of association.

4. The Skyline query method based on CP-Nets according to claim 1, characterized in that: Step 2 involves the following steps: Based on the classification tree constructed using CP-Nets, the data is divided into rectangles by partitioning the feature space. Starting from the root node, the data is separated step by step through a series of decisions. When the partitioning is complete and the data cannot be further separated, a leaf node is formed. The specific process of pruning all candidate data according to the classification tree is as follows: Step 2.1, Given the user's CP-Nets For each attribute The set of its parent nodes is denoted as Let be an instance of all possible parent node values. ,Depend on Constructed classification tree Among them, for nodes in the classification tree It represents a property of a tuple. edge set Indicates the possible values ​​of the predecessor node. From the related conditional preference table get; Step 2.2: After the classification tree is constructed, process the dataset. Each tuple in Perform a traversal starting from the root node: when At each internal node reached, based on its parent attribute Conditional Preference Table Determine the tuple Corresponding attributes Does the value satisfy the possible values ​​of its parent property? If the conditions are indeed met, then traverse along the relevant branches until a leaf node is formed, which is the "valid classification". Otherwise, return "invalid category" and use This means that, at this point, all tuples that meet the conditions have been divided into several effective categories that satisfy the user's conditional preferences. In, among them, , It is the set of valid classifications obtained from the classification tree. Tuples that fail to meet the semantic requirements of the user's CP-Nets are removed.

5. The Skyline query method based on CP-Nets according to claim 1, characterized in that: Step 3 involves the following steps: Given the user's CP-Nets ,Depend on Constructing a preference-derived graph Vertex set From the effective classification set Composition, edge set The preference derivation graph, derived from the relative merits of different effective classifications, is defined by the following edges between effective classifications: for each of the two classifications that differ only in one of their attributes... If user preferences Instead Then there exists a directed edge. If users like Instead Then there exists a directed edge. ,if and If they are incomparable, then Not included and The edges between them are then categorized according to the topological sort of the derived graph. Sort the data to obtain the user's preference relationship for the existing categories, denoted as . This is referred to as the preference level.