WO2005052810A1 - Method of constructing preferred views of hierarchical data - Google Patents

Method of constructing preferred views of hierarchical data Download PDF

Info

Publication number
WO2005052810A1
WO2005052810A1 PCT/AU2004/001676 AU2004001676W WO2005052810A1 WO 2005052810 A1 WO2005052810 A1 WO 2005052810A1 AU 2004001676 W AU2004001676 W AU 2004001676W WO 2005052810 A1 WO2005052810 A1 WO 2005052810A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
nodes
context
occurrence
representation
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/AU2004/001676
Other languages
English (en)
French (fr)
Inventor
Khanh Phi Van Doan
Alison Joan Lennon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from AU2003906611A external-priority patent/AU2003906611A0/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to US10/570,822 priority Critical patent/US7664727B2/en
Priority to JP2006540102A priority patent/JP4637113B2/ja
Priority to AU2004292680A priority patent/AU2004292680B2/en
Publication of WO2005052810A1 publication Critical patent/WO2005052810A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Definitions

  • the present invention relates to the general field of information retrieval and, in
  • Keyword searching is of particular importance when dealing with a structured data
  • a database in a mail order store For example, a database in a mail order store
  • a user enters one or more keywords and the system responds with a data
  • keyword hits may occur in
  • a relational database comprises tables joined through their primary and
  • each table comprises a plurality of rows each denoting an n-tuple of
  • ancestor node or their children may provide very useful context for a keyword hit, even
  • This operator evaluates to TRUE if a specified sub-tree contains some specified
  • context entities where said context entities are obtained from said representation and context data obtained from said least one previous view.
  • method of selecting data from a data source comprising the steps of (i) forming a graphical representation of said data source; (ii) detecting a user selection of part of said representation;
  • said compulsory entity is a node in said graphical representation representing a
  • Fig. 1 is an example schema graph
  • Fig. 2 is a flowchart of a keyword searching method
  • Figs. 3A and 3B show two example parent nodes in a schema graph
  • Fig. 4 is a diagram of a network of server and client computers
  • Fig. 5 is a flowchart of a method for identifying context nodes among a set of child
  • nodes of a parent node not lying along a directed path from the root node to a hit node
  • Fig. 6 is a flowchart of another method for identifying context nodes among a set
  • Fig. 7 is a flowchart of a method for identifying context nodes among a set of child
  • Fig. 8 is a flowchart of another method for identifying context nodes among a set
  • Fig. 9 is an example schema graph with two identical sub-trees
  • Fig. 10 is a flowchart of the first, bottom-up traversal phase of the context node
  • Fig. 11 is an example of a schema graph with multiple hit nodes
  • Fig. 12 is a flowchart of the first, bottom-up traversal phase of the context node
  • Fig. 13 is a flowchart of a method for identifying context nodes among a set of
  • FIG. 14 is a flowchart of a method for identifying context nodes among a set of
  • Fig. 15 is an example of a parent node whose descendant hit nodes are all located
  • Fig. 16 is a flowchart of a method for identifying context nodes among a set of
  • Fig. 17 is a flowchart of a method for identifying context nodes among a set of
  • Fig. 18 is a flowchart of a method for identifying context nodes in which one or
  • FIG. 19 is a flowchart of a method for constructing context trees for cases involving
  • FIG. 20 is a flowchart of a method for constructing context trees for cases involving
  • Fig. 21 is a flowchart of a method for constructing an alternative set of hit nodes
  • Fig. 22 is a flowchart of a method for selecting an ancestor of a set of hit nodes that
  • Fig. 23 is an example schema graph
  • Fig. 24 is a schema graph of an example data view
  • Fig. 25 is a schema graph of another example data view
  • Fig. 26 is a schema graph of yet another example data view
  • Fig. 27 is an occurrence frequency table arising from the data views in Figs. 24, 25
  • Fig. 28 is a co-occurrence frequency table arising from the data views in
  • Fig. 29 is a leaf co-occurrence frequency table arising from the data views in
  • Fig. 30 is a sole child co-occurrence frequency table arising from the data views in
  • Fig. 31 is a portion of a joint-occurrence frequency table arising from the data
  • Fig. 32 is another portion of a joint-occurrence frequency table arising from the
  • Fig. 33 is yet another portion of a joint-occurrence frequency table arising from the
  • Fig. 34 is yet another portion of a joint-occurrence frequency table arising from the
  • Fig. 35 is yet another portion of a joint-occurrence frequency table arising from the
  • Fig. 36 is the schema graph of a context tree returned as a result of a keyword
  • Fig. 37 is a schematic block diagram of a general purpose computer upon which
  • Fig. 38 is a flowchart of a sub-process within the method for constructing context
  • Fig. 39 is a flowchart of a sub-process within the method for constructing context
  • the present disclosure provides a method for determining a set of relevant data in a
  • a preferred implementation includes a Bayesian probabilistic based
  • the compulsory data items are those containing keyword hits, and thus must be returned to
  • search results to serve as context for the keyword hits.
  • the present specification also discloses apparatus for performing the operations of
  • Such apparatus may be specially constructed for the required purposes, or
  • transmission medium may include storage devices such as magnetic or optical disks,
  • the transmission medium may also include a hard-wired medium such as
  • the computer program is not intended to be limited to any
  • the instructions may be formed as one
  • a first part performs the searching
  • a second part manages a user interface between the first part and the user.
  • the software may then be stored in a computer readable medium, including the storage
  • the software is loaded into the computer from the
  • a computer readable medium and then executed by the computer.
  • a computer readable medium and then executed by the computer.
  • the computer system 3700 is formed by a computer module 3701, input devices
  • transceiver device 3716 is used by the computer module 3701 for communicating to and from a communications network 3720, for example connectable via a telephone line 3721
  • the modem 3716 can be used to obtain access to the Internet,
  • LAN Local Area Network
  • Wide Area Network a Wide Area Network
  • the computer module 3701 typically includes at least one processor unit 3705, and
  • a memory unit 3706 for example formed from semiconductor random access memory
  • the module 3701 also includes an number of
  • I/O interfaces including an audio-video interface 3707 that couples to the
  • the modem 3716 may be any type of printer 3715.
  • the modem 3716 may be any type of printer 3715.
  • the modem 3716 may be any type of printer 3715.
  • storage device 3709 is provided and typically includes a hard disk drive 3710 and a floppy disk drive
  • a magnetic tape drive (not illustrated) may also be used.
  • a CD-ROM compact flash memory
  • the drive 3712 is typically provided as a non- volatile source of data.
  • the application program is resident on the hard disk drive 3710 and read
  • any data fetched from the network 3720 may be accomplished using the semiconductor memory 3706, possibly in concert with the hard disk drive 3710.
  • the application program may be supplied to the user encoded on a CD-ROM or
  • floppy disks include floppy disks, magnetic tape, CD-ROM, a hard disk drive, a ROM or integrated
  • transmission media examples include radio or infra-red transmission channels as well
  • hitranets including e-mail transmissions and information recorded on Websites and the
  • Keyword searching in a hierarchical environment comprises identifying the nodes
  • the resulting data presented to the user is a second
  • Hierarchical data structure extracted from the first data structure and containing all or some
  • a context tree Hierarchical data structure presented to the user as a result of the keyword search operation.
  • schema elements are then returned to the user as the result of the keyword search
  • An XML Schema specifies the structure of the
  • each hierarchical data source on its own is tree-structured, when
  • the resulting data structure may take on a
  • This structure essentially comprises a number of trees with shared
  • each tree represents the schema of a distinct hierarchical data source
  • shared nodes are the result of data views whose contents span multiple data sources.
  • dotted boxes 1005 and 1010 in Fig. 1 denote the schemas of a first and
  • node 1015 is the root node of a data view that brings
  • the multiple shared-tree structure in the Fig. 1, referred herein as a schema graph, is a special form of a directed acyclic graph with an important characteristic that
  • the schema graph is preferably constructed prior to a keyword searching operation
  • a data view typically comprises a query (such as an
  • XQuery in an XML environment may be created by a database administrator or user.
  • the database system preferably logs or records these queries in its storage
  • schema graph contains nodes from only one data source, in which case a joining of
  • nodes being added and linked to existing nodes from a single schema tree in the schema graph.
  • the schema graph may be updated continually as new queries are logged, or it may
  • Hierarchical data sources involves first identifying nodes within the schema graph where the search keywords are found, referred to as "hit" nodes, and then identifying nodes that
  • a data structure comprising
  • hit and context nodes is then constructed and presented to the user. Since hit nodes
  • the resulting data structure is preferably also tree-
  • FIG. 4 shows a preferred configuration 4000 and generalised mode of operation of
  • the configuration 4000 comprises a PC client 4005, a
  • Each of the devices 4005, 4010, 4025 and 4030 is typically formed by a
  • 4030 may be combined into a smaller number of distinct computer systems 3700.
  • Data stored in the database 4015 is typically accessed by a user browsing at the PC
  • a browsing application, operating in the client 4005 issues commands
  • Each XQuery 4006 is recorded in a log 4020 and analysed by the data server 4010, after which the requested data 4007 is fetched from the database 4015 and
  • the index server 4030 is activated and the
  • Search keywords 4026 entered by the user are transmitted to the index server 4030 where
  • the method 2000 begins at step 2005, where
  • hit nodes are identified in the schema graph.
  • XML environment there are
  • step 2010 identifies
  • context trees are converted to XQueries and presented to the user as a ranked list. Methods for identifying context trees denoted by step 2010 in Fig. 2 are now
  • parents and ancestors are context nodes, from which the second phase proceeds in a top-
  • node preferably at least an occurrence frequency table and a co-occurrence frequency
  • the former records the frequencies at which each node in the
  • new entries are added to the occurrence frequency table to represent
  • the new nodes are each given an initial frequency value of 1 indicating that the nodes
  • logged queries and data views are used to determine whether a node is a context node.
  • Yj is a root node, given X.
  • Z l5 ... Z n denote the parent nodes of Yj, then
  • a number of alternative context trees are returned to the user as results of a keyword search operation, one for each ancestor node Y, of X
  • context trees are each assigned a score being the associated probability Pr[7, root
  • Context trees with higher scores are considered to be of more interest to the user than those with lower scores.
  • only the context tree with the highest score is presented to the user as the result of the keyword search operation.
  • ancestor node Y For each ancestor node Y, that can serve as the root node of a context tree (ie.
  • children are context nodes. For each child node determined to be a context node, its
  • children are in turn analysed in a top-down fashion to identify context nodes among them.
  • Figs. 3A and 3B The first is a special case shown in Fig. 3A where P, lies along the path
  • the parent node P j 3030 does not lie along a directed path from the root
  • context node is in general a function of the probability that C occurs given the presence of
  • simplification or approximation is needed.
  • One such simplification preferably adopted is to ignore the effects of all nodes other than those from Yj to C k in the above probability
  • a heuristic method 5000 depicted by the flowchart in Fig.5 may be used
  • the method 5000 preferably operates as a sub-
  • the method 5000 begins at step 5005 where the occurrence probability of each
  • nodes are selected as context nodes.
  • S of the probabilities of all child nodes so
  • step 5030 a check is made to ascertain whether S > T/2 and if so
  • step 5040 If S ⁇ T/2 then execution proceeds to step 5035.
  • the method 5000 has a number of desirable properties:
  • the method 5000 is biased towards identifying more rather than less nodes as context nodes.
  • the method identifies all child nodes as context nodes.
  • a parent node when a parent node is identified as a context node, one or more of its children are always identified as context nodes as well. This may be undesirable if there are many logged queries or data views in which the parent node occurs without any of its children (ie. occurs as a leaf node). Intuitively, if this occurs sufficiently often then the parent node alone should be identified as a context node without any of its children to reflect the frequently observed behaviour. To remedy this issue, a preferred implementation makes use of an additional leaf co-occurrence frequency table, generated and stored by the index server 4030. This table stores the frequency at which a node Pj co-occurs as a leaf node in past logged queries and data views with its ancestor Y lake for every possible pairs of such nodes P, and Y admit excluding
  • Pr[P, leaf A Y l root] P ⁇ [P / leaf ⁇ Y l root A P J ] Pr[7, root ⁇ P, ]
  • the probability Pr[P leaf ⁇ Y t root ⁇ P is preferably determined in an additional
  • P j are context nodes. If Pr[P, leaf ⁇ Y t root A P ] is less than 0.5, then no child nodes of P 3
  • server 4030 begins at step 6001 where a fictitious child node C 0 is conceptually created
  • the method 6000 then continues at step 6006 by invoking method 5000 at step 5010
  • skipping step 5005 to select among the child nodes C 0 , ..., C m a set of context nodes.
  • the method 6000 resumes at decision step 6010 where a
  • step 6020 execution continues at step 6020 where C 0 is excluded as a context node.
  • the method 6000 subsequently terminates at step 6015. If the test at 6010 fails, then the
  • method 6000 proceeds directly to the termination step 6015.
  • Pr[P ; leaf ⁇ Y l root A P ; ] on the resulting set of context nodes are more gradual in this
  • Ci context nodes given the root Yj and parent P j . If this set does not naturally contain Ci, then it basically means that Ci is not related to nodes in the set. Forcefully
  • C k is independent of nodes from P j to X (including Ci) as they are necessary ancestors of
  • freq( , Pj, X) denotes the joint-occurrence frequency between nodes C k , P j and X
  • P j is a parent of and an ancestor of X
  • C k is neither Xnor an ancestor of X
  • step 7001 the occurrence probability of each child node C k ⁇ C ⁇ given the
  • step 7025 proceeds to the decision step 7025, at which point if all child nodes C k have been selected as context nodes then the method 7000 terminates at step 7040. If however there
  • step 7030 a check is made to ascertain
  • step 7035 Here the list of child nodes C k ⁇ C ⁇ not yet currently
  • step 7020 for further processing.
  • descendant X and P j has a single child node (Ci), and is obtained from the new frequency table.
  • P y ⁇ X] is used in an
  • Child nodes of P j are context nodes. If I J [C 1 no sibling
  • the method 8000 begins at step 8001 where a fictitious
  • Child node C 0 is conceptually created and added to the list of actual child nodes Ci, ..., C m
  • step 7005 skipping step 7001 to select among the child
  • method 8000 resumes
  • the method 8000 subsequently terminates at step 8015. If the
  • test at 8010 fails, then the method proceeds directly to the termination step 8015.
  • the preceding discussion describes two distinct methods 6000 and 8000 for
  • determining from a set of child nodes which are context nodes is
  • the first method 6000 is employed even for the case where Pj
  • the keyword searching system 4000 disclosed herein is a form of a learning
  • the system is able to synthesise new views of data. If patterns exist in the
  • sub-tree 9030 making 9035 the hit node.
  • Probability averaging works by appropriately averaging
  • Pr[7 ; I X] is preferably first reformulated into an incremental form, as follows: Let W be
  • X] can be incrementally obtained from the probability value of its child node W, namely Pr[PF
  • the idea is to begin the procedure at the hit node X and make use of the above expression to obtain probability values for successively higher ancestor nodes.
  • the method of probability averaging is then applied to the first te ⁇ n on the right hand side of Eq. 14.
  • X] denote the modified probability value of some node B as a result of probability averaging
  • X] can be defined by the following recursive formulae: Pr'[X
  • X] l Eq. 15
  • a node pair (Y,k, X k ) is said to be equivalent to a node pair (Y canal X) if (i) Y, k has the same name or label or ID as Y, and Xk has the same name, label or ID as X,
  • X] Pr'[7,
  • X] Pr men disturb[Z /
  • d max is some threshold constant
  • dist(A, B) is the distance between two nodes A
  • Y of a hit node X is the root node of a context tree with probability averaging, for all
  • ancestor nodes Y lake is shown in Fig. 10.
  • step 10010
  • Step 100025 then tests to determine
  • step 10015 a parent node Z, of Y, is selected.
  • step 10020 the method 10000 is recursively invoked at step 10005 (skipping step 10001)
  • Probability averaging is also applied to the second top-down traversal phase.
  • the keyword search result as a context node is based on the probabilities
  • Pr ⁇ l ⁇ flB [C A ) 7, ⁇ P. ] is further approximated by a probability conditioned on W rather
  • 7,. root A PJ] is assigned a value based on the distance between C and Y, 1 ifdist(C k ,Y,) ⁇ d n lo g ⁇ mbt Eq.25
  • the method 13000 begins at step 13001 where a fictitious child node
  • Co is conceptually created and added to the list of actual child nodes Ci, ..., C m and is
  • step 13006 follows
  • step 13005 and invokes the method 5000 at step 5010 (skipping step 5005) to select
  • method 13000 resumes at decision step 13010 where a check is made to determine if the
  • fictitious child node Co has been selected as a context node. If so then execution continues
  • step 13020 where C 0 is excluded as a context node.
  • the method 13000 subsequently
  • step 13015 If the test at 13010 fails, then the method proceeds directly to
  • the methods 13000 and 6000 can also be used as means of selective presentation of hierarchical data. As already discussed, a
  • a presentation application typically displays all data items in
  • nodes that are likely to be of interest and preferably be displayed to the user
  • context nodes is based on the probabilities
  • step 22005 where X' is first initialised to X.
  • step 22010 the sum
  • step 22015 then follows and test if D is greater than or
  • step 22025 If the decision step 22015 fails then execution proceeds to another decision
  • step 22030 where a test is made to determine whether X' is an immediate child of P j . If
  • method 22000 then loops back to step 22010.
  • Pr meoarea[ . I X ⁇ P y ] is assigned the value
  • node X is computed using Eq.37, Eq.38, or Eq.39 respectively:
  • a method 14000 shown in Fig.14 begins at step 14001 where a fictitious child
  • node Co is conceptually created and added to the list of actual child nodes , ..., C m and
  • step 14006 follows step 14005 and invokes method 7000 at step 7005 (skipping step 7001) to select among the child nodes C 0 , ..., C m a set of context nodes.
  • step 14010 the method 14000 resumes at decision step 14010 where a check is made to determine if the fictitious child node Co has been selected as a context node. If so then execution continues at step 14020 where Co is excluded as a context node.
  • the method 14000 subsequently terminates at step 14015. If the test at 14010 fails, then the method proceeds directly to the termination step 14015.
  • the preceding discussion describes methods for identifying context nodes in the special case where there is at most a single hit node in the schema graph. This is a usual
  • each hit is preferably treated separately. That is, the methods as described are applied for a first hit node in the schema graph and a plurality of context trees are determined for the hit node. The same methods are then subsequently applied for each of the remaining hit nodes to obtain a new plurality of context trees, and so on.
  • the generated context trees may be re-scored if they are found to encompass multiple hit nodes, and in addition duplicated context trees are removed. The list of the remaining context trees are then reordered according to their new scores (if any) and returned to the user as the result of the keyword search operation.
  • Fig. 11 shows an example of a schema graph 11000 within which there are
  • hit nodes 11010, 11020 and 11025 Let these hit nodes be denoted byX ls ..., X n .
  • node 11005 containing all hit nodes, denoted by A (node 11005) must be returned as a context node, as
  • node 11015
  • the first, bottom-up phase of the context tree determination method begins at node
  • 7,] Pr[X,
  • Pr[7, ⁇ X 1 ⁇ - - - ⁇ XJ Pr[X 1 ⁇ - - - ⁇ X tract
  • 7 Pr[7 Pv[X ] ⁇ Y l ]-Pv[X ll ⁇ Y l ]Pr[Y l ]
  • I W A X, ⁇ • • • ⁇ X is preferably assigned a value based on the distances from Y;
  • the method 12000 begins at step 12001 where the root node of the smallest sub-
  • step 12002 Execution then continues at step 12002 where Y, is initialised to A and consequently
  • Eq. 49 or alternatively Eq. 50, are used to compute Pr'[Z y ] X ⁇ A ⁇ ⁇ • A X n ] for each
  • step 12010 computes
  • X 1 ⁇ - - - ⁇ X transit ] Eq. 51 Pr'
  • step 12000 then proceeds to step 12015 where a parent node Z ] of Y, is
  • step 12020 the method 12000 is recursively invoked at
  • step 12005 skipping Steps 12001 and 12002 but with the selected parent node Z j playing
  • step 12025 where a test is made to determine whether all parent nodes of Y, has been
  • step 12030 the method ends at step 12030, otherwise it continues at step 12015 where another parent node Z j of Y, is selected for processing.
  • Child nodes C/ c that are themselves hit nodes or are ancestors of one or more hit nodes must
  • Qk caimot be estimated from the frequency tables with sufficient
  • a method 21000 depicted by the flowchart of Fig. 21 is preferably used to determine whether the flowchart of Fig. 21 is preferably used.
  • method 21000 begins at step 21005 where the initial set of hit nodes Xi, ..., X s is denoted
  • step 21015 then follows in which a check is made to determine if freq mem (P j ,X ) is
  • test condition fails then another
  • decision step 21030 follows, which tests if the selected node p is a child node of P j . If it
  • step 21035 the element X p in S is replaced by its parent X' p that lies along the directed
  • step 21020 proceeds to step 21020.
  • resulting set S are used to compute a value Q for each child node Ci, ..., C r :
  • the value Q k is preferably
  • Ci of P j occurs, where is or is an ancestor of X: Pr[C, no sibling
  • Qo ⁇ Pr meTM [ c , n ° sibling
  • the method 16000 begins at step 16001
  • nodes Ci Ci, ..., C m and is assigned a value Qo defined in Eq. 57, Eq. 58, or Eq. 59, and at the
  • next step 16005 the actual child nodes C k except are assigned values Q k
  • Step 16006 follows
  • step 16005 invokes the method 7000 at step 7005 (skipping step 7001) to select among the child nodes Co, ..., C m a set of context nodes.
  • the method 16000 resumes at decision step 16010 where a check is made to determine if the fictitious child node Co has been selected as a context node. If so then execution continues at step 16020 where Co is excluded as a context node. The method 16000 subsequently terminates at step 16015. If the test at 16010 fails, then the method 16000 proceeds directly to the termination step 16015.
  • r > 1 and hence s > 1
  • Method 17000 begins at step 17001 where each child node C k , 1 ⁇ k ⁇ r is
  • Step 17005 follows in
  • step 17015 where
  • the remaining child nodes are also selected as context nodes. If more than one child node
  • step 17030 at which point if all child nodes C k have been selected as context nodes then
  • the method 17000 terminates at step 17040. If however there are one or more child nodes
  • step 17035 a check is made to ascertain whether S > T/2 and if so the
  • step 17020 where more nodes are selected as context nodes.
  • the method 18000 begins at decision step 18005 where a check is made to determine
  • step 18015 where the method 20000 is invoked, otherwise it proceeds to step 18010 where
  • the method 19000 is invoked, h either case, the method 20000 or 19000 returns with a
  • the method 19000 begins at step 19001 where the method 10000 is invoked to
  • Yi is the root node of a possible context tree.
  • the method 10000 also computes a value
  • a node Yj determined in the previous step is selected for processing.
  • step 19010 method 38000 which is a sub-process within method 19000 is invoked to
  • step 19030 where a context tree is constructed comprising all identified context nodes and
  • the tree is assigned a score of Sj computed at step 19001.
  • method 19000 then proceeds to decision step 19035. If all nodes Yj obtained at
  • step 19001 have been processed, then the method ends at step 19040, otherwise it returns
  • step 19005 to process another node Yj.
  • the method 38000 invoked within method 19000 begins at step 38010 where node Yj is first assigned to Pj. Execution proceeds to the decision step 38015 and then to step 38020 if P j does not lie on the directed path from Y ; to the hit node X. At step 38020,
  • the method 13000 is invoked to select among the child nodes of Pj a set of context nodes.
  • step 38025 the method 38000 is recursively invoked at step 38020
  • Method 38000 also proceeds directly to the termination step
  • the decision step 38015 succeeds if Pj lies on the directed path from Yj to X, in
  • step 38045 executions proceeds to step 38045.
  • the method 14000 is invoked to
  • step 38015 skipping step 38010 for each non-leaf child node C k
  • method 38000 terminates at step 38040.
  • the method 20000 begins at step 20001 where the method 12000 is invoked to
  • Each Yj is the root node of a possible context tree.
  • the method 12000 also computes
  • step 20005 where a node Yj determined in the previous step is selected for processing.
  • method 39000 which is a sub-process within method 20000 is invoked to identify context nodes in the subtree rooted at node Yi.
  • step 20060 where a context tree is constructed comprising all identified context nodes and with Yj as the root node. The free is assigned a score of Sj computed at step 20001.
  • the method 20000 then proceeds to decision step 20065. If all nodes Yj obtained at step 20001 have been processed, then the method ends at step 20070, otherwise it returns to step 20005 to process another node Yj.
  • the method 39000 invoked within method 19000 begins at step 39010 where node Yi is first assigned to P j . Execution proceeds to the decision step 39015 and then to step 39020 if there are no hit nodes in the sub-tree root at Pj. At step 39020, the method 13000 is invoked to select among the child nodes of Pj a set of context nodes. At the subsequent step 39025, the method 39000 is recursively invoked at step 39020
  • method 39000 terminates at step 39060.
  • Method 39000 also proceeds directly to the termination step 39060 if Pj has no child nodes, or if none of its non-leaf child nodes have been selected as context nodes at step 39020.
  • the decision step 39015 succeeds if there is one or more hit nodes within the subtree rooted at Pj, in which case execution proceeds to another decision step 39030. If there is only a single hit node in the sub-tree under Pj then this decision step fails and execution
  • step 39035 a test is made to determine whether all hit nodes under Pj are located under only one of its child nodes. If so, then execution proceeds to step 39045, otherwise it proceeds to step 39050.
  • step 39050 with C ⁇ , ..., C r denoting the child nodes of P j under which one or more hit nodes reside, the method 17000 is invoked to select among
  • step 39045 then the method 16000 is invoked to select among the child nodes of Pj a set
  • Ci being the sole child node of Pj that contains hit nodes in its sub-
  • the method 14000 is invoked to select among the
  • method 39000 terminates at step 39060.
  • the XML source comprises data relating to a

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
PCT/AU2004/001676 2003-11-28 2004-11-26 Method of constructing preferred views of hierarchical data Ceased WO2005052810A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/570,822 US7664727B2 (en) 2003-11-28 2004-11-26 Method of constructing preferred views of hierarchical data
JP2006540102A JP4637113B2 (ja) 2003-11-28 2004-11-26 階層データの好ましいビューを構築するための方法
AU2004292680A AU2004292680B2 (en) 2003-11-28 2004-11-26 Method of constructing preferred views of hierarchical data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2003906611A AU2003906611A0 (en) 2003-11-28 Method for Constructing Preferred views of Hierarchical Data
AU2003906611 2003-11-28

Publications (1)

Publication Number Publication Date
WO2005052810A1 true WO2005052810A1 (en) 2005-06-09

Family

ID=34624266

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2004/001676 Ceased WO2005052810A1 (en) 2003-11-28 2004-11-26 Method of constructing preferred views of hierarchical data

Country Status (4)

Country Link
US (1) US7664727B2 (enExample)
JP (1) JP4637113B2 (enExample)
AU (1) AU2004292680B2 (enExample)
WO (1) WO2005052810A1 (enExample)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2414833A (en) * 2004-06-01 2005-12-07 Mdl Information Systems Inc Creating dynamic hierarchies based on search queries

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7548926B2 (en) * 2005-10-05 2009-06-16 Microsoft Corporation High performance navigator for parsing inputs of a message
US8140511B2 (en) * 2006-06-12 2012-03-20 Zalag Corporation Methods and apparatuses for searching content
US8489574B2 (en) * 2006-06-12 2013-07-16 Zalag Corporation Methods and apparatuses for searching content
US9047379B2 (en) 2006-06-12 2015-06-02 Zalag Corporation Methods and apparatuses for searching content
JP4801555B2 (ja) * 2006-09-29 2011-10-26 株式会社ジャストシステム 文書処理装置、文書処理方法および文書処理プログラム
TWI330022B (en) * 2006-11-06 2010-09-01 Inst Information Industry Method and computer program product for a new node joining a peer to peer network and computer readable medium and the network thereof
US7702620B2 (en) * 2007-03-29 2010-04-20 International Business Machines Corporation System and method for ranked keyword search on graphs
US8825700B2 (en) * 2008-05-26 2014-09-02 Microsoft Corporation Paging hierarchical data
US8478712B2 (en) * 2008-11-20 2013-07-02 Motorola Solutions, Inc. Method and apparatus to facilitate using a hierarchical task model with respect to corresponding end users
CN102113404B (zh) * 2009-01-26 2014-08-27 松下电器产业株式会社 中继装置、控制方法、以及程序
US8943045B2 (en) * 2009-01-28 2015-01-27 Oracle International Corporation Mechanisms for efficient autocompletion in XML search applications
US8271472B2 (en) * 2009-02-17 2012-09-18 International Business Machines Corporation System and method for exposing both portal and web content within a single search collection
US20100299367A1 (en) * 2009-05-20 2010-11-25 Microsoft Corporation Keyword Searching On Database Views
US8676859B2 (en) * 2010-01-21 2014-03-18 Hewlett-Packard Development Company, L.P. Method and system for analyzing data stored in a database
KR101130734B1 (ko) * 2010-08-12 2012-03-28 연세대학교 산학협력단 상황 구조 생성 방법 및, 상황 구조 생성 시스템
WO2012088706A1 (zh) * 2010-12-31 2012-07-05 Xiao Yan 一种检索的方法和系统
US9002139B2 (en) 2011-02-16 2015-04-07 Adobe Systems Incorporated Methods and systems for automated image slicing
US9418178B2 (en) 2011-10-24 2016-08-16 International Business Machines Corporation Controlling a size of hierarchical visualizations through contextual search and partial rendering
JP5827874B2 (ja) * 2011-11-11 2015-12-02 株式会社ドワンゴ キーワード取得装置、コンテンツ提供システム、キーワード取得方法、プログラム及びコンテンツ提供方法
US8799269B2 (en) 2012-01-03 2014-08-05 International Business Machines Corporation Optimizing map/reduce searches by using synthetic events
US8762424B2 (en) 2012-01-25 2014-06-24 International Business Machines Corporation Generating views of subsets of nodes of a schema
US8732178B2 (en) 2012-01-25 2014-05-20 International Business Machines Corporation Using views of subsets of nodes of a schema to generate data transformation jobs to transform input files in first data formats to output files in second data formats
US8898165B2 (en) 2012-07-02 2014-11-25 International Business Machines Corporation Identification of null sets in a context-based electronic document search
US9460200B2 (en) 2012-07-02 2016-10-04 International Business Machines Corporation Activity recommendation based on a context-based electronic files search
US8903813B2 (en) 2012-07-02 2014-12-02 International Business Machines Corporation Context-based electronic document search using a synthetic event
US9262499B2 (en) 2012-08-08 2016-02-16 International Business Machines Corporation Context-based graphical database
US8959119B2 (en) * 2012-08-27 2015-02-17 International Business Machines Corporation Context-based graph-relational intersect derived database
US10169446B1 (en) * 2012-09-10 2019-01-01 Amazon Technologies, Inc. Relational modeler and renderer for non-relational data
US9619580B2 (en) 2012-09-11 2017-04-11 International Business Machines Corporation Generation of synthetic context objects
US8620958B1 (en) 2012-09-11 2013-12-31 International Business Machines Corporation Dimensionally constrained synthetic context objects database
US9251237B2 (en) 2012-09-11 2016-02-02 International Business Machines Corporation User-specific synthetic context object matching
US9223846B2 (en) 2012-09-18 2015-12-29 International Business Machines Corporation Context-based navigation through a database
US8782777B2 (en) 2012-09-27 2014-07-15 International Business Machines Corporation Use of synthetic context-based objects to secure data stores
US9741138B2 (en) 2012-10-10 2017-08-22 International Business Machines Corporation Node cluster relationships in a graph database
US10325239B2 (en) 2012-10-31 2019-06-18 United Parcel Service Of America, Inc. Systems, methods, and computer program products for a shipping application having an automated trigger term tool
US8931109B2 (en) 2012-11-19 2015-01-06 International Business Machines Corporation Context-based security screening for accessing data
US9256593B2 (en) * 2012-11-28 2016-02-09 Wal-Mart Stores, Inc. Identifying product references in user-generated content
US8983981B2 (en) 2013-01-02 2015-03-17 International Business Machines Corporation Conformed dimensional and context-based data gravity wells
US8914413B2 (en) 2013-01-02 2014-12-16 International Business Machines Corporation Context-based data gravity wells
US9229932B2 (en) 2013-01-02 2016-01-05 International Business Machines Corporation Conformed dimensional data gravity wells
US9229988B2 (en) * 2013-01-18 2016-01-05 Microsoft Technology Licensing, Llc Ranking relevant attributes of entity in structured knowledge base
US9053102B2 (en) 2013-01-31 2015-06-09 International Business Machines Corporation Generation of synthetic context frameworks for dimensionally constrained hierarchical synthetic context-based objects
US9069752B2 (en) 2013-01-31 2015-06-30 International Business Machines Corporation Measuring and displaying facets in context-based conformed dimensional data gravity wells
US8856946B2 (en) 2013-01-31 2014-10-07 International Business Machines Corporation Security filter for context-based data gravity wells
US9292506B2 (en) 2013-02-28 2016-03-22 International Business Machines Corporation Dynamic generation of demonstrative aids for a meeting
US10152526B2 (en) 2013-04-11 2018-12-11 International Business Machines Corporation Generation of synthetic context objects using bounded context objects
US9348794B2 (en) 2013-05-17 2016-05-24 International Business Machines Corporation Population of context-based data gravity wells
US9195608B2 (en) 2013-05-17 2015-11-24 International Business Machines Corporation Stored data analysis
US9547671B2 (en) 2014-01-06 2017-01-17 International Business Machines Corporation Limiting the rendering of instances of recursive elements in view output
US9594779B2 (en) 2014-01-06 2017-03-14 International Business Machines Corporation Generating a view for a schema including information on indication to transform recursive types to non-recursive structure in the schema
US20160034513A1 (en) * 2014-07-31 2016-02-04 Potix Corporation Method to filter and group tree structures while retaining their relationships
US10740304B2 (en) 2014-08-25 2020-08-11 International Business Machines Corporation Data virtualization across heterogeneous formats
US10719802B2 (en) * 2015-03-19 2020-07-21 United Parcel Service Of America, Inc. Enforcement of shipping rules
CN109121436B (zh) 2015-11-25 2022-06-21 蒂米菲尔股份有限公司 增广、探索、和维护项目分层结构的方法
US10353980B2 (en) * 2016-11-30 2019-07-16 Sap Se Client-side paging for hierarchy data structures in restful web services
WO2018214097A1 (zh) * 2017-05-25 2018-11-29 深圳大学 一种基于ksp算法的资源描述框架查询方法和系统
US11120027B2 (en) * 2017-09-06 2021-09-14 Rovi Guides, Inc. Systems and methods for identifying a category of a search term and providing search results subject to the identified category
US11281850B2 (en) * 2017-12-28 2022-03-22 A9.Com, Inc. System and method for self-filing customs entry forms
WO2022086069A1 (ko) * 2020-10-23 2022-04-28 엘지전자 주식회사 디스플레이장치 및 이의 뉴스 키워드 추천 방법
EP4533745A1 (en) * 2022-06-01 2025-04-09 Vendex Solutions, Inc. Multi-entity platform using uniform labeling of data products and services
US12248537B2 (en) 2023-05-26 2025-03-11 VendEx Solutions, Inc. Systems and methods for uniform usage rights management
CN117034865B (zh) * 2023-10-09 2024-01-16 青岛畅通市政工程设计有限公司 一种市政工程设计数据优化处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024045A2 (en) * 1999-09-29 2001-04-05 Xml-Global Technologies, Inc. Method, system, signals and media for indexing, searching and retrieving data based on context
WO2002027544A1 (en) * 2000-09-29 2002-04-04 British Telecommunications Public Limited Company Information access

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US5742738A (en) * 1988-05-20 1998-04-21 John R. Koza Simultaneous evolution of the architecture of a multi-part program to solve a problem using architecture altering operations
US7251637B1 (en) * 1993-09-20 2007-07-31 Fair Isaac Corporation Context vector generation and retrieval
US6012052A (en) * 1998-01-15 2000-01-04 Microsoft Corporation Methods and apparatus for building resource transition probability models for use in pre-fetching resources, editing resource link topology, building resource link topology templates, and collaborative filtering
AUPP603798A0 (en) 1998-09-18 1998-10-15 Canon Kabushiki Kaisha Automated image interpretation and retrieval system
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
AU2001243597A1 (en) * 2000-03-03 2001-09-17 Radiant Logic, Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
US7305399B2 (en) * 2000-03-09 2007-12-04 The Web Access, Inc. Method and apparatus for applying a parametric search methodology to a directory tree database format
AUPQ717700A0 (en) 2000-04-28 2000-05-18 Canon Kabushiki Kaisha A method of annotating an image
US8396859B2 (en) * 2000-06-26 2013-03-12 Oracle International Corporation Subject matter context search engine
US20020059204A1 (en) * 2000-07-28 2002-05-16 Harris Larry R. Distributed search system and method
US6795819B2 (en) * 2000-08-04 2004-09-21 Infoglide Corporation System and method for building and maintaining a database
US20020065857A1 (en) * 2000-10-04 2002-05-30 Zbigniew Michalewicz System and method for analysis and clustering of documents for search engine
US7099946B2 (en) 2000-11-13 2006-08-29 Canon Kabushiki Kaishsa Transferring a media browsing session from one device to a second device by transferring a session identifier and a session key to the second device
US7546334B2 (en) * 2000-11-13 2009-06-09 Digital Doors, Inc. Data security system and method with adaptive filter
US7669051B2 (en) * 2000-11-13 2010-02-23 DigitalDoors, Inc. Data security system and method with multiple independent levels of security
US7013289B2 (en) * 2001-02-21 2006-03-14 Michel Horn Global electronic commerce system
US7043716B2 (en) * 2001-06-13 2006-05-09 Arius Software Corporation System and method for multiple level architecture by use of abstract application notation
US6799184B2 (en) * 2001-06-21 2004-09-28 Sybase, Inc. Relational database system providing XML query support
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7644102B2 (en) * 2001-10-19 2010-01-05 Xerox Corporation Methods, systems, and articles of manufacture for soft hierarchical clustering of co-occurring objects
US20040234995A1 (en) * 2001-11-09 2004-11-25 Musick Eleanor M. System and method for storage and analysis of gene expression data
WO2003065175A2 (en) * 2002-02-01 2003-08-07 John Fairweather A system and method for real time interface translation
US7457810B2 (en) * 2002-05-10 2008-11-25 International Business Machines Corporation Querying markup language data sources using a relational query processor
US7574652B2 (en) 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US6986121B1 (en) * 2002-06-28 2006-01-10 Microsoft Corporation Managing code when communicating using heirarchically-structured data
US7158983B2 (en) * 2002-09-23 2007-01-02 Battelle Memorial Institute Text analysis technique
US7668885B2 (en) * 2002-09-25 2010-02-23 MindAgent, LLC System for timely delivery of personalized aggregations of, including currently-generated, knowledge
GB0304602D0 (en) * 2003-02-28 2003-04-02 Mbt Holding Ag Method and composition

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024045A2 (en) * 1999-09-29 2001-04-05 Xml-Global Technologies, Inc. Method, system, signals and media for indexing, searching and retrieving data based on context
WO2002027544A1 (en) * 2000-09-29 2002-04-04 British Telecommunications Public Limited Company Information access

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
COHEN S. ET AL.: "XSEarch: a semantic search engine for XML", PROC. 29TH INTERNATIONAL CONFERENCE ON VERY LARGE DATABASES, September 2003 (2003-09-01), Retrieved from the Internet <URL:http://www.vldb.org/conf/2003/papers/S03P02.pdf> *
FLORESCU D. ET AL.: "Integrating keyword search into XML query processing", PROC. 9TH INTERNATIONAL WORLD WIDE WEB CONFERENCE ON COMPUTER NETWORKS, 2000, pages 119 - 135, XP004304763, Retrieved from the Internet <URL:http://www.cs.cornell.edu/courses/cs732/2003sp/papers/Florescu2000.pdf> DOI: doi:10.1016/S1389-1286(00)00069-4 *
GUO L. ET AL.: "XRANK: ranked keyword search over XML documents", PROC. 2003 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, June 2003 (2003-06-01), pages 16 - 27, Retrieved from the Internet <URL:htpp://www.cs.cornell.edu/People/jai/papers/XRank.pdf> *
HRISTIDIS V. ET AL.: "Keyword proximity search on XML graphs", PROC. 19TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, March 2003 (2003-03-01), Retrieved from the Internet <URL:http://www.cs.cornell.edu/courses/cs732/2003sp/papers/Hristidis2003.pdf> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2414833A (en) * 2004-06-01 2005-12-07 Mdl Information Systems Inc Creating dynamic hierarchies based on search queries
GB2414833B (en) * 2004-06-01 2006-11-29 Mdl Information Systems Inc Methods and systems for data integration
US7912845B2 (en) 2004-06-01 2011-03-22 Symyx Software, Inc. Methods and systems for data integration

Also Published As

Publication number Publication date
JP2007519086A (ja) 2007-07-12
JP4637113B2 (ja) 2011-02-23
AU2004292680B2 (en) 2010-04-22
US7664727B2 (en) 2010-02-16
AU2004292680A1 (en) 2005-06-09
US20070073734A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
US7664727B2 (en) Method of constructing preferred views of hierarchical data
US7496568B2 (en) Efficient multifaceted search in information retrieval systems
US8229932B2 (en) Storing XML documents efficiently in an RDBMS
KR100797232B1 (ko) 계층적 데이터 지향 네비게이션 시스템 및 정보 인출 방법
US7062507B2 (en) Indexing profile for efficient and scalable XML based publish and subscribe system
US6915304B2 (en) System and method for converting an XML data structure into a relational database
US7805440B2 (en) System and method for simplifying and manipulating k-partite graphs
US8694510B2 (en) Indexing XML documents efficiently
US8566343B2 (en) Searching backward to speed up query
US8346813B2 (en) Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments
US20090106286A1 (en) Method of Hybrid Searching for Extensible Markup Language (XML) Documents
US8600942B2 (en) Systems and methods for tables of contents
US20100169311A1 (en) Approaches for the unsupervised creation of structural templates for electronic documents
US20090248707A1 (en) Site-specific information-type detection methods and systems
US20050131929A1 (en) Computer-implemented multidimensional database processing method and system
JP2004178604A (ja) 情報検索装置及びその方法
Yiu et al. Ranking spatial data by quality preferences
Yang et al. Mining frequent query patterns from XML queries
US7496571B2 (en) Method for performing information-preserving DTD schema embeddings
EP2187320A2 (en) Apparatus and method for utilizing context to resolve ambiguous queries
Bialynicka-Birula et al. Rank-sensitive data structures
Katsaros et al. Fast mining of frequent tree structures by hashing and indexing
Elmadany et al. XML summarization: A survey
Feng et al. Efficient pattern discovery for semistructured data
CN114153352A (zh) 一种移动应用图形用户界面变更的识别方法、系统及装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004292680

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2004292680

Country of ref document: AU

Date of ref document: 20041126

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 2004292680

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2006540102

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 2007073734

Country of ref document: US

Ref document number: 10570822

Country of ref document: US

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 10570822

Country of ref document: US