CN114064843B - Rdf数据中天际线位置节点查询方法、装置和设备 - Google Patents
Rdf数据中天际线位置节点查询方法、装置和设备 Download PDFInfo
- Publication number
- CN114064843B CN114064843B CN202210026117.1A CN202210026117A CN114064843B CN 114064843 B CN114064843 B CN 114064843B CN 202210026117 A CN202210026117 A CN 202210026117A CN 114064843 B CN114064843 B CN 114064843B
- Authority
- CN
- China
- Prior art keywords
- node
- keyword
- nodes
- step number
- skyline
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
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)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种RDF数据中天际线位置节点查询方法、装置和设备,适用于计算机技术领域,查询方法包括:获取待查询的关键词序列;根据预设索引,确定关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,可达位置节点为RDF数据中可以在指定步数内到达关键词的位置节点;根据关键词序列中每个关键词对应的可达位置节点信息和步数信息确定关键词序列的天际线位置节点集。本方案通过确定关键词序列中关键词对应的天际线位置节点集,可以获取天际线位置节点集中的节点在RDF数据中对应的内容,相比于现有技术中的查询方法,确定天际线位置节点能够更好的适应不同用户的多样化搜索意图。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种RDF数据中天际线位置节点查询方法、装置和设备。
背景技术
RDF(Resource Description Framework,资源描述框架)是一个使用XML语法来表示的资料模型,用来描述Web资源的特性,及资源与资源之间的关系,其中的数据都以三元组(即Subject-Predicate-Object,主语-谓语-宾语)的形式存在,被广泛的用于web数据的管理和应用。近些年来,随着知识共享社区的不断发展,如维基百科等,以及网页提取信息的进步,产生了大量的web数据,将这些数据以RDF形式存储形成RDF数据库,进而可以将RDF数据库用于关键词查询。例如,通过将RDF数据化简,将实体作为顶点,将谓语作为有向边从主语指向谓语,再通过收集实体的URI(Uniform Resource Identifier,统一资源标识符)和文本,作为关键字添加到实体的文档中,用户只需要给出想要查询的关键字,便可以得到一组子图,其中每个子图上的点的文档合集完全覆盖查询关键字。
现有技术中,关于RDF数据进行关键词查询的方法一般是基于SKP(K-shortestpathes,K条路径最短)算法的查询,其是通过将关键词与地理位置结合的一种查询方法,其查询返回RDF数据中的语义位置,其中语义位置指以地理位置节点为根的子树,且该子树中的节点包含所有的查询关键字。
但是,现有技术中关于RDF数据进行关键词查询的方法,无法适应不同用户的多样化搜索意图。
发明内容
有鉴于此,本申请实施例提供了一种RDF数据中天际线位置节点查询方法、计算机设备和存储介质,可以解决现有技术中关于RDF数据进行关键词查询的方法,无法适应不同用户的多样化搜索意图的技术问题。
本申请实施例的第一方面提供了一种RDF数据中天际线位置节点查询方法,获取待查询的关键词序列;
根据预设索引,确定所述关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,所述可达位置节点为RDF数据中可以在指定步数内到达关键词的位置节点;
根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集。
在第一方面的一种可能的实现方式中,应理解,预设索引为预先设置好的索引,预设索引为存储关键词、关键词对应的可达位置节点信息以及可达位置节点到其对应关键词的步数信息的索引数据。
本申请实施例的第二方面提供了一种RDF数据中天际线位置节点查询装置,所述RDF数据中天际线位置节点查询装置包括:
获取模块,用于获取待查询的关键词序列;
信息确定模块,用于根据预设索引,确定所述关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,所述可达位置节点为RDF数据中可以在指定步数内到达关键词的位置节点;
天际线位置节点确定模块,用于根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集。
本申请实施例的第三方面提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述关键词查询方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述关键词查询方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本方案通过预先设置索引数据,在获取要查询的关键词序列后,可以根据预设索引确定关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,然后可以根据关键词序列中每个关键词对应的可达位置节点信息和步数信息确定关键词序列中关键词对应的天际线位置节点集,从而可以获取天际线位置节点集中的节点在RDF数据中对应的内容,相比于现有技术中的查询方法,确定天际线位置节点能够更好的适应不同用户的多样化搜索意图。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种RDF数据中天际线位置节点查询方法的应用环境示意图;
图2是本申请实施例提供的一种RDF数据中天际线位置节点查询方法的实现流程图;
图3是本申请实施例提供的一种倒排索引数据存储结构的示意图;
图4是本申请实施例提供的一种倒排索引的构建方法的实现流程图;
图5是本申请实施例提供的一种RDF数据在存储装置中存储结构的示意图;
图6是本申请实施例提供的一种所述指定数据存储结构的示意图;
图7是本申请实施例提供的一种根据关键词序列中每个关键词对应的可达位置节点信息和步数信息确定关键词序列对应的天际线位置节点集的实现流程图;
图8是本申请实施例提供的一个RDF数据图;
图9是本申请实施例提供的另一种根据关键词序列中每个关键词对应的可达位置节点信息和步数信息确定关键词序列对应的天际线位置节点集的实现流程图;
图10是本申请实施例提供的一种RDF数据中天际线位置节点查询装置的结构框图;
图11是本申请实施例提供的一种计算机设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
图1为本申请实施例提供的一种RDF数据中天际线位置节点查询方法的应用环境图,如图1所示,在该应用环境中,包括用户终端110和计算机设备120。
用户终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
计算机设备120可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。且用户终端110和计算机设备120可以通过网络进行连接,本发明在此不做限制。
如图2所示,在本申请一个实施例中,提出了一种RDF数据中天际线位置节点查询方法,本实施例主要以该方法应用于上述图1中的计算机设备120为例来举例说明。所述关键词查询方法包括:
步骤S202,获取待查询的关键词序列。
在本申请实施例中,对获取待查询的关键词序列的具体方法不做限制,例如,用户从用户终端110输入想要查询的内容,用户终端110从用户输入的内容中提取关键词序列,然后发送给计算机设备120,计算机设备120从用户终端110接收待查询的关键词序列。其中关键词序列为包括一个或多个关键词的序列,例如,用户输入的想要查询的内容为“深圳大学”,则获取的待查询的关键词序列为由关键词“深圳”和“大学”组成的序列。
步骤S204,根据预设索引,确定所述关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,所述可达位置节点为RDF数据中可以在指定步数内到达关键词的位置节点。
在本申请实施例中,预设索引为预先设置的索引数据,本实施例对预设索引的具体存储结构不做限制,例如,预设索引可以为倒排索引,倒排索引中存储有关键词、每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,其关键词、每个关键词对应的可达位置节点信息以及可达位置节点到其对应关键词的步数信息之间的对应存储结构可以如图3所示。
在本申请实施例中,对倒排索引的具体构建方式不做限制,例如,如图4所示,倒排索引的构建可以包括以下步骤:
步骤S302,获取所述RDF数据。
在本申请实施例中,本申请提供的关键词查询方法是关于RDF数据中关键词的查询,本实施例对RDF数据的具体获取方式不做限制,例如可以是从其他服务器直接读取。获取的RDF数据可以直接存储在计算机设备120的存储装置中,本实施例对RDF数据在存储装置中的具体存储结构不做限制,例如,其存储结构可以如图5所示,在图5所示的存储结构中,以RDF数据中的各节点单元为队列存储,每个节点单元中存储有该节点相关的标识信息和关联信息,其中标识信息包括该节点的类型信息、存在性标识信息等,其中节点的类型信息可以包括该节点是位置节点还是非位置节点,位置节点指包含地理位置信息的节点,当然如果该节点为位置节点,该节点的标识信息还可以包括该节点所包含的地理位置信息;其中关联信息包括该节点对应存储的关键词序列信息,以及该节点所能到达的邻居节点序列的信息,其中该节点对应存储的关键词序列中的关键词和该节点所能到达的节点可以用数字和/或字母表示。
步骤S304,以所述RDF数据中的每个位置节点为根节点,分别构建指定深度值的子树,所述指定深度值与所述指定步数的数值相等。
在本申请实施例中,对指定深度值以及指定步数值的具体数值不做限定,例如,以指定步数为3步为例说明,则指定深度值为3,RDF数据中的每个位置节点均可以为根节点,然后根据每个根节点分别构建最大深度值为3的子树,该子树中的子节点不一定为位置节点,且RDF数据中可能部分位置节点为根节点构建子树时,其最大深度值并不能达到指定深度值,则该部分子树的深度可以为其所能构建的最大深度值。
步骤S306,将所述子树对应的子树数据按照指定数据存储结构存储,得到存储数据;所述指定数据存储结构以子树单元为队列存储,每个所述子树单元存储有所述子树的根节点信息、所述子树中的位置节点信息以及所述子树中每层深度节点对应关键词信息。
在本申请实施例中,指定数据存储结构可以如图6所示,子树单元指以每个子树的数据为数据单元,如图6中,一个子树单元包括根节点,例如“节点0”;“位置节点信息”即该子树中所有位置节点的信息,当然包括根节点在内,例如“位置节点信息”的具体内容可以为“节点0、1、2、……、k”;“每层的关键词信息”即指该子树中每层深度节点对应的关键词信息,以指定深度值为3为例说明,则一颗深度为3的子树包含4层深度节点,可以分别划分为L0层、L1层、L2层以及L3层,每一层对应存储该层的关键词信息。同时,其中第i(i=0,1,2,3)层可以表示该层的所有位置结点距离根节点的步数为i,相当于同时存储了子树中所有位置节点到该子树根节点的步数信息。
步骤S308,根据所述存储数据,构建所述倒排索引。
在本申请实施例中,上一步骤得到的存储数据中包括了所有子树中每层深度节点对应的关键词,以及该子树的根节点达到该关键词词的步数,由于子树的构建是以每个位置节点为根节点,相当于根据所述存储数据可以获知位置节点在步数3以内能够达到的关键词信息,反过来,我们可以通过所述存储数据获知某一个关键词可以被哪几个位置节点在3步以内达到,从而可以以关键词为索引键,3步以内可以达到该关键的位置节点为索引内容,得到倒排索引列表,倒排索引的存储结构如图3所示,每个关键词后面对应的“位置节点”为该关键词对应的可达位置节点,对应的“步数”为每个可达位置节点达到该关键词的步数信息。
步骤S206,根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集。
在本申请实施例中,天际线(skyline)位置节点集即多个天际线位置节点构成的集合,关键词序列对应的天际线位置节点集中的节点对于关键词序列中的每个关键词均可达。本实施例对根据关键词序列中每个关键词对应的可达位置节点信息和步数信息确定关键词序列对应的天际线位置节点集的方法不做限制,例如,如图7所示,步骤S206具体可以包括以下步骤:
步骤S402,根据每个关键词对应的所述可达位置节点信息和所述步数信息,确定每个关键词对应的不可被支配位置节点。
在本申请实施例中,以图8所示的RDF数据图为例说明,该图中P1、P2、P3、P4为位置节点,v1、v2、v3、v4、v5为非位置节点,W1、W2、W3、W4、W5、W6、W7为其中节点对应的关键词,如下表1所示,为位置节点P1、P2、P3分别到达关键词W4和W7的步数信息,其中对于到达关键词W7的位置节点中,P3的步数最少,则关键词W7对应的不可被支配位置节点为P3;再如,关键词序列为(W4,W7),表1中位置节点P1到达关键词W4和W7的步数都大于位置节点P2到达两个关键词的步数,位置节点P2支配位置节点P1,而下表中没有一个位置节点到达两个关键词的步数均小于位置节点P2、P3到达两个关键词的步数,所以P2和P3为不可被支配的位置节点,P2和P3均为关键词序列(W4,W7)的天际线位置节点。
表1
在本申请实施例中,所述步数信息为可达位置节点到达其对应关键词的步数,当已知每个关键词对应的可达位置节点信息和每个可达位置节点到达其关键词的步数,通过对比可达位置节点到达一个关键词的步数可以确定该关键词对应的不可被支配位置节点。
步骤S404,判断每个不可被支配位置节点是否可以到达所述关键词序列中每个关键词。
在本申请实施例中,由于关键词序列对应的天际线位置节点集中的节点对于关键词序列中的每个关键词均可达,所以需要判断上一步骤中每个关键词对应的不可被支配位置节点是否可以到达所述关键词序列中每个关键词。
在本申请实施例中,对判断每个不可被支配位置节点是否可以到达关键词序列中每个关键词的具体实现方法不做限制,例如,可以使用TF-Label(TF标签)算法,该算法为已有技术,关于利用该算法判断的具体过程此处不再展开赘述。
步骤S406,当不可被支配位置节点可以到达所述关键词序列中的每个关键词,则将不可被支配节点加入天际线位置节点集。
在本申请实施例中,通过步骤S404可以从每个关键词对应的不可被支配位置节点中筛选出可以到达关键词序列中每个关键词位置节点,则可以确定出天际线位置节点集。
在本申请实施例中,在构建倒排索引时,倒排索引存储结构中每个关键词后面还可以对应存储该关键词所在子树的根节点是否为该子树所有节点中到达该关键词最近节点的信息,进而可以直筛选出是最近节点的一些根节点,然后判断筛选出的这些根节点中可以到达关键词序列中每个关键词的根节点,最后将这些根节点加入天际线位置节点集中。
本申请实施例提供的一种RDF数据中天际线位置节点查询方法,通过预先设置索引数据,在获取要查询的关键词序列后,可以根据预设索引确定关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,然后可以根据关键词序列中每个关键词对应的可达位置节点信息和步数信息确定关键词序列中关键词对应的天际线位置节点集,从而可以获取天际线位置节点集中的节点在RDF数据中对应的内容,相比于现有技术中的查询方法,确定天际线位置节点能够更好的适应不同用户的多样化搜索意图。
如图9所示,在本申请的另一实施例中,根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集,还包括:
步骤S502,根据每个关键词对应的所述可达位置节点信息和所述步数信息,确定每个关键词对应的可被支配位置节点,将可被支配位置节点加入候选节点集。
在本申请实施例中,每个关键词对应的可被支配位置节点可以通过步骤S402确定,即通过步骤S402筛选出每个关键词对应的不可被支配位置节点后,将剩余的每个关键词对应的可被支配位置节点加入候选节点集。
在本申请实施例中,当构建倒排索引时,倒排索引存储结构中每个关键词后面还对应存储该关键词所在子树的根节点是否为该子树所有节点中到达该关键词最近节点的信息,当筛选加入天际线位置节点集中的节点时是通过直筛选出是最近节点的一些根节点,然后对这些最近的根节点做进一步处理筛选出天际线位置节点集中的节点,对应的,加入候选节点集中的节点可以直接是筛选出不是最近的根节点加入候选节点集中。
步骤S504,根据每个所述可被支配位置节点到达所述关键词序列中每个关键词的步数信息,将候选节点集中节点分成若干节点组。
在本申请实施例中,对根据每个所述可被支配位置节点到达所述关键词序列中每个关键词的步数信息,将候选节点集中节点分成若干节点组的具体分组方法不做限制,例如,可以先根据所述预设索引,判断每个可被支配位置节点到达关键词序列中每个关键词的可达性是否已知;当可被支配位置节点到达关键词序列中一个或多个关键词的可达性未知,将可达性未知对应的步数信息指定为指定步数,从而确定每个可被支配位置节点到达所述关键词序列中每个关键词的步数信息;最后将到达关键词序列中每个关键词的步数信息相同的可被支配位置节点加入到同一节点组,例如一个位置节点到关键词序列中各个关键词的步数分别为(l1,l2,l3,......,l(n)),如果另一个位置节点到各个关键词的步数也为(l1,l2,l3,......,l(n)),则它们归为同一组,即同一组的位置节点到各个关键词拥有相同的步数。其中由于预设索引中存储有每个关键词对应的可达位置节点信息以及可达位置节点到达该关键词的步数信息,所以可以通过判断关键词序列中每个关键词的可达位置节点中是否包含该可被支配位置节点,即可判断每个可被支配位置节点到达关键词序列中每个关键词的可达性,从而到达关键词序列中一个或多个关键词的可达性未知时直接将可达性未知对应的步数信息指定为指定步数,这样避免计算每个可被支配位置节点到达关键词序列中每个关键词的可达性以及具体到达步数,简化计算步骤。
步骤S506,从每个节点组中选择一个节点,并将该节点分别与所述天际线位置节点集中的各节点进行支配比较,当该节点可以被所述天际线位置节点集中的任一节点支配,则从所述候选节点集删除该节点所在节点组中的所有节点。
在本申请实施例中,对从每个节点组中选择一个节点的具体选择规则不做限制,例如,可以选择每个节点组排在第一个的节点与天际线位置节点集中的各节点进行支配比较,当该节点可以被天际线位置节点组中的任何一个节点所支配,则从候选节点集中删除该节点所在节点组中的所有节点。
步骤S508,将所述候选节点集中的节点之间做支配比较,确定所述候选节点集中不可被支配的节点。
在本申请实施例中,将候选节点集中节点之间做支配比较是指将经过上一步骤删除部分节点后剩余的候选节点中的节点之间做支配比较,以进一步对候选节点集中的节点进行筛选。
步骤S510,将所述候选节点集中不可被支配的节点加入所述天际线位置节点集。
本申请实施例提供的一种RDF数据中天际线位置节点查询方法,在确定天际线位置节点集时,通过将每个关键词对应的可被支配位置节点加入候选节点集,进一步再在候选节点集中筛选不可被支配的位置节点加入天际线位置节点集中,进一步增加了关键词查询时,返回结果的多样性。
在本申请的另一个实施例中,在所述将所述候选节点集中的节点之间做支配比较,确定所述候选节点集中不可被支配的节点,之前,所述根据所述可达位置节点信息和所述步数信息确定天际线位置节点集,还包括:
步骤S5071,获取所述节点组中每个节点在所述指定步数内的位置节点。
在本申请实施例中,步骤S5071在步骤S506之后,该步骤中的节点组为经过步骤S506筛选之后剩余的节点组。
在本申请实施例中,可选地,也可以预先设置一个索引列表,索引列表中存储有各位置节点的信息以及各位置节点在指定步数以内可以到达的位置节点,进而可以直接根据该索引列表获取节点组中每个节点在指定步数内的位置节点。
步骤S5072,判断所述指定步数内的位置节点是否可支配该节点。
在本申请实施例中,例如,节点组中节点一个节点Q0在指定步数内的位置节点有Q1、Q2和Q3,判断指定步数内的位置节点是否可支配该节点即指判断位置节点Q1、Q2和Q3是否可支配节点Q0。
步骤S5073,当该节点可以被所述指定步数内的位置节点支配,则从所述候选节点集删除该节点所在节点组中的所有节点。
在本申请实施例中,节点组中的每个节点均为位置节点,所述子树的构建是每个位置节点均为根节点,所以每个节点组中的节点均为所述子树的根节点,对于节点组中每个根节点,通过获取每个根节点对应子树中所有指定步数内的位置节点,然后判断这些位置节点是否可以支配该根节点,保留不可以被支配的根节点对应的节点组中的节点,从而完成对候选集中的节点进一步的筛选。
本申请实施例提供的一种RDF数据中天际线位置节点查询方法,在将所述候选节点集中的节点之间做支配比较,确定候选节点集中不可被支配的节点之前,通过步骤S5071、步骤S5072和步骤S5073,相当于使候选节点集的数据在经过步骤S506的筛选后又进一步进行了一轮筛选。
在本申请的另一实施例中,可选的,在所述将所述候选节点集中的节点之间做支配比较,确定所述候选节点集中不可被支配的节点之前,所述根据所述可达位置节点信息和所述步数信息确定天际线位置节点集,还包括:
步骤S5074,分别从每个所述节点组中选择一个节点,并将选择出的节点之间做支配比较。
在本申请实施例中,对分别从每个节点组中选择一个节点的具体选择规则不做限制,例如,依然可以是在每个节点组中选择排列在第一个的节点,将各节点组选择出的节点之间做支配比较。
步骤S5075,确定选择出的节点中可被支配的节点,从所述候选节点集删除该可被支配节点所在节点组中的所有节点。
在本申请实施例中,可选的,步骤S5074和步骤S5075可以在经过步骤S5071、步骤S5072和步骤S5073的筛选之后执行,相当于候选集的数据经过步骤S506的一轮筛选后,再经过步骤S5071、步骤S5072和步骤S5073的第二轮筛选,最后经过步骤S5074和S5075的第三轮筛选,将过三轮筛选后候选集中剩余的节点之间做支配比较,确定候选节点集中不可被支配的节点,最后将候选节点集中不可被支配的节点加入天际线位置节点集。
本申请实施例提供的一种RDF数据中天际线位置节点查询方法,通过将候选节点集中的位置节点经过三轮筛选,将剩余的位置节点做支配比较后,进一步选出不可被支配的位置节点加入到天际线位置节点集中,即保障了位置节点全面性,又保障了位置节点的有效性,有效提高关键词查询结果的效果。
对应于上文实施例的方法,图10示出了本申请实施例提供的RDF数据中天际线位置节点查询装置的结构框图,为了便于说明,仅示出了与本申请实施例相关部分。图10示例的RDF数据中天际线位置节点查询装置可以是前述实施例提供的关键词查询方法的执行主体。该RDF数据中天际线位置节点查询装置可以集成于上述计算机设备120上。
如图10所示,该RDF数据中天际线位置节点查询装置包括:获取模块610、信息确定模块620以及天际线位置节点确定模块630。
获取模块610,用于获取待查询的关键词序列;
信息确定模块620,用于根据预设索引,确定所述关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,所述可达位置节点为RDF数据中可以在指定步数内到达关键词的位置节点;
天际线位置节点确定模块630,用于根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集。
本申请实施例提供的RDF数据中天际线位置节点查询装置,所包含的获取模块610、信息确定模块620以及天际线位置节点确定模块630的功能实现与上文的关键词查询方法中的步骤S202、步骤S204、步骤S206一一对应,对于该RDF数据中天际线位置节点查询装置中的具体解释,以及相关细化、优化的内容参见上文关键词查询方法中的具体实施例,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本申请实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的关键词查询方法应用在图1中的计算机设备上,该计算机设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对计算机设备的具体类型不作任何限制。
例如,所述计算机设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的移动终端或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的移动终端等。
作为示例而非限定,当所述计算机设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
图11是本申请一实施例提供的计算机设备的结构示意图。如图11所示,该实施例的计算机设备7包括:至少一个处理器70(图10中仅示出一个)、存储器71,所述存储器71中存储有可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个关键词查询方法实施例中的步骤,例如图2所示的步骤S202至步骤S206。或者所述处理器70执行所述计算机程序72时实现上述RDF数据中天际线位置节点查询装置实施例中各模块功能,例如,图10所示,获取模块610、信息确定模块620以及天际线位置节点确定模块630的功能。
所述计算机设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图10仅仅是计算机设备7的示例,并不构成对计算机设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入发送设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述计算机设备7的内部存储单元,例如计算机设备7的硬盘或内存。所述存储器71也可以是所述计算机设备7的外部存储设备,例如所述计算机设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述计算机设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经发送或者将要发送的数据。
本申请实施例还提供了一种计算机设备,所述计算机设备包括至少一个存储器、至少一个处理器以及存储在所述至少一个存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使所述计算机设备实现上述任意各个关键词查询方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个关键词查询方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述各个关键词查询方法实施例中的步骤。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (8)
1.一种RDF数据中天际线位置节点查询方法,其特征在于,所述查询方法包括:
获取待查询的关键词序列;
根据预设索引,确定所述关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,所述可达位置节点为所述RDF数据中可以在指定步数内到达关键词的位置节点,所述预设索引为倒排索引,所述倒排索引中存储有关键词以及每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息;
根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集;
所述根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集,包括:
根据每个关键词对应的所述可达位置节点信息和所述步数信息,确定每个关键词对应的不可被支配位置节点;
判断每个不可被支配位置节点是否可以到达所述关键词序列中每个关键词;
当不可被支配位置节点可以到达所述关键词序列中的每个关键词,则将不可被支配节点加入天际线位置节点集;
根据每个关键词对应的所述可达位置节点信息和所述步数信息,确定每个关键词对应的可被支配位置节点,将可被支配位置节点加入候选节点集;
根据每个所述可被支配位置节点到达所述关键词序列中每个关键词的步数信息,将候选节点集中节点分成若干节点组;
从每个节点组中选择一个节点,并将该节点分别与所述天际线位置节点集中的各节点进行支配比较,当该节点可以被所述天际线位置节点集中的任一节点支配,则从所述候选节点集删除该节点所在节点组中的所有节点;
将所述候选节点集中的节点之间做支配比较,确定所述候选节点集中不可被支配的节点;
将所述候选节点集中不可被支配的节点加入所述天际线位置节点集。
2.根据权利要求1所述的一种RDF数据中天际线位置节点查询方法,其特征在于,所述倒排索引的构建,包括:
获取所述RDF数据;
以所述RDF数据中的每个位置节点为根节点,分别构建指定深度值的子树,所述指定深度值与所述指定步数的数值相等;
将所述子树对应的子树数据按照指定数据存储结构存储,得到存储数据;所述指定数据存储结构以子树单元为队列存储,每个所述子树单元存储有所述子树的根节点信息、所述子树中的位置节点信息以及所述子树中每层深度节点对应关键词信息;
根据所述存储数据,构建所述倒排索引。
3.根据权利要求1所述的一种RDF数据中天际线位置节点查询方法,其特征在于,在所述将所述候选节点集中的节点之间做支配比较,确定所述候选节点集中不可被支配的节点之前,所述根据所述可达位置节点信息和所述步数信息确定天际线位置节点集,还包括:
获取所述节点组中每个节点在所述指定步数内的位置节点;
判断所述指定步数内的位置节点是否可支配该节点;
当该节点可以被所述指定步数内的位置节点支配,则从所述候选节点集删除该节点所在节点组中的所有节点。
4.根据权利要求1或3所述的一种RDF数据中天际线位置节点查询方法,其特征在于,在所述将所述候选节点集中的节点之间做支配比较,确定所述候选节点集中不可被支配的节点之前,所述根据所述可达位置节点信息和所述步数信息确定天际线位置节点集,还包括:
分别从每个所述节点组中选择一个节点,并将选择出的节点之间做支配比较;
确定选择出的节点中可被支配的节点,从所述候选节点集删除该可被支配节点所在节点组中的所有节点。
5.根据权利要求1所述的一种RDF数据中天际线位置节点查询方法,其特征在于,根据每个所述可被支配位置节点到达所述关键词序列中每个关键词的步数信息,将候选节点集中节点分成若干节点组,包括:
根据所述预设索引,判断每个所述可被支配位置节点到达所述关键词序列中每个关键词的可达性是否已知;
当所述可被支配位置节点到达所述关键词序列中一个或多个关键词的可达性未知,将可达性未知对应的步数信息指定为所述指定步数,从而确定每个所述可被支配位置节点到达所述关键词序列中每个关键词的步数信息;
将到达所述关键词序列中每个关键词的步数信息相同的所述可被支配位置节点加入同一节点组。
6.一种RDF数据中天际线位置节点查询装置,其特征在于,所述RDF数据中天际线位置节点查询装置包括:
获取模块,用于获取待查询的关键词序列;
信息确定模块,用于根据预设索引,确定所述关键词序列中每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息,所述可达位置节点为RDF数据中可以在指定步数内到达关键词的位置节点,所述预设索引为倒排索引,所述倒排索引中存储有关键词以及每个关键词对应的可达位置节点信息和可达位置节点到其对应关键词的步数信息;
天际线位置节点确定模块,用于根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集;
所述根据所述关键词序列中每个关键词对应的可达位置节点信息和所述步数信息确定所述关键词序列对应的天际线位置节点集,包括:
根据每个关键词对应的所述可达位置节点信息和所述步数信息,确定每个关键词对应的不可被支配位置节点;
判断每个不可被支配位置节点是否可以到达所述关键词序列中每个关键词;
当不可被支配位置节点可以到达所述关键词序列中的每个关键词,则将不可被支配节点加入天际线位置节点集;
根据每个关键词对应的所述可达位置节点信息和所述步数信息,确定每个关键词对应的可被支配位置节点,将可被支配位置节点加入候选节点集;
根据每个所述可被支配位置节点到达所述关键词序列中每个关键词的步数信息,将候选节点集中节点分成若干节点组;
从每个节点组中选择一个节点,并将该节点分别与所述天际线位置节点集中的各节点进行支配比较,当该节点可以被所述天际线位置节点集中的任一节点支配,则从所述候选节点集删除该节点所在节点组中的所有节点;
将所述候选节点集中的节点之间做支配比较,确定所述候选节点集中不可被支配的节点;
将所述候选节点集中不可被支配的节点加入所述天际线位置节点集。
7.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至5中任一项权利要求所述查询方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至5中任一项权利要求所述查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210026117.1A CN114064843B (zh) | 2022-01-11 | 2022-01-11 | Rdf数据中天际线位置节点查询方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210026117.1A CN114064843B (zh) | 2022-01-11 | 2022-01-11 | Rdf数据中天际线位置节点查询方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114064843A CN114064843A (zh) | 2022-02-18 |
CN114064843B true CN114064843B (zh) | 2022-05-17 |
Family
ID=80230776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210026117.1A Active CN114064843B (zh) | 2022-01-11 | 2022-01-11 | Rdf数据中天际线位置节点查询方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064843B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115879151B (zh) * | 2022-12-07 | 2023-08-01 | 中国人民解放军国防科技大学 | 一种敏感数据隐私保护的天际线查询方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649489A (zh) * | 2016-09-28 | 2017-05-10 | 南京航空航天大学 | 一种地理文本信息数据中的连续skyline查询处理机制 |
CN106933844A (zh) * | 2015-12-30 | 2017-07-07 | 中国科学院深圳先进技术研究院 | 面向大规模rdf数据的可达性查询索引的构建方法 |
CN108052514A (zh) * | 2017-10-12 | 2018-05-18 | 南京航空航天大学 | 一种处理地理文本Skyline查询的混合空间索引机制 |
CN110245151A (zh) * | 2019-05-30 | 2019-09-17 | 湖南大学 | 数据点组查询方法、装置、计算机设备和存储介质 |
CN110263108A (zh) * | 2019-05-10 | 2019-09-20 | 南京航空航天大学 | 一种基于道路网的关键词Skyline模糊查询方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043323B2 (en) * | 2011-08-22 | 2015-05-26 | Nokia Corporation | Method and apparatus for providing search with contextual processing |
KR101554569B1 (ko) * | 2014-01-28 | 2015-09-22 | 서울대학교산학협력단 | 스카이라인 질의 시스템 및 방법 |
CN106446227A (zh) * | 2016-09-30 | 2017-02-22 | 南京航空航天大学 | 一种结合加权Voronoi图索引的多偏好有序路径Skyline查询处理机制 |
CN110334252B (zh) * | 2019-07-10 | 2022-04-12 | 大连海事大学 | 一种偏序域上的skyline查询方法 |
-
2022
- 2022-01-11 CN CN202210026117.1A patent/CN114064843B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933844A (zh) * | 2015-12-30 | 2017-07-07 | 中国科学院深圳先进技术研究院 | 面向大规模rdf数据的可达性查询索引的构建方法 |
CN106649489A (zh) * | 2016-09-28 | 2017-05-10 | 南京航空航天大学 | 一种地理文本信息数据中的连续skyline查询处理机制 |
CN108052514A (zh) * | 2017-10-12 | 2018-05-18 | 南京航空航天大学 | 一种处理地理文本Skyline查询的混合空间索引机制 |
CN110263108A (zh) * | 2019-05-10 | 2019-09-20 | 南京航空航天大学 | 一种基于道路网的关键词Skyline模糊查询方法及系统 |
CN110245151A (zh) * | 2019-05-30 | 2019-09-17 | 湖南大学 | 数据点组查询方法、装置、计算机设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
Skyline queries over possibilistic RDF data;Amna Abidi等;《International Journal of Approximate Reasoning》;20180223;第93卷;277-289 * |
Textually Relevant Spatial Skylines;Jieming Shi 等;《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》;20160101;第28卷(第1期);224-237 * |
分布式计算环境下海量RDF数据的skyline查询研究;李青;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20160215(第02期);I139-239 * |
Also Published As
Publication number | Publication date |
---|---|
CN114064843A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Costa-Montenegro et al. | Which App? A recommender system of applications in markets: Implementation of the service for monitoring users’ interaction | |
Mashal et al. | Testing and evaluating recommendation algorithms in internet of things | |
US9477787B2 (en) | Method and apparatus for information clustering based on predictive social graphs | |
CN104079640B (zh) | 一种用户服务提供方法及系统 | |
CN103069421A (zh) | 用于处理针对分区式索引的搜索请求的方法和装置 | |
CN103703460A (zh) | 用于针对实时推荐的协同过滤的方法和装置 | |
CN111339406B (zh) | 个性化推荐方法、装置、设备及存储介质 | |
CN111639253B (zh) | 一种数据判重方法、装置、设备及存储介质 | |
CN108028768A (zh) | 通过近距离通信安装应用程序版本的方法和系统 | |
CN111291258A (zh) | 搜索热词的推荐方法、装置、电子设备及可读介质 | |
CN111476595A (zh) | 产品推送方法、装置、计算机设备和存储介质 | |
CN112907334A (zh) | 一种对象推荐方法及装置 | |
CN113807926A (zh) | 推荐信息生成方法、装置、电子设备和计算机可读介质 | |
CN114064843B (zh) | Rdf数据中天际线位置节点查询方法、装置和设备 | |
CN110399564B (zh) | 帐号分类方法和装置、存储介质及电子装置 | |
Long | Improved Personalized Recommendation Algorithm Based on Context‐Aware in Mobile Computing Environment | |
CN110457598A (zh) | 用户查找方法、用于用户查找的装置和计算机可读介质 | |
CN111814044A (zh) | 一种推荐方法、装置、终端设备及存储介质 | |
CN111382365A (zh) | 用于输出信息的方法和装置 | |
CN105242965A (zh) | 一种云计算方法、云服务器及终端 | |
Zanda et al. | A social network activity recommender system for ubiquitous devices | |
CN110968769A (zh) | 用于推送信息、展示信息的方法和设备 | |
CN113191840A (zh) | 物品信息显示方法、装置、电子设备和计算机可读介质 | |
CN113762535A (zh) | 一种物品召回方法和装置 | |
CN113360745A (zh) | 一种数据对象推荐方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |