CN107728931A - 用于存储数据的方法和装置 - Google Patents

用于存储数据的方法和装置 Download PDF

Info

Publication number
CN107728931A
CN107728931A CN201610665593.2A CN201610665593A CN107728931A CN 107728931 A CN107728931 A CN 107728931A CN 201610665593 A CN201610665593 A CN 201610665593A CN 107728931 A CN107728931 A CN 107728931A
Authority
CN
China
Prior art keywords
attribute
specific resources
namespace
resource
property value
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.)
Pending
Application number
CN201610665593.2A
Other languages
English (en)
Inventor
张瑞国
邱巍
张佳杰
余晨
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.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to CN201610665593.2A priority Critical patent/CN107728931A/zh
Priority to EP17183020.1A priority patent/EP3282372B1/en
Priority to US15/666,617 priority patent/US10740289B2/en
Publication of CN107728931A publication Critical patent/CN107728931A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management

Landscapes

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

Abstract

本发明实施例提供了用于存储数据的方法和装置。该方法包括:接收待存储的资源描述框架RDF数据;从RDF数据中获取三元组信息,其中,三元组信息包括:该RDF数据所表示的特定资源的资源名称、特定资源的属性和特定资源的属性值;从该RDF数据中获取特定资源的资源名称所使用的第一命名空间;查找与特定资源的资源名称和第一命名空间对应的资源标识;从该RDF数据中获取特定资源的属性所使用的第二命名空间;查找与特定资源的属性和第二命名空间对应的属性标识;存储三元组信息,其中,特定资源的资源名称由资源标识来表示,特定资源的属性由属性标识来表示。可见,利用本发明实施例,能够减少对冗余数据的存储,从而能够节省存储空间。

Description

用于存储数据的方法和装置
技术领域
本发明涉及信息技术领域,尤其涉及用于存储数据的方法和装置。
背景技术
资源描述框架(Resource Description Framework,RDF)是由万维网联盟(WorldWide Web Consortium,W3C)提出的用于描述网络(WEB)资源信息的规范标准语言,也属于一种数据模型。RDF模型可用来描述网络上的任何资源和资源类型,从而为资源描述提供了一种通用的表示框架。
然而,随着RDF在各个领域的广泛应用,其数据规模也日益庞大,因此对RDF数据的存储也面临着巨大挑战。
目前,常见的RDF数据存储方法主要包括:基于文件系统、基于内存以及基于关系数据库的存储方法。但是,由于RDF数据的爆炸性增长,用户对这些海量RDF数据的存储要求也越来越高,因此对于传统存储方法的改进成为迫切的需求。
发明内容
考虑到现有技术的上述问题,本发明的实施例提供了用于存储数据的方法和装置,能够极大地减少对冗余数据的存储,从而能够节省存储空间。
一方面,根据本发明实施例的一种用于存储数据的方法,包括:接收待存储的资源描述框架RDF数据;从所述待存储的RDF数据中获取三元组信息;其中,所述三元组信息包括下述三项信息:所述待存储的RDF数据所表示的特定资源的资源名称、所述特定资源的属性和所述特定资源的属性值;从所述待存储的RDF数据中获取所述特定资源的资源名称所使用的第一命名空间;查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识;从所述待存储的RDF数据中获取所述特定资源的属性所使用的第二命名空间;查找与所述特定资源的属性和所述第二命名空间对应的属性标识;存储所述三元组信息,其中,所述特定资源的资源名称由所述资源标识来表示,所述特定资源的属性由所述属性标识来表示。
可见,通过查找资源名称和属性分别对应的资源标识和属性标识,在存储三元组信息时分别利用相应的标识来表示资源名称和属性,能够减少对冗余数据的存储,从而能够节省存储空间。
在一个实施例中,在查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识之后,存储所述三元组信息之前,所述方法还包括:若没有查找到与所述特定资源的资源名称和所述第一命名空间对应的所述资源标识,则创建与所述特定资源的资源名称和所述第一命名空间相对应的所述资源标识,并记录所述资源标识与所述特定资源的资源名称和所述第一命名空间的对应关系;和/或
在查找与所述特定资源的属性和所述第二命名空间对应的属性标识之后,存储所述三元组信息之前,所述方法还包括:若没有查找到与所述特定资源的属性和所述第二命名空间对应的所述属性标识,则创建与所述特定资源的属性和所述第二命名空间相对应的所述属性标识,并记录所述属性标识与所述特定资源的属性和所述第二命名空间的对应关系。
可见,在该实施例中,通过查找是否已经存在资源标识和/或属性标识,若不存在对应的资源标识或属性标识时,创建并记录标识。这样在后续存储RDF数据时,若有该记录的资源标识对应的资源名称,或该记录的属性标识对应的属性时,则可记录对应的标识,从而能够减少冗余数据的存储,并且节省存储空间。
在另一实施例中,在获取所述三元组信息之后,存储所述三元组信息之前,所述方法还包括:判断所述特定资源的属性值的长度是否大于预定阈值;若所述特定资源的属性值大于所述预定阈值,则查找与所述特定资源的属性值对应的属性值标识;
所述存储所述三元组信息,还包括:存储所述三元组信息,其中,所述特定资源的属性值由所述属性值标识来表示。
可见,在该实施例中,在存储三元组信息时,长度大于预定阈值的属性值通过相应的属性值标识来表示,而非直接存储其具体内容,从而能够进一步节省存储空间。
在另一实施例中,在查找与所述特定资源的属性值对应的属性值标识之后,存储所述三元组信息之前,所述方法还包括:若没有查找到与所述特定资源的属性值对应的所述属性值标识,则创建与所述特定资源的属性值相对应的所述属性值标识,并记录所述属性值标识与所述特定资源的属性值的对应关系。
可见,在该实施例中,通过查找是否已经存在属性值标识,若不存在对应的属性值标识时,创建并记录标识。这样在后续存储RDF数据时,若有该记录的属性值标识对应的属性值,则可记录对应的标识,从而能够减少冗余数据的存储,并且节省存储空间。
在另一实施例中,在接收所述待存储的RDF数据之后,所述方法还包括:确定所述待存储的RDF数据的类别;对应于存储的所述三元组信息,存储所述类别的标识信息。
可见,在该实施例中,通过存储RDF数据的类别的标识信息,在检索时,可以通过该类别的标识信息实现RDF数据的快速检索和筛选,从而能够提高查询效率。
在另一实施例中,所述查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识,包括:查找与所述第一命名空间对应的第一命名空间标识;查找与所述第一命名空间标识和所述特定资源的资源名称对应的所述资源标识;和/或
所述查找与所述特定资源的属性和所述第二命名空间对应的属性标识,包括:查找与所述第二命名空间对应的第二命名空间标识;查找与所述第二命名空间标识和所述特定资源的属性对应的所述属性标识。
可见,在该实施例中,通过相应的命名空间标识来表示资源名称和/或属性所使用的命名空间,从而能够减少冗余数据的存储,进一步节省存储空间。
另一方面,根据本发明实施例的一种用于存储数据的装置,包括:
一个接收模块,用于接收待存储的资源描述框架RDF数据;
一个获取模块,用于从所述待存储的RDF数据中获取三元组信息;其中,所述三元组信息包括下述三项信息:所述待存储的RDF数据所表示的特定资源的资源名称、所述特定资源的属性和所述特定资源的属性值;
一个存储与处理模块,用于:从所述待存储的RDF数据中获取所述特定资源的资源名称所使用的第一命名空间;查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识;从所述待存储的RDF数据中获取所述特定资源的属性所使用的第二命名空间;查找与所述特定资源的属性和所述第二命名空间对应的属性标识;存储所述三元组信息,其中,所述特定资源的资源名称由所述资源标识来表示,所述特定资源的属性由所述属性标识来表示。
可见,通过查找资源名称和属性分别对应的资源标识和属性标识,在存储三元组信息时分别利用相应的标识来表示资源名称和属性,能够减少对冗余数据的存储,从而能够节省存储空间。
在一个实施例中,所述存储与处理模块还用于:在查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识之后,存储所述三元组信息之前,若没有查找到与所述特定资源的资源名称和所述第一命名空间对应的所述资源标识,则创建所述资源标识,并且记录所述资源标识与所述特定资源的资源名称和所述第一命名空间的对应关系;和/或
若没有查找到与所述特定资源的属性和所述第二命名空间对应的所述属性标识,则创建所述属性标识,并且记录所述属性标识与所述特定资源的属性和所述第二命名空间的对应关系。
可见,在该实施例中,通过查找是否已经存在资源标识和/或属性标识,若不存在对应的资源标识或属性标识时,创建并记录标识。这样在后续存储RDF数据时,若有该记录的资源标识对应的资源名称,或该记录的属性标识对应的属性时,则可记录对应的标识,从而能够减少冗余数据的存储,并且节省存储空间。
在另一实施例中,所述存储与处理模块还用于:在所述获取模块获取所述三元组信息之后,所述存储与处理模块存储所述三元组信息之前,判断所述特定资源的属性值的长度是否大于预定阈值;若所述特定资源的属性值的长度大于所述预定阈值,则查找与所述特定资源的属性值对应的属性值标识;
所述存储与处理模块在存储所述三元组信息时具体用于:将所述特定资源的属性值由所述属性值标识来表示。
可见,在该实施例中,在存储三元组信息时,长度大于预定阈值的属性值通过相应的属性值标识来表示,而非直接存储其具体内容,从而能够进一步节省存储空间。
在另一实施例中,所述存储与处理模块还用于:在查找与所述特定资源的属性值对应的属性值标识之后,存储所述三元组信息之前,若没有查找到与所述特定资源的属性值对应的所述属性值标识,则创建所述属性值标识,并且记录所述属性值标识与所述特定资源的属性值的对应关系。
可见,在该实施例中,通过查找是否已经存在属性值标识,若不存在对应的属性值标识时,创建并记录标识。这样在后续存储RDF数据时,若有该记录的属性值标识对应的属性值,则可记录对应的标识,从而减少冗余数据的存储,并且节省存储空间。
在另一实施例中,所述存储与处理模块还用于:在所述接收模块接收所述待存储的RDF数据之后,确定所述待存储的RDF数据的类别;对应于存储的所述三元组信息,存储所述类别的标识信息。
可见,在该实施例中,通过存储RDF数据的类别的标识信息,在检索时,可以通过该类别的标识信息实现RDF数据的快速检索和筛选,从而能够提高查询效率。
在另一实施例中,所述存储与处理模块在查找与所述特定资源的资源名称和所述第一命名空间对应的所述资源标识时具体用于:查找与所述第一命名空间对应的第一命名空间标识;查找与所述第一命名空间标识和所述特定资源的资源名称对应的所述资源标识;和/或
所述存储与处理模块在查找与所述特定资源的属性和所述第二命名空间对应的所述属性标识时具体用于:查找与所述第二命名空间对应的第二命名空间标识;查找与所述第二命名空间标识和所述特定资源的属性对应的所述属性标识。
可见,在该实施例中,通过命名空间标识来表示资源名称和/或属性所使用的命名空间,从而能够减少冗余数据的存储,进一步节省存储空间。
另一方面,根据本发明实施例的一种用于存储数据的装置,包括:处理器;与所述处理器耦合的存储器,其用于存储可执行指令,所述可执行指令在被所述处理器执行时使得所述处理器执行如上所述的方法。
可见,通过利用这样的装置,能够减少对冗余数据的存储,从而能够节省存储空间。
另一方面,根据本发明实施例的一种计算机可读介质,其包括用于使计算机执行如上所述的方法的代码。
可见,通过利用这样的计算机可读介质,能够减少对冗余数据的存储,从而能够节省存储空间。
附图说明
本发明的其它特征、特点、优点和益处通过以下结合附图的详细描述将变得更加显而易见。
图1是可应用本发明实施例的场景的例子的示意图;
图2是根据本发明实施例的用于存储数据的方法的流程图;
图3A至图3C示出了根据本发明一个实施例的用于存储数据的方法的流程图;
图4示出了根据本发明实施例的各个数据库表中所包括的字段以及各个表之间的关联;
图5是根据本发明一个实施例的用于存储数据的装置的示意图;
图6是根据本发明一个实施例的用于存储数据的装置的示意图。
附图标记列表:
110:存储系统 120:数据获取设备
130:关系数据库 410:资源描述表
4101:陈述_ID 4102:模型_ID
4103:资源_ID 4104:属性_ID
4105:属性值 420:资源表
4201:资源名称 430:属性表
4301:属性 440:命名空间表
4401:命名空间_ID 4402:命名空间
450:长字符串属性值表 4501:属性值_ID
4502:属性值 510:接收模块
520:获取模块 530:存储与处理模块
610:处理器 620:存储器
具体实施方式
RDF是用于描述WEB资源信息的规范标准语言,是一种数据模型。在RDF模型中,可以用统一资源标识符(Uniform Resource Identifier,URI)来表示资源,用属性和属性值来描述资源。对资源的描述也是对资源的属性和属性值的声明,因此也被称为陈述(Statement)。陈述的基本结构为“主语(Subject)-谓语(Predicate)-宾语(Object)”三元组,也可以称为“资源(Resource)-属性(Attribute)-属性值(Attribute Value)”三元组。可见,主语即所描述的资源,谓语为资源的某个属性,宾语为该属性对应的属性值。
那么,可以理解的是,在大量三元组信息之间,可能会存在重复或者冗余信息。例如,同一资源可能具有多个属性,那么对于该资源的各条三元组信息而言,资源的名称等信息可能就是冗余的。再例如,多个资源可能采用相同的属性来描述,这样在多个资源的三元组信息之间,该属性的具体名称可能是冗余的。
然而,在现有的RDF数据存储技术中,重复存储了这样的冗余信息,从而造成存储空间的浪费。
对此,本发明实施例提供了一种改进的数据存储方案。概括而言,在本发明实施例中,从待存储的RDF数据中获取三元组信息,查找该三元组信息中所包括的资源名称和属性分别对应的资源标识和属性标识,这样在存储该三元组信息时分别利用相应的标识来表示资源名称和属性,而非直接重复地存储其具体内容,从而能够减少对冗余数据的存储,并且节省存储空间。
进一步地,在存储该三元组信息时,长度大于预定阈值的属性值通过相应的属性值标识来表示,而非直接存储其具体内容,从而能够进一步节省存储空间。
进一步地,可以对应于该RDF数据的三元组信息,来存储该RDF数据的类别的标识信息。这样,在检索时,可以通过该类别的标识信息实现RDF数据的快速检索和筛选,从而能够提高查询效率。
下面,将参照附图详细描述本发明的各个实施例。
图1是可应用本发明实施例的场景的例子的示意图。应当理解的是,图1的例子仅是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
在图1的例子中,示出了存储系统110和数据获取设备120,其中,存储系统110可以包括集中式、分布式、云存储系统等。
存储系统110和数据获取设备120可以通过有线或者无线的方式相互通信。例如,数据获取设备120可以获取待存储的RDF数据,将所获取的RDF数据发送给存储系统110。存储系统110在接收到RDF数据之后,可以对RDF数据进行存储。
存储系统110和数据获取设备120还可在同一设备中实现,该同一设备既具有数据获取的功能,也具有数据存储的功能。
可想到的是,图1所示的例子可以应用于各个领域。例如,图1所示的例子可以属于交通领域。数据获取设备120可以获取道路路口的交通状况数据。例如,数据获取设备120可以由传感器、摄像头等装置来实现。所采集的这些交通状况数据可以利用RDF模型来表示。随后,数据获取设备120可以将这些描述交通状况的RDF数据发送给存储系统110,以使得存储系统110存储这些数据。
存储系统120可以采用诸如关系数据库之类的多种类型的数据库来存储RDF数据。作为一个例子,在图1中示出了存储系统120包括关系数据库130。关系数据库130可以采用现有的关系数据库来实现,例如,Sqlserver、Oracle、MySQL等。
基于关系数据库的RDF存储方法通常可以采用多种模式:基于水平表、垂直表、属性表、混合模式等。然而,由于RDF数据的爆炸性增长,用户希望高效存储这些海量数据的同时能够尽量节省存储空间,而上述这些存储模式已经难以满足这样的需求。如上所述,在RDF数据所包括的三元组信息中,可能存在大量的冗余信息。对这样冗余信息的存储会造成存储空间的浪费。而在这些基于关系数据库的各存储模式中,并没有有效解决这一问题。
对此,本发明实施例提供了有效的解决方案。下面将结合具体实施例来详细描述本发明实施例的方案。
图2是根据本发明实施例的用于存储数据的方法的流程图。例如,图2的方法可以由图1所示的存储系统110来执行。
如图2所示,在步骤210中,接收待存储的RDF数据。
在步骤220中,从该RDF数据中获取三元组信息。其中,三元组信息包括下述三项信息:RDF数据所表示的特定资源的资源名称、特定资源的属性和特定资源的属性值。
在步骤230中,从待存储的RDF数据中获取特定资源的资源名称所使用的第一命名空间。
在步骤240中,查找与特定资源的资源名称和第一命名空间对应的资源标识。
在步骤250中,从待存储的RDF数据中获取特定资源的属性所使用的第二命名空间。
在步骤260中,查找与特定资源的属性和第二命名空间对应的属性标识。
在步骤270中,存储上述三元组信息,其中,特定资源的资源名称由资源标识来表示,特定资源的属性由属性标识来表示。
其中,资源标识和属性标识的查找可不限定先后顺序,比如:可如图2所示,先执行步骤230和步骤240,后执行步骤250和步骤260;再比如:也可先执行步骤250和步骤260,后执行步骤230和步骤240;再比如:还可以步骤250、步骤260这两个步骤和步骤230、步骤240这两个步骤同时执行。
可见,在本发明实施例中,可见,通过查找资源名称和属性分别对应的资源标识和属性标识,在存储三元组信息时分别利用相应的标识来表示资源名称和属性,能够减少对冗余数据的存储,从而能够节省存储空间。
下面将结合具体的例子来进一步描述本发明实施例的技术方案。
图3A、图3B和图3C共同示出了根据本发明一个实施例的用于存储数据的方法的流程图。例如,图3A、图3B和图3C中所示的流程可以由图1所示的存储系统110来执行。
如图3A所示,在步骤301中,接收待存储的RDF数据。
例如,结合图1的例子,存储系统110可以从数据获取设备120接收RDF数据。
在步骤302中,从所接收的RDF数据中获取三元组信息。
该RDF数据可以用于描述特定资源,那么所提取的三元组信息可以包括特定资源的资源名称、特定资源的属性和特定资源的属性值。
为了避免对该三元组信息中可能存在的冗余数据进行存储,在对三元组信息存储之前,需要针对特定资源的资源名称和属性进行一些处理。具体而言,可以确定特定资源的资源名称和属性各自对应的标识,这样在存储这两项信息时,可以利用标识来表示,而不用存储其具体内容。
步骤303至步骤307描述了针对特定资源的资源名称的处理过程,步骤308至步骤312描述了针对特定资源的属性的处理过程。
关于特定资源的资源名称的处理过程:
在步骤303中,从RDF数据中获取特定资源的资源名称所使用的第一命名空间。
在步骤304中,查找是否存在与特定资源的资源名称和第一命名空间对应的资源标识。
如果存在该资源标识,那么该过程转到步骤305。如果不存在该资源标识,那么该过程转到步骤306。
在步骤305中,如果查找到该资源标识,则获取该资源标识。
在步骤306中,如果没有查找到该资源标识,则创建与该特定资源的资源名称和第一命名空间对应的资源标识。
在步骤307中,记录所创建的资源标识与特定资源的资源名称和第一命名空间的对应关系。
关于特定资源的属性的处理过程:
在步骤308中,从RDF数据中获取特定资源的属性所使用的第二命名空间。
在步骤309中,查找是否存在于特定资源的属性和第二命名空间对应的属性标识。
如果存在该属性标识,那么该过程转到步骤310。如果不存在该属性标识,则该过程转到步骤311。
在步骤310中,如果查找到该属性标识,则获取该属性标识。
在步骤311中,如果没有查找到该属性标识,则创建与该特定资源的属性和第二命名空间对应的属性标识。
在步骤312中,记录所创建的属性标识与特定资源的属性和第二命名空间的对应关系。
从图3A中可以看出,在步骤305、306、310和311之后流程进行到步骤318。
在步骤318中,存储上述三元组信息。
由于之前的步骤已经确定了特定资源的资源标识和属性标识,因此在该步骤中,在存储这两项信息时,可以利用相应的标识来表示。由此可以看出,由于并没有重复地存储资源名称和属性的具体内容,所以能够减少冗余数据的存储,从而节省存储空间。
此外,为了进一步节省存储空间,上述命名空间也可以利用相应的命名空间标识来表示。
那么步骤304中的具体处理过程可以如下:可以首先查找与第一命名空间相对应的第一命名空间标识,然后可以查找与第一命名空间标识和资源名称对应的资源标识。
如果没有查找到第一命名空间标识,那么同样可以创建与第一命名空间相对应的命名空间标识,并且记录第一命名空间与第一命名空间标识之间的对应关系。
类似地,在步骤309中的具体处理过程也可以如下:可以首先查找与第二命名空间相对应的第二命名空间标识,然后可以查找与第二命名空间标识和属性对应的属性标识。
如果没有查找到第二命名空间标识,那么同样可以创建与第二命名空间相对应的命名空间标识,并且记录第二命名空间与第二命名空间标识之间的对应关系。
应当理解的是,第一命名空间和第二命名空间可以是相同的,也可以是不同的。
另外,由于属性值可能属于长字符串,如果重复存储长字符串会更加造成存储空间的浪费,因此为了进一步节省存储空间,可以针对特定资源的属性值进行一些相应的处理。图3A中的圆圈A表示在步骤302之后,还可执行圆圈A所对应的过程,即针对特定资源的属性值的处理过程。该过程在图3B中示出,即图3B中的步骤313至317描述了针对特定资源的属性值的处理过程。
如图3B所示,关于针对特定资源的属性值的处理过程如下:
在步骤313中,判断特定资源的属性值的长度是否大于预定阈值。
如果属性值大于预定阈值,则流程转到步骤314。
在步骤314中,查找是否存在与特定资源的属性值对应的属性值标识。
如果存在该属性值标识,则流程转到步骤315。如果不存在该属性值标识,则流程转到步骤316。
在步骤315中,获取查找到的属性值标识。
在步骤316中,由于没有查找到属性值标识,则创建与特定资源的属性值对应的属性值标识。
在步骤317中,记录所创建的属性值标识与特定资源的属性值的对应关系。
从图3B中可以看出,在步骤315或者316之后,流程转到步骤318。
此时,在步骤318中,由于特定资源的属性值的长度大于预定阈值,因此,在存储三元组信息时,属性值是由在步骤315中获取的属性值标识或者在步骤316中创建的属性值标识来表示的。
再次返回到步骤313,如果确定属性值不大于预定阈值,则流程转到步骤318。此时,在步骤318中,由于特定资源的属性值的长度不大于预定阈值,因此,在存储三元组信息时,直接对属性值进行存储,而不是利用属性值标识来表示。
从该过程可以看出,在存储属于长字符串的属性值时,利用其属性值标识来表示,而非直接存储其具体内容,能够进一步节省存储空间。
此外,在存储属性值时,还可以有另一种可选的实现方式,即不执行判断属性值长度是否大于预定阈值的操作,对于属性值直接查找对应的属性值标识,若不存在对应的属性值标识,可选地,创建属性值标识并记录创建的数据值标识与属性值的对应关系。
该可选实现方式不考虑属性值的长度,省略了判断属性值长度的步骤,对于大部分属性值长度均较长的情况,可降低存储系统110的处理负荷。
此外,从图3A中可以看出,在步骤302之后,还可执行圆圈B所对应的过程。图3C示出了转到圆圈B之后的过程。
如图3C所示,在步骤319中,确定RDF数据的类别。
例如,RDF数据的类别可以是指RDF数据的来源。比如,在交通领域中,该类别可以指示RDF数据来自于哪条道路的哪个路口,或者该类别可以指示RDF数据是雨天数据还是晴天数据等。具体划分类别的方式可以是根据实际应用环境预先定义的。
在步骤320中,对应于所存储的三元组信息,存储该类别的标识信息。
此处,类别的标识信息可以是预先定义的。
由此可以看出,在该实施例中,通过记录RDF数据的类别的标识信息,因此在存储时就记录了RDF数据的类别,在数据检索和筛选时,可通过该类别的标识信息快速地检索和筛选相应类别的RDF数据,从而能够提高查询效率。例如,在交通领域中,假设上述类别用于指示RDF数据的来源,那么可以根据预先定义的与道路A的路口a对应的标识信息,可以根据快速地查询到该路口的RDF数据。
在一个实施例中,上述提及的各个标识(Identification,ID)的类型可以是整型。在其它实施例中,这些标识的类型也可以是字符串类型。整型相对于字符串类型的优点在于存储空间小,易于检索排序,而字符串类型相对于整型来说可以自解释,更加容易理解。因此,可以根据实际需求来选择上述标识的类型,本发明实施例对此并不限定。
在另一实施例中,可以在关系数据库中存储上述三元组信息以及上述提及的各种对应关系。
另外,在步骤301中所接收的RDF数据可以是单条RDF数据的形式,也可以是包含多条RDF数据的RDF文件的形式。例如,结合图1的例子而言,数据获取设备120可以在获取一条RDF数据之后,向存储系统110发送该条RDF数据以进行存储。或者,数据获取设备120可以在获取多条RDF数据之后,将其形成RDF文件,然后将RDF文件发送给存储系统110以进行存储。本发明实施例对此并不进行限制。
应当理解的是,上述图3A至图3C中的过程序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。例如,步骤303至步骤307、步骤308至步骤312以及步骤313值步骤317之间可以是并行执行的。
另外,为了帮助本领域技术人员更好地理解本发明实施例,下面将以关系数据库为例描述本发明实施例的存储方案,但是本发明实施例并不限于此。
图4示出了根据本发明实施例的数据库表的例子。如图4所示,可以在关系数据库(例如,图1中所示的关系数据库130)中创建资源描述表(Resource Description Table)410、命名空间表(Namespace Table)420、属性表(Attribute Table)430、资源表(ResourceTable)440和长字符串属性值表(Long String Attribute Value Table)450。资源描述表410可以是主表,而命名空间表440、属性表430、资源表420和长字符串属性值表450可以是辅助表。
如图4所示,资源描述表410可以包括以下字段:陈述_ID 4101、模型_ID 4102、资源_ID 4103、属性_ID 4104、属性值4105/属性值_ID 4501。其中,陈述_ID指陈述标识,其是与每条三元组信息对应的标识。模型_ID 4102可以指RDF数据的类别的标识符,而资源_ID4103和属性_ID 4104分别指资源标识和属性标识。
资源表420可以包括以下字段:资源_ID 4103、命名空间_ID 4401和资源名称(Resource Name)4201。其中,命名空间_ID 4401表示命名空间标识。
属性表430可以包括以下字段:属性_ID 4104、命名空间_ID 4401和属性4301。
命名空间表440可以包括以下字段:命名空间_ID 4401和命名空间4402。
长字符串属性值表450可以包括以下字段:属性值_ID 4501和属性值4502。
如上所描述的,如果属性值的长度大于预定阈值,那么资源描述表410中的最下方的字段为属性值_ID 4501。而如果属性值的长度不大于预定阈值,那么该字段为属性值4105。
从图4中可以看出,各个表之间可以通过相应的标识来互相关联,从而能够有效地实现后续的查询。
下面利用表1至表5来说明上述各个表中的字段所对应的数据类型。其中,表1示出了资源描述表中的各个字段对应的数据类型,表2示出了资源表中各个字段对应的数据类型,表3示出了属性表中各个字段对应的数据类型,表4示出了命名空间表中各个字段对应的数据类型,以及表5示出了长字符串属性值表中各个字段对应的数据类型。
如表1至表5所示,陈述标识、资源标识、属性标识和属性值标识对应的数据类型可以是大整型(BIGINT),类别的标识信息(即模型_ID)和命名空间标识对应的数据类型可以是整型(INT)。
表1资源描述表
列名称 数据类型
陈述_ID BIGINT
模型_ID INT
资源_ID BIGINT
属性_ID BIGINT
属性值 任何类型
表2资源表
列名称 数据类型
资源_ID BIGINT
命名空间_ID INT
资源名称 VARchar
表3属性表
列名称 数据类型
属性_ID BIGINT
命名空间_ID INT
属性 VARchar
表4命名空间表
列名称 数据类型
命名空间_ID INT
命名空间 VARchar
表5长字符串属性值表
列名称 数据类型
属性值_ID BIGINT
属性值 LONG VARchar
此外,为了进一步帮助本领域技术人员理解本发明实施例,下面给出了具体例子。应理解,下面的例子仅是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例。
假设将待存储的RDF数据描述如下:
可见,该示例性RDF数据描述了两个资源,每个资源具有四个属性。假设这两个资源属于相同的类别,假设该类别对应的模型_ID为200001;假设两个资源分别对应的资源标识为300001和300002;假设四个属性(即,artist、country、year和web)分别对应的属性标识为400001、400002、400003和400004。假设两个资源的属性web的属性值属于长字符串,且分别具有相应的属性值标识500001和500002。另外,假设各条陈述的标识分别为100001至100008。此外,从该示例性RDF数据中可以看出,资源所使用的命名空间和属性所使用的命名空间是相同的,假设其对应的命名空间标识为600002。另外,假设该RDF数据中记载的另一命名空间的标识为600001。
那么,现在利用图4中提供的资源描述表、命名空间表、资源表、属性表和长字符串属性值表来存储该示例性RDF数据。以下表6至表10分别示出了各个表的具体内容。
表6资源描述表
陈述_ID 模型_ID 资源_ID 属性_ID 属性值
100001 200001 300001 400001 Bob Dylan
100002 200001 300001 400002 USA
100003 200001 300001 400003 1985
100004 200001 300001 400004 500001
100005 200001 300002 400001 Bonnie Tyler
100006 200001 300002 400002 UK
100007 200001 300002 400003 1988
100008 200001 300002 400004 500002
表7命名空间表
命名空间_ID 命名空间
600001 http://www.w3.org/1999/02/22-rdf-syntax-ns#
600002 http://www.recshop.fake/cd#
表8资源表
资源_ID 命名空间_ID 资源名称
300001 600002 Empire Burlesque
300002 600002 Hide your heart
表9属性表
表10长字符串属性值表
可见,通过这样的存储方法,能够极大减少冗余数据,从而节省了存储空间。
利用本发明实施例所提供的存储方案,对5,368,220条RDF数据记录进行了实验。将5,368,220条RDF数据记录转化为三元组信息,共有21,472,880条三元组信息。如果直接将这些三元组信息存储在关系数据库,存储空间为475.5M,并且查询的平均响应时间为2785ms。而如果利用本发明实施例提供的存储方案进行存储,在资源描述表中有21,472,880条记录,在命名空间表中仅有7条记录,在资源表中有5,368,220条记录,在属性表中有4条记录,在长字符串属性值表中有9256条记录。这5个表占用的存储空间为314.3M,查询的平均响应时间为3152ms。
可见,与直接存储三元组信息的方式相比,在本发明实施例提供的存储方案中,存储空间减少了33.9%,查询的平均响应时间增加了13.2%。显然,利用本发明实施例所提供的存储方案,能够极大节省存储空间。
现在参照图5,其示出了根据本发明一个实施例的用于存储数据的装置的示意图。图5所示的装置500可以利用软件、硬件(例如集成电路或DSP等)或软硬件结合的方式来实现。例如,该装置500可以位于图1所示的存储系统110中。
如图5所示,装置500可以包括一个接收模块510、一个获取模块520和一个存储与处理模块530。
接收模块510接收待存储的RDF数据。结合图1所示的例子而言,接收模块510可以从数据获取设备120接收待存储的RDF数据。例如,图1所示的例子可以属于交通领域,那么接收模块510可以从数据获取设备120接收道路路口的交通状况数据,而数据获取设备120可以由传感器、摄像头等装置来实现。
获取模块520从待存储的RDF数据中获取三元组信息,其中,该三元组信息包括下述三项信息:该RDF数据所表示的特定资源的资源名称、特定资源的属性和特定资源的属性值。存储与处理模块530用于:从待存储的RDF数据中获取特定资源的资源名称所使用的第一命名空间;查找与特定资源的资源名称和第一命名空间对应的资源标识;从待存储的RDF数据中获取特定资源的属性所使用的第二命名空间;查找与特定资源的属性和第二命名空间对应的属性标识;存储三元组信息,其中,特定资源的资源名称由资源标识来表示,特定资源的属性由属性标识来表示。
可见,通过查找资源名称和属性分别对应的资源标识和属性标识,在存储三元组信息时分别利用相应的标识来表示资源名称和属性,能够减少对冗余数据的存储,从而能够节省存储空间。
在一个实施例中,存储与处理模块530还用于:在查找与特定资源的资源名称和第一命名空间对应的资源标识之后,存储三元组信息之前,若没有查找到与特定资源的资源名称和第一命名空间对应的资源标识,则创建资源标识,并且记录资源标识与特定资源的资源名称和第一命名空间的对应关系;和/或,若没有查找到与特定资源的属性和第二命名空间对应的属性标识,则创建属性标识,并且记录属性标识与特定资源的属性和第二命名空间的对应关系。
在另一实施例中,存储与处理模块530还用于:在获取模块520获取三元组信息之后,存储与处理模块530存储三元组信息之前,判断特定资源的属性值的长度是否大于预定阈值;若特定资源的属性值的长度大于预定阈值,则查找与特定资源的属性值对应的属性值标识。
存储与处理模块530在存储三元组信息时具体用于:将特定资源的属性值由属性值标识来表示。
在另一实施例中,存储与处理模块530还用于:在查找与特定资源的属性值对应的属性值标识之后,存储三元组信息之前,若没有查找到与特定资源的属性值对应的属性值标识,则创建属性值标识,并且记录属性值标识与特定资源的属性值的对应关系。
在另一实施例中,存储与处理模块530还用于:在接收模块510接收待存储的RDF数据之后,确定待存储的RDF数据的类别;对应于存储的三元组信息,存储类别的标识信息。
在另一实施例中,存储与处理模块530在查找与特定资源的资源名称和第一命名空间对应的资源标识时具体用于:查找与第一命名空间对应的第一命名空间标识;查找与第一命名空间标识和特定资源的资源名称对应的资源标识;和/或
存储与处理模块530在查找与特定资源的属性和第二命名空间对应的属性标识时具体用于:查找与第二命名空间对应的第二命名空间标识;查找与第二命名空间标识和特定资源的属性对应的属性标识。
现在参见图6,其是根据本发明一个实施例的用于存储数据的装置的示意图。如图6所示,装置600可以包括处理器610和存储器620。存储器620可以存储可执行指令,所述可执行指令在被处理器610执行时,可以使得处理器610执行如图2以及图3A至3C中所示的流程。
应当理解的是,本发明实施例中,可以将RDF数据存储在存储器620上,也可以将RDF数据存储在与存储器620不同的存储设备上,本发明实施例对此不作限定。
本发明实施例还提供一种计算机可读介质。该计算机可读介质可以包括使得计算机执行如图2以及图3A至3C中所示的流程的代码。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,本领域技术人员从中推导出来的其它方案也在本发明的保护范围之内。

Claims (14)

1.一种用于存储数据的方法,包括:
接收待存储的资源描述框架RDF数据;
从所述待存储的RDF数据中获取三元组信息;其中,所述三元组信息包括下述三项信息:所述待存储的RDF数据所表示的特定资源的资源名称、所述特定资源的属性和所述特定资源的属性值;
从所述待存储的RDF数据中获取所述特定资源的资源名称所使用的第一命名空间;
查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识;
从所述待存储的RDF数据中获取所述特定资源的属性所使用的第二命名空间;
查找与所述特定资源的属性和所述第二命名空间对应的属性标识;
存储所述三元组信息,其中,所述特定资源的资源名称由所述资源标识来表示,所述特定资源的属性由所述属性标识来表示。
2.如权利要求1所述的方法,其特征在于,
在查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识之后,存储所述三元组信息之前,所述方法还包括:若没有查找到与所述特定资源的资源名称和所述第一命名空间对应的所述资源标识,则创建所述资源标识,并记录所述资源标识与所述特定资源的资源名称和所述第一命名空间的对应关系;和/或
在查找与所述特定资源的属性和所述第二命名空间对应的属性标识之后,存储所述三元组信息之前,所述方法还包括:若没有查找到与所述特定资源的属性和所述第二命名空间对应的所述属性标识,则创建所述属性标识,并记录所述属性标识与所述特定资源的属性和所述第二命名空间的对应关系。
3.如权利要求1或2所述的方法,其特征在于,
在获取所述三元组信息之后,存储所述三元组信息之前,所述方法还包括:
判断所述特定资源的属性值的长度是否大于预定阈值;
若所述特定资源的属性值的长度大于所述预定阈值,则查找与所述特定资源的属性值对应的属性值标识;
所述存储所述三元组信息,还包括:
存储所述三元组信息,其中,所述特定资源的属性值由所述属性值标识来表示。
4.如权利要求3所述的方法,其特征在于,在查找与所述特定资源的属性值对应的属性值标识之后,存储所述三元组信息之前,所述方法还包括:
若没有查找到与所述特定资源的属性值对应的所述属性值标识,则创建所述属性值标识,并记录所述属性值标识与所述特定资源的属性值的对应关系。
5.如权利要求1至4中任一项所述的方法,其特征在于,在接收所述待存储的RDF数据之后,所述方法还包括:
确定所述待存储的RDF数据的类别;
对应于存储的所述三元组信息,存储所述类别的标识信息。
6.如权利要求1至5中任一项所述的方法,其特征在于,
所述查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识,包括:
查找与所述第一命名空间对应的第一命名空间标识;
查找与所述第一命名空间标识和所述特定资源的资源名称对应的所述资源标识;
和/或
所述查找与所述特定资源的属性和所述第二命名空间对应的属性标识,包括:
查找与所述第二命名空间对应的第二命名空间标识;
查找与所述第二命名空间标识和所述特定资源的属性对应的所述属性标识。
7.一种用于存储数据的装置,包括:
一个接收模块(510),用于接收待存储的资源描述框架RDF数据;
一个获取模块(520),用于从所述待存储的RDF数据中获取三元组信息;其中,所述三元组信息包括下述三项信息:所述待存储的RDF数据所表示的特定资源的资源名称、所述特定资源的属性和所述特定资源的属性值;
一个存储与处理模块(530),用于:
从所述待存储的RDF数据中获取所述特定资源的资源名称所使用的第一命名空间;
查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识;
从所述待存储的RDF数据中获取所述特定资源的属性所使用的第二命名空间;
查找与所述特定资源的属性和所述第二命名空间对应的属性标识;
存储所述三元组信息,其中,所述特定资源的资源名称由所述资源标识来表示,所述特定资源的属性由所述属性标识来表示。
8.如权利要求7所述的装置,其特征在于,所述存储与处理模块(530)还用于:在查找与所述特定资源的资源名称和所述第一命名空间对应的资源标识之后,存储所述三元组信息之前,
若没有查找到与所述特定资源的资源名称和所述第一命名空间对应的所述资源标识,则创建所述资源标识,并且记录所述资源标识与所述特定资源的资源名称和所述第一命名空间的对应关系;和/或
若没有查找到与所述特定资源的属性和所述第二命名空间对应的所述属性标识,则创建所述属性标识,并且记录所述属性标识与所述特定资源的属性和所述第二命名空间的对应关系。
9.如权利要求7或8所述的装置,其特征在于,
所述存储与处理模块(530)还用于:在所述获取模块(520)获取所述三元组信息之后,所述存储与处理模块(530)存储所述三元组信息之前,判断所述特定资源的属性值的长度是否大于预定阈值;若所述特定资源的属性值的长度大于所述预定阈值,则查找与所述特定资源的属性值对应的属性值标识;
所述存储与处理模块(530)在存储所述三元组信息时具体用于:将所述特定资源的属性值由所述属性值标识来表示。
10.如权利要求9所述的装置,其特征在于,所述存储与处理模块(530)还用于:在查找与所述特定资源的属性值对应的属性值标识之后,存储所述三元组信息之前,
若没有查找到与所述特定资源的属性值对应的所述属性值标识,则创建所述属性值标识,并且记录所述属性值标识与所述特定资源的属性值的对应关系。
11.如权利要求7至10中任一项所述的装置,其特征在于,所述存储与处理模块(530)还用于:在所述接收模块(510)接收所述待存储的RDF数据之后,
确定所述待存储的RDF数据的类别;
对应于存储的所述三元组信息,存储所述类别的标识信息。
12.如权利要求7至11中任一项所述的装置,其特征在于,所述存储与处理模块(530)在查找与所述特定资源的资源名称和所述第一命名空间对应的所述资源标识时具体用于:查找与所述第一命名空间对应的第一命名空间标识;查找与所述第一命名空间标识和所述特定资源的资源名称对应的所述资源标识;和/或
所述存储与处理模块(530)在查找与所述特定资源的属性和所述第二命名空间对应的所述属性标识时具体用于:查找与所述第二命名空间对应的第二命名空间标识;查找与所述第二命名空间标识和所述特定资源的属性对应的所述属性标识。
13.一种用于存储数据的装置,包括:
处理器(610);
与所述处理器耦合的存储器(620),其用于存储可执行指令,所述可执行指令在被所述处理器(610)执行时使得所述处理器执行如权利要求1至6中任一项所述的方法。
14.一种计算机可读介质,其包括用于使计算机执行如权利要求1至6中任一项所述的方法的代码。
CN201610665593.2A 2016-08-12 2016-08-12 用于存储数据的方法和装置 Pending CN107728931A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610665593.2A CN107728931A (zh) 2016-08-12 2016-08-12 用于存储数据的方法和装置
EP17183020.1A EP3282372B1 (en) 2016-08-12 2017-07-25 Method and apparatus for storing data
US15/666,617 US10740289B2 (en) 2016-08-12 2017-08-02 Method and apparatus for storing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610665593.2A CN107728931A (zh) 2016-08-12 2016-08-12 用于存储数据的方法和装置

Publications (1)

Publication Number Publication Date
CN107728931A true CN107728931A (zh) 2018-02-23

Family

ID=59399331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610665593.2A Pending CN107728931A (zh) 2016-08-12 2016-08-12 用于存储数据的方法和装置

Country Status (3)

Country Link
US (1) US10740289B2 (zh)
EP (1) EP3282372B1 (zh)
CN (1) CN107728931A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489786A (zh) * 2019-07-04 2019-11-22 广西汽车集团有限公司 一种处理工艺资源数据模型的方法及装置
CN111339217A (zh) * 2020-02-26 2020-06-26 慧择保险经纪有限公司 一种数据处理方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100343B (zh) * 2020-08-17 2024-06-21 深圳数联天下智能科技有限公司 一种扩充知识图谱的方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120150923A1 (en) * 2007-05-10 2012-06-14 Robert Bernard Iredale Clark Processes and Systems for Monitoring Environments of Projectile Weapons
CN102999563A (zh) * 2012-11-01 2013-03-27 无锡成电科大科技发展有限公司 基于资源描述框架的网络资源语义检索方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418448B1 (en) * 1999-12-06 2002-07-09 Shyam Sundar Sarkar Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US8112424B2 (en) * 2008-03-11 2012-02-07 International Business Machines Corporation Flexible and resilient information collaboration management infrastructure
US7836119B2 (en) * 2008-04-30 2010-11-16 International Business Machines Corporation Distributed execution model for cross-organizational declarative web applications
US8078646B2 (en) * 2008-08-08 2011-12-13 Oracle International Corporation Representing and manipulating RDF data in a relational database management system
US8447786B2 (en) * 2008-10-01 2013-05-21 International Business Machines Corporation Language extensions for creating, accessing, querying and updating RDF data
US8782619B2 (en) * 2010-10-26 2014-07-15 Oracle International Corporation Extending programming language semantics while maintaining standard syntax through aliasing
US8489649B2 (en) * 2010-12-13 2013-07-16 Oracle International Corporation Extensible RDF databases
US10394862B2 (en) * 2013-02-18 2019-08-27 Nec Corporation Method and system for semantically querying a database by a machine-to-machine application
US20150172320A1 (en) * 2013-12-17 2015-06-18 Khalifa University of Science, Technology, and Research Method and devices for access control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120150923A1 (en) * 2007-05-10 2012-06-14 Robert Bernard Iredale Clark Processes and Systems for Monitoring Environments of Projectile Weapons
CN102999563A (zh) * 2012-11-01 2013-03-27 无锡成电科大科技发展有限公司 基于资源描述框架的网络资源语义检索方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
沈建通: "RDF数据在关系数据库中的表示", 《科技情报开发与经济》 *
陶承恺: "基于属性表的RDF数据存储系统研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489786A (zh) * 2019-07-04 2019-11-22 广西汽车集团有限公司 一种处理工艺资源数据模型的方法及装置
CN111339217A (zh) * 2020-02-26 2020-06-26 慧择保险经纪有限公司 一种数据处理方法及装置
CN111339217B (zh) * 2020-02-26 2023-10-27 慧择保险经纪有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
EP3282372B1 (en) 2021-09-15
US20180046638A1 (en) 2018-02-15
US10740289B2 (en) 2020-08-11
EP3282372A1 (en) 2018-02-14

Similar Documents

Publication Publication Date Title
KR101450358B1 (ko) 구조형 지리적 데이터 검색
US11030243B2 (en) Structure based storage, query, update and transfer of tree-based documents
CN101436192B (zh) 用于优化针对垂直存储式数据库的查询的方法和设备
CN106033416A (zh) 一种字符串处理方法及装置
CN114911830B (zh) 基于时序数据库的索引缓存方法、装置、设备及存储介质
CN108681603B (zh) 数据库中快速搜索树形结构数据的方法、存储介质
CN114491172B (zh) 树形结构节点的快速检索方法、装置、设备及存储介质
CN105589894B (zh) 文档索引建立方法和装置、文档检索方法和装置
US6847967B1 (en) Information set importance determination system and information set importance determination method
CN106407445A (zh) 一种基于url的非结构化数据资源标识和定位方法
CN107728931A (zh) 用于存储数据的方法和装置
CN106161193B (zh) 一种邮件处理方法、装置和系统
JP4207438B2 (ja) Xml文書格納/検索装置及びそれに用いるxml文書格納/検索方法並びにそのプログラム
JP2888188B2 (ja) 情報検索装置
CN105404677A (zh) 一种基于树形结构的检索方法
US7159171B2 (en) Structured document management system, structured document management method, search device and search method
CN110069489A (zh) 一种信息处理方法、装置、设备及计算机可读存储介质
CN108595588B (zh) 一种科学数据存储关联方法
CN105426490A (zh) 一种基于树形结构的索引方法
US10185742B2 (en) Flexible text searching for data objects of object notation
KR101592670B1 (ko) 인덱스를 이용하는 데이터 검색 장치 및 이를 이용하는 방법
CN112532414B (zh) 确定isp归属的方法、装置、设备及计算机存储介质
US11669555B2 (en) System and method of creating index
US8745035B1 (en) Multistage pipeline for feeding joined tables to a search system
JP2009104276A (ja) データ管理装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180223