基于数据质量的主题数据集多层分面过滤方法与系统与流程

文档序号:12748094阅读:696来源:国知局
基于数据质量的主题数据集多层分面过滤方法与系统与流程
本发明属于数据集搜索与分面过滤、Web数据目录与元数据、数据质量管理等领域的交叉
技术领域
,涉及一种基于数据质量的数据集分面过滤技术,尤其是一种基于数据质量的主题数据集多层分面过滤方法与系统。
背景技术
:数据是当今世界能创造巨大价值的重要资源,而万维网(WorldWideWeb,简称Web)已成为数据发布、使用、消费的主流平台。各种持有大量数据集(dataset)的数据目录(datacatalog/catalogue)在Web上集中发布,形成一个个所谓的数据目录门户(datacatalogportal)或简称为数据门户(dataportal)。有的开放数据(opendata)目录门户中的数据集是供数据消费者(通常称为“用户”)免费使用的,如:包括2009年5月始启用的美国政府开放数据门户DATA.GOV(https://www.data.gov)和2012年12月始启用的欧盟开放数据门户(http://data.europa.eu)在内的全球数十个国家或地区及其所辖省市的数百个开放政府(opengovernment)数据门户;有的数据目录门户已成为基于Web的在线数据交易集市,如:国外的DataShop.biz(http://www.datashop.biz/)和国内的数据堂(http://datatang.com/)。虽然数据目录门户为用户寻找数据资源提供了前所未有的新机会,但是数据目录往往持有大量数据集的事实使用户面临了一种新的信息/选择过载(information/choiceoverload)难题。例如,DATA.GOV数据门户截止2016年8月9日在其数据目录中发布了Agriculture(农业)、Business(商务)、Climate(气候)、Consumer(消费者)、Ecosystems(生态系统)、Education(教育)、Energy(能源)、Finance(金融)、Health(卫生保健)、LocalGovernment(地方政府)、Manufacturing(制造业)、Ocean(海洋)、PublicSafety(公共安全)、Science&Research(科学与研究)共14个主题领域的185,989个数据集,用户很难通过浏览某个主题领域寻找到合适的数据集。为解决此类难题,用户只能借助于数据目录门户提供的数据集主题搜索(topicalsearch)和分面过滤(facetedfiltering)技术。一般来说,用户在数据目录中搜寻满足其特定“数据需求”的数据集的过程通常从该用户的兴趣主题(topicofinterest)出发,首先使用检索关键词(keywords)通过数据目录门户提供的数据集搜索引擎对整个数据目录的或用户选定的某个主题领域的数据集的元数据(metadataaboutdatasets)进行主题搜索,然后在搜索结果数据集即所谓的主题数据集(topicaldatasets)清单中直接浏览选择数据集,或借助数据目录门户提供的对搜索结果数据集的分面过滤手段来进一步筛选“中意的”数据集。当前数据门户,即使是代表最高技术发展水平的数据门户(如:美国政府和欧盟的开放数据门户),仅提供了功能上有限的数据集主题搜索和分面过滤技术手段:无论数据目录门户是否采用最为先进的语义(semantic)元数据,数据集搜索引擎通过简单的关键词匹配或先进的语义匹配后返回的结果数据集(即主题数据集)通常只能按主题相关度(relevance)、数据集名称、数据集发布/更新日期、数据集的用户浏览次数即流行度(popularity)等进行排序;搜索结果数据集的再过滤技术手段也仅有按数据集的类型、数据格式、发布机构等的简单分面过滤。总之,现有的(主题)数据集分面过滤技术由于忽视了数据质量(dataquality)这个重要的数据特性,不能完整地体现用户的“数据需求”,从而未帮助用户很好解决上述信息/选择过载难题。用户的兴趣主题固然对用户搜寻数据资源很重要,但数据质量是用户选用数据资源时的一个关键考虑因素。正如《ISO/IEC25012数据质量模型》国际标准的技术文档中所言:“dataquality[referstothe]degreetowhichthecharacteristicsofdatasatisfystatedandimpliedneedswhenusedunderspecifiedconditions.(“数据质量是指数据在指定条件下使用时数据的特性对明确的和隐含的需求的一种满足程度”)...dataqualityisakeycomponentofthequalityandusefulnessofinformationderivedfromthatdata,andmostbusinessprocessesdependonthequalityofdata.Acommonprerequisitetoallinformationtechnologyprojectsisthequalityofthedatawhichareexchanged,processedandusedbetweenthecomputersystemsandusersandamongcomputersystemsthemselves.(数据质量是源于该数据的信息的质量和有用性的一个关键要素,大多数业务流程取决于数据的质量;所有信息技术项目的一个共同先决条件是在计算机系统和用户之间以及计算机系统本身之间交换、处理和使用的数据的质量)”(摘自:ISO/IEC25012:2008,Softwareengineering–SystemsproductQualityRequirementsandEvaluation(SQuaRE)–Dataqualitymodel.InternationalStandardbytheJointTechnicalCommitteeISO/IECJTC1oftheInternationalOrganizationforStandardization(ISO)andtheInternationalElectrotechnicalCommission(IEC),12/01/2008.http://www.iso.org/iso/catalogue_detail.htm?csnumber=35736或http://iso25000.com/index.php/en/iso-25000-standards/iso-25012);专门制定万维网技术标准与规范的万维网联盟(WorldWideWebConsortium,简称W3C)近期颁布的《Web数据最佳实践》规范中也强调:“Thequalityofadatasetcanhaveabigimpactonthequalityofapplicationsthatuseit.Asaconsequence,theinclusionofdataqualityinformationindatapublishingandconsumptionpipelinesisofprimaryimportance.(数据集的质量会对使用数据集的应用的质量产生很大影响,因此,在数据发布和消费管道中包含数据质量信息是最为重要的。)...Dataqualitymightseriouslyaffectthesuitabilityofdataforspecificapplications...Documentingdataqualitysignificantlyeasestheprocessofdatasetselection,increasingthechancesofreuse.(数据质量可严重影响数据对特定应用的适用性...记载数据质量可显著简化用户选用数据集的过程,增加数据被复用的机会。)”(摘自:DataontheWebBestPractices.W3CRecommendation,2016.https://www.w3.org/TR/dwbp/[2016-8-14访问])。由此可见,很有必要将数据集搜索与分面过滤、Web数据目录与元数据、数据质量管理等领域的最新技术进行有机组合,发明一种基于数据质量的数据集分面过滤技术解决方案。这样的技术解决方案不仅克服了现有技术的缺陷(即:数据集分面过滤技术忽视数据质量这个数据的关键要素),而且必将取得预料不到的技术效果(即:用户可从数据质量角度来选用数据资源)。尽管数据质量管理不是一个新课题,数据目录的技术研发和工业实践也已历时多年,但是,现有技术存在以上缺陷是有原因的:前些年,数据目录技术与元数据领域尚未有效引入数据质量管理技术。近年来,由于数据目录技术的长足进步,尤其是由于本体、RDF(ResourceDescriptionFramework,资源描述框架)(参见:RDF1.1ConceptsandAbstractSyntax.W3CRecommendation,25February2014.https://www.w3.org/TR/rdf11-concepts/)及RDF数据的SPARQL查询语言(参见:SPARQL1.1Overview.W3CRecommendation,21March2013.https://www.w3.org/TR/sparql11-overview/)等语义网(SemanticWeb)技术开始成功应用于数据目录与元数据领域,Web数据目录的技术基础设施已今非昔比。这为克服以上技术缺陷、为用户解决一直渴望的“从数据质量角度来选用数据资源”的技术难题提供了希望和契机。为了有利于理解本发明技术方案的
背景技术
,下面对数据目录与元数据领域的最新技术进步进行简介。(1)DCAT——《数据目录词汇》标准(参见:DataCatalogVocabulary(DCAT).W3CRecommendation,16January2014.https://www.w3.org/TR/vocab-dcat/):W3C于2014年颁布的DCAT(数据目录词汇)是一种RDF词汇,用于来描述数据目录(使用dcat:Catalog类)、数据集(使用dcat:Dataset类)、数据目录本身和数据集的描述性元数据(descriptivemetadata)的属性(如:dct:title,dct:description,dcat:theme,dcat:keyword,dct:publisher,dct:issued,dct:modified,等)以及数据集的访问元数据(accessmetadata)的属性(如:dct:fromat,dcat:accessURL,dcat:downloadURL,等)。DCAT将数据目录定义为数据集元数据的一个有组织集合;将数据集定义为由单个主体(agent)在数据目录中发布的、可以一种或多种格式来访问或下载的一个数据集合。DCAT并不限定数据集的组织方式,数据集可以不是关联数据(linkeddata)。DCAT是一种机器可读的(machine-readable)元数据,有利于提高数据目录之间的互操作性,便于应用程序消费来自多个数据目录的元数据;通过使用DCAT来描述数据目录中的数据集,可提高数据集的可发现性。目前DCAT已有许多实现与应用(参见:https://www.w3.org/2011/gld/wiki/DCAT_Implementations),一些最高技术水平的数据门户(包括美国政府和欧盟的开放数据门户)已采用/改用DCAT来描述其数据目录与数据集。(2)DWBP——《Web数据最佳实践》技术标准(参见:DataontheWebBestPractices.W3CRecommendation,2016.https://www.w3.org/TR/dwbp/):W3C于2013年底启动的Web数据最佳实践(DWBP)工作组旨在通过制定一系列最佳实践技术规范和标准化词汇来指导数据发布者、促进数据的发现和复用、提升数据发布者和消费者之间的互动,帮助发展Web数据生态系统;该工作组计划于2016年完成技术规范和标准的制订工作。DWBP(Web数据最佳实践)技术标准规定,数据的Web发布必须遵循Web体系结构原理,并使用标准化词汇和国际标准为数据目录和数据集提供机器可读的元数据,包括使用DCAT、数据质量词汇(DataQualityVocabulary,DQV)和数据集使用词汇(DatasetUsageVocabulary,DUV)等。遵循这些最佳实践规范将促进数据发布者和消费者之间的有效沟通与互动,增加双方之间的相互信任。该技术标准尤其规定数据发布者必须以数据质量元数据(dataqualitymetadata)的形式提供关于数据集的数据质量信息。(3)DQV——《数据质量词汇》技术规范(参见:DataontheWebBestPractices:DataQualityVocabulary.W3CTechnicalReport,2016.https://www.w3.org/TR/vocab-dqv/):DQV(数据质量词汇)是W3C的Web数据最佳实践(DWBP)工作组制定的关于数据集质量的技术规范。作为DCAT的扩充,DQV是一种RDF词汇,用来建模与表达数据目录中数据集的数据质量。W3C的DWBP工作组认为“qualityliesintheeyeofthebeholder...thereisnoobjective,idealdefinitionofit.(数据质量的好坏是一种观察者的个人看法...没有完全客观的、理想的质量定义)”;DQV将数据质量定义为“‘fitnessforuse’foraspecificapplicationorusecase(数据对特定应用或用例的使用适合度)”,因此,不限于数据发布者,认证机构、数据整合商和消费者(即用户)都可以对数据集做出自己的质量评价(qualityassessment)。DQV引入属性dqv:hasQualityMetadata来描述数据集(作为dcat:Dataset类的实例)的质量元数据(作为dqv:QualityMetadata类的实例);作为对数据集的质量评价结果,DQV引入属性dqv:hasQualityMeasurement(或其逆属性dqv:computedOn)来表达针对某个数据集的具体质量度量(作为dqv:QualityMeasurement类的实例),具体质量度量以质量度量名称-度量值(即名-值对)的形式来表示。进一步地,DQV采用抽象的质量度量层次结构(hierarchicalstructureofqualitymeasurements)来组织对全体数据集的所有质量评价结果,这样的层次结构称为数据质量的层次模型(hierarchicalqualitymodel)。在该层次模型中,用属性dqv:inMeasurementOf来描述一个质量度量使用哪个质量度量指标(作为dqv:Metric类的实例),用属性dqv:inDemension来进一步描述一个质量度量指标属于哪个质量维(作为dqv:Demension类的实例),用属性dqv:inCategory来进一步描述一个质量维属于哪个质量类别(作为dqv:Category类的实例)。由此可见,DQV采用的数据质量模型是一种三层(质量类别-质量维-质量度量指标)抽象模型。在数据质量管理领域,三层数据质量层次模型是一种典型的、标准化的数据质量模型。尽管各种标准化组织或专业领域或国民经济行业所定义的通用的(generic/general)或领域特定的(domain-specific)数据质量模型中可能使用不同的层名称(英文),但是,自顶向下地,数据质量模型的三个层的名称和含义依次为:第一层:质量类别(qualitycategory/perspective/characteristic):质量类别是质量模型中的一种抽象实体,用来系统化地组织质量维;一个质量类别代表一组质量维,即一个质量类别可包含多个具有相似质量特性的质量维,而一个质量维通常仅属于一个质量类别。第二层:质量维(qualitydimensions/cluster/sub-characteristic):质量维是质量模型中的一种抽象实体,用来系统化地组织质量度量指标;一个质量维代表一组质量度量指标,即一个质量维可包含多个具有相似质量子特性的质量度量指标,而一个质量度量指标通常仅属于一个质量维。第三层:质量度量指标(qualitymetric/measurementprocedure/indicator):质量度量指标是质量模型中的一种抽象实体,用来系统化地组织具体的质量度量;一个质量度量指标代表一组质量度量,这些质量度量使用同一个质量度量指标来计算质量度量值,而一个具体质量度量仅使用一个质量度量指标。质量度量值可以是数值型(numeric)的,也可以是布尔型(boolean)的。不同的标准化组织或专业领域所定义的通用或领域特定的数据质量模型可能采用不同的层次模型,但是,它们的共性是数据质量模型的层次结构都是上述三层。举例如下:前文所述的ISO/IEC25012数据质量模型是一个极其通用(verygeneral)的数据质量层次模型,其中定义了15个质量维,这些质量维进一步归属于3个质量类别;由于该国际标准是为所有计算机软件应用所制定的,其数据质量模型中没有为每个质量维定义质量度量指标,特意留待特定领域的软件应用定义自己的质量度量指标。Zaveri等人为关联数据质量评价
技术领域
提出的数据质量模型(参见:AmrapaliZaveri,AnisaRula,AndreaMaurino,RicardoPietrobon,JensLehmann,Auer.QualityassessmentforLinkedData:ASurvey.SemanticWeb,vol.7,no.1,pp.63-93,2016)中定义了69个质量度量指标,这些质量度量指标进一步归属于18个质量维,这些质量维进一步归属于4个质量类别。Radulovic等人提出的关联数据质量模型(LDQM)(参见:F.Radulovic,N.Mihindukulasooriya,R.García-Castro,andA.Gómez-Pérez.AcomprehensivequalitymodelforLinkedData.SubmissiontoSemanticWeb,anIOSPressJournal,2016.http://www.semantic-web-journal.net/content/comprehensive-quality-model-linked-data-0或http://delicias.dia.fi.upm.es/LDQM)以上述通用的ISO/IEC25012数据质量模型和Zaveri等人提出的数据质量模型为基础,定义了124个质量度量指标,这些质量度量指标进一步归属于15个质量维,这些质量维进一步归属于2个质量类别。正如W3C的《数据质量词汇(DQV)》技术规范中所言,所有标准化组织或专业领域或国民经济行业所定义的通用的或领域特定的数据质量模型(包括其子集或改编)都可以用DQV进行落地(grounding)表示,用于特定的数据目录门户。DQV技术规范文档中给出了将上述ISO/IEC25012数据质量模型和Zaveri等人提出的数据质量模型用DQV来表示的例子,其基本方法是将数据质量模型中的质量类别表示为dqv:Category类的实例、将该质量类别所包含的质量维表示为dqv:Demension类的实例、将该质量维所包含的质量度量指标表示为dqv:Metric类的实例。这样表示三层数据质量层次模型后,使用某个质量度量指标对某个数据集进行质量评价后产生的质量度量就可表示为dqv:QualityMeasurement类的实例。综上所述,数据目录与元数据
技术领域
有效引入数据质量管理技术后,用户一直渴望的“从数据质量角度来选用数据资源”的技术难题就有望得到解决。虽然上述W3C《数据质量词汇(DQV)》技术规范刚刚制定,数据目录门户工业界目前(指本发明专利申请时)尚未运用DQV,但是,运用DQV必定是数据目录门户的技术发展趋势。技术实现要素:本发明所要解决的技术问题是提供一种能对数据目录门户的主题搜索结果数据集(即主题数据集)进行基于数据质量的多层分面过滤的方法与系统,从而克服现有主题数据集过滤技术忽视数据质量的弊端,方便用户筛选出符合其特定数据质量要求的主题数据集。为解决上述技术问题,本发明是通过以下技术方案实现的:根据本发明的一个方面,提供了一种基于数据质量的主题数据集多层分面过滤方法,包括如下步骤:S1:根据数据目录中数据集质量元数据构建并存储一个数据质量分面分类层次;S2:根据数据质量分面分类层次和用户搜索数据目录所产生的主题数据集物化出一个特定主题的数据质量分面分类层次,并将其树形结构在人机交互界面中进行可视化;S3:根据用户在上述树形结构中选择的数据质量分面对主题数据集进行基于数据质量的过滤,并按用户选定的方式对过滤结果进行排序;S4:在人机交互界面中输出过滤并排序后的主题数据集信息。在该方法中,所述步骤S1进一步包括以下步骤:S11:根据数据目录中数据集质量元数据构建一个数据质量分面分类层次H;S12:持久存储已构建的数据质量分面分类层次H。在该方法中,所述步骤S11进一步包括以下步骤:S111:定义一个与三层数据质量层次模型相对应的数据质量分面分类层次H,具体包括:该数据质量分面分类层次是一种具有依次包含关系的三层结构:第一层是质量类别层,其中的每个质量类别有一个名称,并通过指针来指向质量维层中若干个质量维以表明该质量类别包含这些质量维的关系,第二层是质量维层,其中的每个质量维有一个名称,并通过指针来指向质量度量指标层中若干个质量度量指标以表明该质量维包含这些质量度量指标的关系,第三层是质量度量指标层,其中的每个质量度量指标有一个名称,在数据目录门户的实际应用中,一个质量度量指标可用于对若干个数据集进行质量度量,一个数据集可在若干个质量度量指标上有质量度量,并且,一个数据集在某个质量度量指标上可有若干个质量度量,每个质量度量以质量度量名-值对的形式存在;在上述数据质量分面分类层次中,每个数据质量分面,即:每个具体的质量类别、质量维或质量度量指标,都将按以下方式来记录拥有与其相关的质量度量的所有数据集的标识信息:每个具体的质量度量指标都将记录在该质量度量指标上有质量度量的所有数据集的标识符,每个具体的质量维都将记录在它包含的全部质量度量指标上有质量度量的所有数据集的标识符,并将这样的数据集简称为“在该质量维下有质量度量的数据集”,类似地,每个具体的质量类别都将记录在它包含的全部质量维所包含的全部质量度量指标上有质量度量的所有数据集的标识符,并将这样的数据集简称为“在该质量类别下有质量度量的数据集”;进一步地,上述数据质量分面分类层次H的数据结构用数学符号描述如下:一个数据质量分面分类层次是一个三元组H=(C,D,M),其中,C是质量类别的线性表,D是质量维的线性表的集合,M是质量度量指标的线性表的集合;质量类别的线性表C=(C1,C2,…,Cl),其中,l为该线性表的长度,每个元素Ci,i=1,2,…,l是一个质量类别,包含三个数据项:质量类别的名称Ci.Name,在该质量类别下有质量度量的数据集标识符的线性表Ci.ListOfDatasetIDs,指向该质量类别所包含的质量维的线性表Di的指针Ci.Pointer;Ci所指向的质量维的线性表Di=(Di1,Di2,…,Dim),其中,m为该线性表的长度,每个元素Dij,j=1,2,…,m是一个质量维,包含三个数据项:质量维的名称Dij.Name,在该质量维下有质量度量的数据集标识符的线性表Dij.ListOfDatasetIDs,指向该质量维所包含的质量度量指标的线性表Mij的指针Dij.Pointer;Dij所指向的质量度量指标的线性表Mij=(Mij1,Mij2,…,Mijn),其中,n为该线性表的长度,每个元素Mijk,k=1,2,…,n是一个质量度量指标,包含两个数据项:质量度量指标的名称Mijk.Name,在该质量度量指标上有质量度量的数据集标识符的线性表Mijk.ListOfDatasetIDs,这些数据集在该质量度量指标上可有若干个质量度量,每个质量度量以质量度量名-值对的形式存在;S112:从数据目录中获取所有数据集的质量元数据,将其中的质量类别、质量维、质量度量指标的名称及相互包含关系相应地赋值至上述数据质量分面分类层次,各层中全部的数据集标识符的线性表均暂置为空。在该方法中,所述步骤S2进一步包括以下步骤:S21:从数据目录门户的数据集搜索引擎获取用户搜索数据目录所搜索到的主题数据集,若搜索结果为空则终止处理,否则据此形成一个主题数据集标识符的线性表TopicalDatasetIDs;S22:读取已构建并存储的数据质量分面分类层次H;S23:根据主题数据集标识符的线性表TopicalDatasetIDs来物化已读取的数据质量分面分类层次H,以产生一个特定主题的数据质量分面分类层次S24:将特定主题的数据质量分面分类层次的树形结构在人机交互界面中进行可视化。在该方法中,所述步骤S23进一步包括以下步骤:S231:从数据目录中获取主题数据集标识符的线性表TopicalDatasetIDs中所有数据集的质量元数据;S232:根据所获取的质量元数据来物化数据质量分面分类层次H的质量度量指标层,以产生特定主题的数据质量分面分类层次的质量度量指标层,具体包括:首先,对数据质量分面分类层次H中的每个质量度量指标Mijk,若质量元数据中使用了该质量度量指标进行质量度量,则将其作为特定主题的数据质量分面分类层次中的一个质量度量指标然后,对中每一个这样的质量度量指标从主题数据集标识符的线性表TopicalDatasetIDs中找出在该质量度量指标上有质量度量的所有主题数据集,将这些主题数据集的标识符赋值给在该质量度量指标上有质量度量的主题数据集标识符的线性表并将该线性表中的每个主题数据集在该质量度量指标上的所有质量度量的名-值对存储于相应的集合其中1≤t≤线性表的长度;S233:根据特定主题的数据质量分面分类层次的质量度量指标层来进一步物化数据质量分面分类层次H的质量维层,以产生特定主题的数据质量分面分类层次的质量维层,具体包括:首先,根据特定主题的数据质量分面分类层次中已存在的全部质量度量指标来确定数据质量分面分类层次H中包含这些质量度量指标的各个质量维,将它们作为特定主题的数据质量分面分类层次中的各个质量维,然后,对中每个这样的质量维通过指针所指向的线性表来找出该质量维所包含的所有质量度量指标,并将全部x个在这些质量度量指标上有质量度量的主题数据集标识符的线性表1≤k≤x进行去除重复元素的合并后,赋值给在该质量维下有质量度量的主题数据集标识符的线性表即:D^ij.ListOfDatasetIDs=M^ij1.ListOfDatasetIDs∪...∪M^ijx.ListOfDatasetIDs;]]>S234:根据特定主题的数据质量分面分类层次的质量维层来进一步物化数据质量分面分类层次H的质量类别层,以产生特定主题的数据质量分面分类层次的质量类别层,具体包括:首先,根据特定主题的数据质量分面分类层次中已存在的全部质量维来确定数据质量分面分类层次H中包含这些质量维的各个质量类别,将它们作为特定主题的数据质量分面分类层次中的各个质量类别,然后,对中每个这样的质量类别通过指针所指向的线性表来找出该质量类别所包含的所有质量维,并将全部y个在这些质量维下有质量度量的主题数据集标识符的线性表1≤j≤y进行去除重复元素的合并后,赋值给在该质量类别下有质量度量的主题数据集标识符的线性表即:C^i.ListOfDatasetIDs=D^i1.ListOfDatasetIDs∪...∪D^iy.ListOfDatasetIDs.]]>在该方法中,所述步骤S3进一步包括以下步骤:S31:根据用户在人机交互界中的上述树形结构中选择的一个用于过滤的数据质量分面,产生过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs,具体包括:若用户在上述树形结构中选择的数据质量分面是一个质量类别则将在该质量类别下有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;若用户在上述树形结构中选择的数据质量分面是一个质量维则将在该质量维下有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;若用户在上述树形结构中选择的数据质量分面是一个质量度量指标则将在该质量度量指标上有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;S32:按用户在人机交互界中选定的排序方式对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的主题数据集进行排序,产生过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs,具体包括:若用户选择的数据质量分面是一个质量度量指标则在人机交互界中向用户提供对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的主题数据集按质量度量值进行排序的选项:让用户选择在该质量度量指标上的若干个质量度量中使用哪个质量度量作为排序依据,并选择升序或降序的排序方式,排序时,数值型质量度量值直接比较大小,布尔型质量度量值的比较方式为假小于真,即false<true;若用户选择的数据质量分面是一个质量维或质量类别则让用户在数据目录门户现有的搜索结果排序方式中选择一种方式对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的数据集进行排序;将上述两种情况之一的排序结果赋值给过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs。在该方法中,所述步骤S4进一步包括以下步骤:S41:从数据目录中获取过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs中所有主题数据集的部分描述性元数据和部分访问元数据;S42:将已获取的上述元数据按过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs中的主题数据集顺序在人机交互界面中依次呈现,若上述用于过滤的数据质量分面是一个质量度量指标,则同时呈现各主题数据集在该质量度量指标上的用于排序的质量度量值。根据本发明的另一个方面,还提供了一种基于数据质量的主题数据集多层分面过滤系统,包括:数据质量分面分类层次的构建并存储模块、数据质量分面分类层次的物化和可视化模块、基于数据质量的数据集过滤模块、主题数据集过滤并排序结果的输出模块、人机交互界面,其中:所述数据质量分面分类层次的构建并存储模块用于实现本发明方法中的步骤S1:根据数据目录中数据集质量元数据构建并存储一个数据质量分面分类层次;所述数据质量分面分类层次的物化和可视化模块用于实现本发明方法中的步骤S2:根据数据质量分面分类层次和用户搜索数据目录所产生的主题数据集物化出一个特定主题的数据质量分面分类层次,并将其树形结构在人机交互界面中进行可视化;所述基于数据质量的数据集过滤模块用于实现本发明方法中的步骤S3:根据用户在上述树形结构中选择的数据质量分面对主题数据集进行基于数据质量的过滤,并按用户选定的方式对过滤结果进行排序;所述主题数据集过滤并排序结果的输出模块用于实现本发明方法中的步骤S4:在人机交互界面中输出过滤并排序后的主题数据集信息;所述人机交互界面用于实现用户与该系统之间的人机交互,包括:用户在该界面中输入数据集搜索主题、系统在该界面中将一个特定主题的数据质量分面分类层次的树形结构进行可视化、用户在上述可视化的树形结构中选择一个用于过滤的数据质量分面并选定主题数据集的排序方式、系统在该界面中呈现过滤并排序后的主题数据集信息。本发明的有益效果主要包括三个方面:(1)本发明克服了现有搜索结果数据集分面过滤技术忽视数据质量的弊端;(2)本发明通过将数据集Web发布与消费领域中的数据目录及其元数据技术与标准、数据质量管理领域中的数据质量层次模型技术与标准、Web搜索与信息过滤领域中的分面浏览与过滤方法与技术等进行有机组合,在功能上彼此相互支持,形成了一种对数据目录门户搜索结果数据集(即主题数据集)进行基于数据质量的多层分面过滤的全新方法与系统,从而方便用户筛选出符合其特定数据质量要求的主题数据集,增加数据被消费的机会,促进数据生态系统的健康发展;(3)本发明充分利用了Web数据集的数据质量模型与词汇最新技术标准所带来的独特技术效果,实现了对主题数据集进行基于数据质量的多层分面过滤,代表了数据目录门户技术的必然发展趋势。下面结合附图对本发明的具体实施方式作进一步的描述。本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明图1是根据本发明技术方案的基于数据质量的主题数据集多层分面过滤方法的步骤流程图;图2是根据本发明技术方案的基于数据质量的主题数据集多层分面过滤方法中物化前、后的数据质量分面分类层次的数据结构示意图,其中,顶部框中图案部分为物化前的数据结构示意,全图中粗线框图案部分为物化后的数据结构示意;图3是根据本发明技术方案的基于数据质量的主题数据集多层分面过滤系统的体系结构与处理流程图,图中符号遵循国家标准GB1526-89(等同于国际标准ISO5807-1985);图4是本发明的一个优选的具体实施例中构建物化前、后的数据质量分面分类层次所依据的数据质量层次模型及相关的主要本体类及其关系;图5是本发明的一个优选的具体实施例中基于数据质量的主题数据集多层分面过滤系统(原型)输出数据集过滤结果的人机交互界面截屏。具体实施方式下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的概念、对象、要素等或具有相同或类似功能的概念、对象、要素等。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本
技术领域
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域及相关领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。为便于查阅,表1列出了本发明技术方案统一使用的数学符号与公式及它们的含义。表1:统一使用的数学符号与公式及其含义为了解决上述技术问题,本发明是通过以下技术方案实现的:根据本发明的一个方面,提供了一种基于数据质量的主题数据集多层分面过滤方法,如图1所示,包括如下步骤:S1:根据数据目录中数据集质量元数据构建并存储一个数据质量分面分类层次H,具体包括以下步骤:S11:根据数据目录中数据集质量元数据构建一个数据质量分面分类层次H,具体包括以下步骤:S111:定义一个与三层数据质量层次模型相对应的数据质量分面分类层次H,其数据结构的示意如图2中顶部框中图案部分所示,具体包括:该数据质量分面分类层次是一种具有依次包含关系的三层结构:第一层是质量类别层,其中的每个质量类别有一个名称,并通过指针来指向质量维层中若干个质量维以表明该质量类别包含这些质量维的关系,第二层是质量维层,其中的每个质量维有一个名称,并通过指针来指向质量度量指标层中若干个质量度量指标以表明该质量维包含这些质量度量指标的关系,第三层是质量度量指标层,其中的每个质量度量指标有一个名称,在数据目录门户的实际应用中,一个质量度量指标可用于对若干个数据集进行质量度量,一个数据集可在若干个质量度量指标上有质量度量,并且,一个数据集在某个质量度量指标上可有若干个质量度量,每个质量度量以质量度量名-值对的形式存在;在上述数据质量分面分类层次中,每个数据质量分面,即:每个具体的质量类别、质量维或质量度量指标,都将按以下方式来记录拥有与其相关的质量度量的所有数据集的标识信息:每个具体的质量度量指标都将记录在该质量度量指标上有质量度量的所有数据集的标识符,每个具体的质量维都将记录在它包含的全部质量度量指标上有质量度量的所有数据集的标识符,并将这样的数据集简称为“在该质量维下有质量度量的数据集”,类似地,每个具体的质量类别都将记录在它包含的全部质量维所包含的全部质量度量指标上有质量度量的所有数据集的标识符,并将这样的数据集简称为“在该质量类别下有质量度量的数据集”;进一步地,上述数据质量分面分类层次H的数据结构用数学符号描述如下:一个数据质量分面分类层次是一个三元组H=(C,D,M),其中,C是质量类别的线性表,D是质量维的线性表的集合,M是质量度量指标的线性表的集合;质量类别的线性表C=(C1,C2,…,Cl),其中,l为该线性表的长度,每个元素Ci,i=1,2,…,l是一个质量类别,包含三个数据项:质量类别的名称Ci.Name,在该质量类别下有质量度量的数据集标识符的线性表Ci.ListOfDatasetIDs,指向该质量类别所包含的质量维的线性表Di的指针Ci.Pointer;Ci所指向的质量维的线性表Di=(Di1,Di2,…,Dim),其中,m为该线性表的长度,每个元素Dij,j=1,2,…,m是一个质量维,包含三个数据项:质量维的名称Dij.Name,在该质量维下有质量度量的数据集标识符的线性表Dij.ListOfDatasetIDs,指向该质量维所包含的质量度量指标的线性表Mij的指针Dij.Pointer;Dij所指向的质量度量指标的线性表Mij=(Mij1,Mij2,…,Mijn),其中,n为该线性表的长度,每个元素Mijk,k=1,2,…,n是一个质量度量指标,包含两个数据项:质量度量指标的名称Mijk.Name,在该质量度量指标上有质量度量的数据集标识符的线性表Mijk.ListOfDatasetIDs,这些数据集在该质量度量指标上可有若干个质量度量,每个质量度量以质量度量名-值对的形式存在;S112:从数据目录中获取所有数据集的质量元数据,将其中的质量类别、质量维、质量度量指标的名称及相互包含关系相应地赋值至上述数据质量分面分类层次H,各层中全部的数据集标识符的线性表均暂置为空。S12:持久存储已构建的数据质量分面分类层次H。S2:根据数据质量分面分类层次H和用户搜索数据目录所产生的主题数据集物化出一个特定主题的数据质量分面分类层次并将其树形结构在人机交互界面中进行可视化,具体包括以下步骤:S21:从数据目录门户的数据集搜索引擎获取用户搜索数据目录所搜索到的主题数据集,若搜索结果为空则终止处理,否则据此形成一个主题数据集标识符的线性表TopicalDatasetIDs;S22:读取已构建并存储的数据质量分面分类层次H;S23:根据主题数据集标识符的线性表TopicalDatasetIDs来物化已读取的数据质量分面分类层次H,以产生一个特定主题的数据质量分面分类层次其数据结构的示意如图2中粗线框图案部分所示,具体包括以下步骤:S231:从数据目录中获取主题数据集标识符的线性表TopicalDatasetIDs中所有数据集的质量元数据;S232:根据所获取的质量元数据来物化数据质量分面分类层次H的质量度量指标层,以产生特定主题的数据质量分面分类层次的质量度量指标层,具体包括:首先,对数据质量分面分类层次H中的每个质量度量指标Mijk,若质量元数据中使用了该质量度量指标进行质量度量,则将其作为特定主题的数据质量分面分类层次中的一个质量度量指标然后,对中每一个这样的质量度量指标从主题数据集标识符的线性表TopicalDatasetIDs中找出在该质量度量指标上有质量度量的所有主题数据集,将这些主题数据集的标识符赋值给在该质量度量指标上有质量度量的主题数据集标识符的线性表并将该线性表中的每个主题数据集在该质量度量指标上的所有质量度量的名-值对存储于相应的集合其中1≤t≤线性表的长度;S233:根据特定主题的数据质量分面分类层次的质量度量指标层来进一步物化数据质量分面分类层次H的质量维层,以产生特定主题的数据质量分面分类层次的质量维层,具体包括:首先,根据特定主题的数据质量分面分类层次中已存在的全部质量度量指标来确定数据质量分面分类层次H中包含这些质量度量指标的各个质量维,将它们作为特定主题的数据质量分面分类层次中的各个质量维,然后,对中每个这样的质量维通过指针所指向的线性表来找出该质量维所包含的所有质量度量指标,并将全部x个在这些质量度量指标上有质量度量的主题数据集标识符的线性表1≤k≤x进行去除重复元素的合并后,赋值给在该质量维下有质量度量的主题数据集标识符的线性表即:D^ij.ListOfDatasetIDs=M^ij1.ListOfDatasetIDs∪...∪M^ijx.ListOfDatasetIDs;]]>S234:根据特定主题的数据质量分面分类层次的质量维层来进一步物化数据质量分面分类层次H的质量类别层,以产生特定主题的数据质量分面分类层次的质量类别层,具体包括:首先,根据特定主题的数据质量分面分类层次中已存在的全部质量维来确定数据质量分面分类层次H中包含这些质量维的各个质量类别,将它们作为特定主题的数据质量分面分类层次中的各个质量类别,然后,对中每个这样的质量类别通过指针所指向的线性表来找出该质量类别所包含的所有质量维,并将全部y个在这些质量维下有质量度量的主题数据集标识符的线性表1≤j≤y进行去除重复元素的合并后,赋值给在该质量类别下有质量度量的主题数据集标识符的线性表即:C^i.ListOfDatasetIDs=D^i1.ListOfDatasetIDs∪...∪D^iy.ListOfDatasetIDs.]]>S24:将特定主题的数据质量分面分类层次的树形结构在人机交互界面中进行可视化。S3:根据用户在上述树形结构中选择的数据质量分面对主题数据集进行基于数据质量的过滤,并按用户选定的方式对过滤结果进行排序,具体包括以下步骤:S31:根据用户在人机交互界中的上述树形结构中选择的一个用于过滤的数据质量分面,产生过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs,具体包括:若用户在上述树形结构中选择的数据质量分面是一个质量类别则将在该质量类别下有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;若用户在上述树形结构中选择的数据质量分面是一个质量维则将在该质量维下有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;若用户在上述树形结构中选择的数据质量分面是一个质量度量指标则将在该质量度量指标上有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;S32:按用户在人机交互界中选定的排序方式对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的主题数据集进行排序,产生过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs,具体包括:若用户选择的数据质量分面是一个质量度量指标则在人机交互界中向用户提供对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的主题数据集按质量度量值进行排序的选项:让用户选择在该质量度量指标上的若干个质量度量中使用哪个质量度量作为排序依据,并选择升序或降序的排序方式,排序时,数值型质量度量值直接比较大小,布尔型质量度量值的比较方式为假小于真,即false<true;若用户选择的数据质量分面是一个质量维或质量类别则让用户在数据目录门户现有的搜索结果排序方式中选择一种方式对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的数据集进行排序;将上述两种情况之一的排序结果赋值给过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs。S4:在人机交互界面中输出过滤并排序后的主题数据集信息,具体包括以下步骤:S41:从数据目录中获取过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs中所有主题数据集的部分描述性元数据(如:数据集的标题、描述信息、发布者、发布日期等)和部分访问元数据(如:数据集的数据格式、访问及下载网址等);S42:将已获取的上述元数据按过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs中的主题数据集顺序在人机交互界面中依次呈现,若上述用于过滤的数据质量分面是一个质量度量指标,则同时呈现各主题数据集在该质量度量指标上的用于排序的质量度量值。对于上述基于数据质量的主题数据集多层分面过滤方法,值得进一步指出以下几点:(1)上述步骤S1宜以适当频度来离线(off-line)执行,其执行频度取决于数据目录中数据集和/或质量元数据的批量更新频度(如:每周一次),执行时间点宜选在数据目录门户的维护时间段,这样既可提高执行效率又可缩短响应时间;(2)针对用户的一次主题搜索,上述步骤S2只需在线(on-line)执行一次,由于特定主题的数据质量分面分类层次是根据步骤S1已构建的数据质量分面分类层次物化出的,因此步骤S2所需的执行时间很短,其有益的技术效果是缩短了特定主题的数据质量分面分类层次的树形结构在人机交互界面中进行可视化的用户等待时间;(3)上述步骤S3和S4的组合可重复执行,其重复执行的次数等于用户在特定主题的数据质量分面分类层次的树形结构中选择用于过滤的数据质量分面的次数,其有益的技术效果是用户可以对主题数据集进行基于数据质量的多层分面过滤(即在多个质量类别、多个质量维、多个质量度量指标上进行分面过滤)。根据本发明的另一个方面,还提供了一种基于数据质量的主题数据集多层分面过滤系统,如图3所示,包括:数据质量分面分类层次的构建并存储模块、数据质量分面分类层次的物化和可视化模块、基于数据质量的数据集过滤模块、主题数据集过滤并排序结果的输出模块、人机交互界面,其中:所述数据质量分面分类层次的构建并存储模块用于实现本发明方法中的步骤S1:根据数据目录中数据集质量元数据构建并存储一个数据质量分面分类层次;所述数据质量分面分类层次的物化和可视化模块用于实现本发明方法中的步骤S2:根据数据质量分面分类层次和用户搜索数据目录所产生的主题数据集物化出一个特定主题的数据质量分面分类层次,并将其树形结构在人机交互界面中进行可视化;所述基于数据质量的数据集过滤模块用于实现本发明方法中的步骤S3:根据用户在上述树形结构中选择的数据质量分面对主题数据集进行基于数据质量的过滤,并按用户选定的方式对过滤结果进行排序;所述主题数据集过滤并排序结果的输出模块用于实现本发明方法中的步骤S4:在人机交互界面中输出过滤并排序后的主题数据集信息;所述人机交互界面用于实现用户与该系统之间的人机交互,包括:用户在该界面中输入数据集搜索主题、系统在该界面中将一个特定主题的数据质量分面分类层次的树形结构进行可视化、用户在上述可视化的树形结构中选择一个用于过滤的数据质量分面并选定主题数据集的排序方式、系统在该界面中呈现过滤并排序后的主题数据集信息。上述系统的可选实现方式包括:(1)将该系统集成到现有数据目录门户中,使得现有主题搜索结果数据集(即主题数据集)过滤技术中包含基于数据质量的多层分面过滤功能;(2)该系统单独实现,作为现有数据目录门户的一种增值服务,实现对数据目录门户的主题搜索结果数据集(即主题数据集)进行基于数据质量的多层分面过滤。由上述技术方案可以理解的是,本发明是基于本说明书的“
背景技术
”中所述的多个相关
技术领域
的技术背景和技术发展趋势提出的,提供了一种基于数据质量的主题数据集分面过滤技术方案。由于数据质量模型用于“establishdataqualityrequirements,definedataqualitymeasures,orplanandperformdataqualityevaluations.(建立数据质量需求,定义数据质量度量,或计划和实施数据质量评价)”(摘自:《ISO/IEC25012数据质量模型》国际标准的技术文档),因此,基于数据质量的分面过滤技术在本质上不同于传统的分面过滤技术,必须以数据质量模型(典型地,三层数据质量层次模型)为基础。本发明技术方案的最突出的实质性特点是基于数据质量的分面过滤方法与过程是以数据质量模型(典型地,三层数据质量层次模型)为基础的。为此,必须首先定义一个与三层数据质量层次模型相对应的数据质量分面分类层次,在此基础上再根据用户搜索数据目录所产生的主题数据集物化出一个特定主题的数据质量分面分类层次,最后根据用户在特定主题的数据质量分面分类层次的树形结构中选择的数据质量分面对主题数据集进行多层分面过滤(即在多个质量类别、多个质量维、多个质量度量指标上进行分面过滤);本发明技术方案的其他突出的实质性特点还包括:本发明技术方案适用于Web数据目录与元数据、数据质量管理等领域的最新技术标准与规范,等等。下面通过一个优选的实施例来进一步描述本发明技术方案的具体实施方式。不失一般性,本实施例的数据目录门户选用美国政府开放数据门户DATA.GOV(https://www.data.gov),该数据门户的数据目录及数据集的元数据是用W3C制定的DCAT数据目录词汇标准(参见:本说明书的“
背景技术
”)来描述的。由于DATA.GOV目前暂未增设数据集的数据质量元数据,因此本实施例用DCAT的扩充——W3C的Web数据最佳实践(DWBP)工作组制定的DQV数据质量词汇技术规范(参见:本说明书的“
背景技术
”)来建模与描述DATA.GOV中的数据质量元数据。如图4所示,DQV定义了一种三层的数据质量模型:质量类别(dqv:Category类)、质量维(dqv:Dimension类)和质量度量指标(dqv:Metric类);用这些本体类的实例可为DATA.GOV构建一个实际使用的三层数据质量模型。不失一般性,如图4所示以及表2所列,本实施例选用DQV技术规范中推荐的ISO数据质量模型国际标准ISO/IEC25012(参见:本说明书的“
背景技术
”)中的部分质量类别和部分质量维来构建DATA.GOV数据质量模型的质量类别和质量维,并选用Radulovic等人提出的LDQM质量模型中一些质量度量指标(参见:本说明书的“
背景技术
”)来构建DATA.GOV数据质量模型的质量度量指标。表2:优先实施例中数据质量分面分类层次所对应的DATA.GOV数据质量层次模型使用质量度量指标定义的质量度量可以是包括整型(interger)、十进制型(decimal)、浮点型(float)、双精度浮点型(double)等在内的各种数值型值和布尔型(boolean)值。以上述数据质量层次模型为基础,按表2中质量度量指标上的度量值类型和值域为要求,为DATA.GOV数据目录门户中部分数据集(详见后文中表3)定义了若干质量度量(详见后文中表4,其中,双精度浮点型值只给出了小数点后三位,以便下文实施例中的质量度量值表示和屏幕显示更为简洁),假设其名空间为“hhu:”或“ex:”(不同的名空间表明了有不同的机构或个人使用上述数据质量模型对DATD.GOV中部分数据集进行了质量评估)。如本说明书的“
背景技术
”所述,数据目录的DCAT描述、数据集质量元数据的DQV描述均为RDF描述,是一种RDF数据。按上述方法为DATA.GOV数据目录门户构建的数据集质量元数据(含数据质量模型定义及数据集的质量度量定义)的RDFTurtle格式表示(参见:RDF1.1Turtle:TerseRDFTripleLanguage.W3CRecommendation,25February2014.https://www.w3.org/TR/turtle/)示意如下:根据本发明的一个方面,一种基于数据质量的主题数据集多层分面过滤方法,如图1所示,包括如下步骤:S1:根据数据目录中数据集质量元数据构建并存储一个数据质量分面分类层次H,具体包括以下步骤:S11:根据数据目录中数据集质量元数据构建一个数据质量分面分类层次H,其数据结构的示意如图2中顶部虚线框中所示,具体包括以下步骤:S111:定义一个与上述DATA.GOV数据质量层次模型相对应的数据质量分面分类层次H,具体如下:H=(C,D,M),其中,C是质量类别的线性表,D是质量维的线性表的集合,M是质量度量指标的线性表的集合;质量类别的线性表C=(iso:inherentDataQuality,iso:systemDependentDataQuality)中元素(质量类别)C1或C2包含三个数据项:质量类别的名称,在该质量类别下有质量度量的数据集标识符的线性表,指向该质量类别所包含的质量维的线性表D1或D2的指针;C1所指向的质量维的线性表D1=(iso:accuracy,iso:completeness),其中元素(质量维)D11或D12包含三个数据项:质量维的名称,在该质量维下有质量度量的数据集标识符的线性表,指向该质量维所包含的质量度量指标的线性表M11或M12的指针;D11所指向的质量度量指标的线性表M11=(ldqm:averageDatatypeCompatibility,ldqm:averageAttributeMisuse),其中元素(质量度量指标)M111或M112包含两个数据项:质量度量指标的名称,在该质量度量指标上有质量度量的数据集标识符的线性表(见后文);D12所指向的质量度量指标的线性表M12=(ldqm:averageMissingAttributeValues,ldqm:percentageOfUndefinedAttributes),其中元素(质量度量指标)M121或M122包含两个数据项:质量度量指标的名称,在该质量度量指标上有质量度量的数据集标识符的线性表(见后文);同样地,C2所指向的质量维的线性表D2=(iso:availability,iso:portability),其中元素(质量维)D21或D22包含三个数据项:质量维的名称,在该质量维下有质量度量的数据集标识符的线性表,指向该质量维所包含的质量度量指标的线性表M21或M22的指针;D21所指向的质量度量指标的线性表M21=(ldqm:multipleDataFormats,ldqm:SPARQLSupport),其中元素(质量度量指标)M211或M212包含两个数据项:质量度量指标的名称,在该质量度量指标上有质量度量的数据集标识符的线性表(见后文);D22所指向的质量度量指标的线性表M22=(ldqm:termsReuseRatio),其中元素(质量度量指标)M221包含两个数据项:质量度量指标的名称,在该质量度量指标上有质量度量的数据集标识符的线性表(见后文);S112:从DATA.GOV数据目录中获取所有数据集的质量元数据,将其中的质量类别、质量维、质量度量指标的名称及相互包含关系相应地赋值至上述数据质量分面分类层次H,各层中全部的数据集标识符的线性表均暂置为空。S12:持久存储已构建的数据质量分面分类层次H,具体存储格式采用JSON格式的文件。S2:根据数据质量分面分类层次H和用户搜索数据目录所产生的主题数据集物化出一个特定主题的数据质量分面分类层次并将其树形结构在人机交互界面中进行可视化,具体包括以下步骤:S21:从DATA.GOV数据目录门户的数据集搜索引擎获取用户搜索数据目录所搜索到的主题数据集,不失一般性,2016年8月12日使用搜索主题“consumercomplaints”(消费者投诉)的实际搜索结果(如表3所列)不为空,据此形成一个主题数据集标识符的线性表TopicalDatasetIDs=(d1,d2,…,d23);表3:优先实施例中数据目录门户DATA.GOV的数据集搜索引擎返回的“consumercomplaints”(消费者投诉)主题上的搜索结果数据集(按主题相关度降序排列)S22:读取已构建并存储的数据质量分面分类层次H;S23:根据主题数据集标识符的线性表TopicalDatasetIDs来物化已读取的数据质量分面分类层次H,以产生一个特定主题的数据质量分面分类层次其数据结构的示意如图2中粗线框图案部分所示,具体包括以下步骤:S231:从DATA.GOV数据目录中获取主题数据集标识符的线性表TopicalDatasetIDs中所有数据集的质量元数据;S232:根据所获取的质量元数据来物化数据质量分面分类层次H的质量度量指标层,以产生特定主题的数据质量分面分类层次的质量度量指标层,具体包括:首先,对数据质量分面分类层次H中的每个质量度量指标Mijk,若质量元数据中使用了该质量度量指标进行质量度量,则将其作为特定主题的数据质量分面分类层次中的一个质量度量指标然后,对中每一个这样的质量度量指标从主题数据集标识符的线性表TopicalDatasetIDs中找出在该质量度量指标上有质量度量的所有主题数据集,将这些主题数据集的标识符赋值给在该质量度量指标上有质量度量的主题数据集标识符的线性表并将该线性表中的每个主题数据集在该质量度量指标上的所有质量度量的名-值对存储于相应的集合其中1≤t≤线性表的长度,具体如下:不失一般性,假设TopicalDatasetIDs中主题数据集d6、d20、d21、d23没有任何质量元数据(因此,这4个数据集直接被基于数据质量的过滤方法过滤掉——这是对主题数据集的第一种基于数据质量的分面过滤),其他主题数据集在若干质量度量指标上有名空间为“hhu:”或“ex:”的质量度量,如表4所列,每个质量度量指标上有质量度量的主题数据集标识符的线性表如下:M^111.ListOfDatasetIDs=(d1,d4,d7,d8,d10,d13,d16,d18,d19),]]>M^112.ListOfDatasetIDs=(d2,d4,d5,d13,d16,d17,d18),]]>M^121.ListOfDatasetIDs=(d4,d5,d8,d15,d16,d18,d22),]]>M^211.ListOfDatasetIDs=(d1,d2,...,d5,d7,d8,...,d19,d22);]]>以上每个主题数据集在相应质量度量指标上拥有的所有质量度量名-值对存储于集合表4:优先实施例中物化出的特定主题的数据质量分面分类层次的质量度量指标层及相应有质量度量值的主题数据集S233:根据特定主题的数据质量分面分类层次的质量度量指标层来进一步物化数据质量分面分类层次H的质量维层,以产生特定主题的数据质量分面分类层次的质量维层,具体包括:首先,根据特定主题的数据质量分面分类层次中已存在的全部质量度量指标来确定数据质量分面分类层次H中包含这些质量度量指标的各个质量维,将它们作为特定主题的数据质量分面分类层次中的各个质量维,然后,对中每个这样的质量维通过指针所指向的线性表来找出该质量维所包含的所有质量度量指标,并将全部x个在这些质量度量指标上有质量度量的主题数据集标识符的线性表1≤k≤x进行去除重复元素的合并后,赋值给在该质量维下有质量度量的主题数据集标识符的线性表即:具体如下:D^11.ListOfDatasetIDs=M^111.ListOfDatasetIDs∪M^112.ListOfDatasetIDs=(d1,d2,d4,d5,d7,d8,d10,d13,d16,d17,d18,d19),]]>D^12.ListOfDatasetIDs=M^121.ListOfDatasetIDs=(d4,d5,d8,d15,d16,d18,d22),]]>D^21.ListOfDatasetIDs=M^211.ListOfDatasetIDs=(d1,d2,...,d5,d7,d8,...,d19,d22);]]>S234:根据特定主题的数据质量分面分类层次的质量维层来进一步物化数据质量分面分类层次H的质量类别层,以产生特定主题的数据质量分面分类层次的质量类别层,具体包括:首先,根据特定主题的数据质量分面分类层次中已存在的全部质量维来确定数据质量分面分类层次H中包含这些质量维的各个质量类别,将它们作为特定主题的数据质量分面分类层次中的各个质量类别,然后,对中每个这样的质量类别通过指针所指向的线性表来找出该质量类别所包含的所有质量维,并将全部y个在这些质量维下有质量度量的主题数据集标识符的线性表1≤j≤y进行去除重复元素的合并后,赋值给在该质量类别下有质量度量的主题数据集标识符的线性表即:这里具体如下:C^1.ListOfDatasetIDs=D^11.ListOfDatasetIDs∪D^12.ListOfDatasetIDs=(d1,d2,d4,d5,d7,d8,d10,d13,d15,d16,d17,d18,d19,d22),]]>C^2.ListOfDatasetIDs=D^21.ListOfDatasetIDs=(d1,d2,...,d5,d7,d8,...,d19,d22).]]>S24:将特定主题的数据质量分面分类层次的树形结构在人机交互界面中进行可视化。S3:根据用户在上述树形结构中选择的数据质量分面对主题数据集进行基于数据质量的过滤,并按用户选定的方式对过滤结果进行排序,具体包括以下步骤:S31:根据用户在人机交互界中的上述树形结构中选择的一个用于过滤的数据质量分面,产生过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs,具体包括:若用户在上述树形结构中选择的数据质量分面是一个质量类别则将在该质量类别下有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;若用户在上述树形结构中选择的数据质量分面是一个质量维则将在该质量维下有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;若用户在上述树形结构中选择的数据质量分面是一个质量度量指标则将在该质量度量指标上有质量度量的主题数据集标识符的线性表中的全部主题数据集标识符赋值给过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs;不失一般性,举例如下:假设用户选择的分面是iso:inherentDataQuality(固有数据质量),则:FilteredTopicalDatasetIDs=C^1.ListOfDatasetIDs=(d1,d2,d4,d5,d7,d8,d10,d13,d15,d16,d17,d18,d19,d22),]]>因此,搜索结果的23个主题数据集中除以上数据集外的其他数据集因在该质量类别下没有质量度量值(即用户无法判断这些主题数据集是否符合其质量要求)而被过滤掉了;假设用户选择的分面是iso:accuracy(准确性)则:FilteredTopicalDatasetIDs=D^11.ListOfDatasetIDs=(d1,d2,d4,d5,d7,d8,d10,d13,d16,d17,d18,d19,),]]>因此,搜索结果的23个主题数据集中除以上数据集外的其他数据集因在该质量维下没有质量度量值(即用户无法判断这些主题数据集是否符合其质量要求)而被过滤掉了;假设用户选择的分面是ldqm:averageAttributeMisuse(平均属性误用),则:FilteredTopicalDatasetIDs=M^112.ListOfDatasetIDs=(d2,d4,d5,d13,d16,d17,d18),]]>因此,搜索结果的23个主题数据集中除以上数据集外的其他数据集因在该质量度量指标上没有质量度量值(即用户无法判断这些主题数据集是否符合其质量要求)而被过滤掉了;以上三层数据质量分面上的过滤是对主题数据集的第二种基于数据质量的分面过滤。S32:按用户在人机交互界中选定的排序方式对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的主题数据集进行排序,产生过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs,具体包括:若用户选择的数据质量分面是一个质量度量指标则在人机交互界中向用户提供对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的主题数据集按质量度量值进行排序的选项:让用户选择在该质量度量指标上的若干个质量度量中使用哪个质量度量作为排序依据,并选择升序或降序的排序方式,排序时,数值型质量度量值直接比较大小,布尔型质量度量值的比较方式为假小于真,即false<true;若用户选择的数据质量分面是一个质量维或质量类别则让用户在数据目录门户现有的搜索结果排序方式中选择一种方式对过滤后主题数据集标识符的线性表FilteredTopicalDatasetIDs中的数据集进行排序;将上述两种情况之一的排序结果赋值给过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs。不失一般性,下面我们假定用户选择的分面是ldqm:averageAttributeMisuse,并假定用户选择的排序依据是在质量度量指标上的质量度量hhu:avgAttrMisuse,并假定用户选择的排序方式是“升序”,通过质量度量值大小比较后的过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs=(d4,d5,d2,d13,d18,d17,d16)。S4:在人机交互界面中输出过滤并排序后的主题数据集信息,具体包括以下步骤:S41:从数据目录中获取过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs中所有主题数据集的部分描述性元数据(如:数据集的标题、描述信息、数据格式、发布者、发布日期等)和部分访问元数据(如:数据集的访问及下载网址等);S42:将已获取的上述元数据按过滤并排序后主题数据集标识符的线性表RankedFilteredTopicalDatasetIDs中的主题数据集顺序在人机交互界面中依次呈现,这里同时呈现各主题数据集在以上质量度量指标上的用于排序的质量度量的值。举例说明,如图5所示,假设某用户特定数据质量要求是“数据集的平均属性误用必须小于1%(即0.010)”,那么,在RankedFilteredTopicalDatasetIDs中只有数据集d4(其质量度量值为0.005)和d5(其质量度量值为0.009)满足该用户的以上数据质量要求,因此,除d4和d5外的其他数据集由于其质量度量值不符合用户的质量要求而再次被过滤掉了——这是对主题数据集的第三种基于数据质量的分面过滤。根据本发明的另一个方面,一种基于数据质量的主题数据集多层分面过滤系统,如图3所示,包括:数据质量分面分类层次的构建并存储模块、数据质量分面分类层次的物化和可视化模块、基于数据质量的数据集过滤模块、主题数据集过滤并排序结果的输出模块、人机交互界面。作为上述优先实施例的延续,我们实现了上述一种基于数据质量的主题数据集多层分面过滤系统的一个原型。由于将本系统集成到现有数据目录门户中的实现方式比本系统单独实现的方式更为简单,不失一般性,该系统原型采用了“单独实现”方式,作为数据目录门户的一种增值服务,实现数据目录门户的主题搜索结果数据集(即主题数据集)的基于数据质量的多层分面过滤。该系统原型的主要实现技术简述如下:该系统原型被设计并实现成一个采用模型–视图–控制器(MVC)软件体系结构模式的Web应用,其软件使用Java平台企业版(JavaEE)8.0(参见:http://www.oracle.com/technetwork/java/javaee/overview/index.html)和开源的语义网应用开发Java框架ApacheJena中的核心RDFAPI(参见:http://jena.apache.org/documentation/rdf/index.html)开发,并部署于ApacheTomcat7.0.55(参见:http://tomcat.apache.org/)Web应用服务器。上述一种基于数据质量的主题数据集多层分面过滤系统中各个模块的功能及其在系统原型中的实现技术简述如下:数据质量分面分类层次的构建并存储模块用于实现本发明方法中的步骤S1:根据数据目录中数据集质量元数据构建并存储一个数据质量分面分类层次。在系统原型中的实现技术如下:定义一个与三层数据质量层次模型相对应的数据质量分面分类层次时,每一层都用Java数组表(ArrayList)来实现,下层的数组表作为其直接上层数组表元素中的一个属性,每个数组表元素还包含两个属性:质量分面名称和对应的数据集标识符的线性表;如果数据目录门户提供数据集元数据的SPARQL端点(如:欧盟开放数据门户的SPARQL端点http://data.europa.eu/euodp/en/linked-data),那么可通过SPARQL查询(参见:本说明书的“
背景技术
”)获取RDF格式的质量元数据,否则,可通过HTTP请求获取RDF格式的质量元数据(如:DATA.GOV数据目录门户提供数据集元数据的JSON-LD文档,即一种RDF文档);利用ApacheJena中的核心RDFAPI解析已获取的RDF格式的质量元数据,并通过Java程序实现将质量元数据中的质量类别、质量维、质量度量指标的名称及相互包含关系相应地赋值至上述数据质量分面分类层次,各层中全部的数据集标识符的线性表均暂置为空;以JSON格式的文件(*.json)持久存储已构建的数据质量分面分类层次。数据质量分面分类层次的物化和可视化模块用于实现本发明方法中的步骤S2:根据数据质量分面分类层次和用户搜索数据目录所产生的主题数据集物化出一个特定主题的数据质量分面分类层次,并将其树形结构在人机交互界面中进行可视化。在系统原型中的实现技术为:通过HTTP请求从数据目录门户的数据集搜索引擎获取用户搜索数据目录所搜索到的主题数据集,据此形成一个主题数据集标识符的线性表;读取已构建并存储的数据质量分面分类层次JSON格式的文件;使用与数据质量分面分类层次的构建并存储模块中相同的方法从数据目录中获取主题数据集标识符的线性表中所有数据集的RDF格式的质量元数据,并利用ApacheJena中的核心RDFAPI解析已获取的RDF格式的质量元数据;通过Java程序产生一个特定主题的数据质量分面分类层次;通过在JavaServerPages(JSP)页面中加载Bootstrap前端开发框架(参见:http://getbootstrap.com/)和JavaScriptjQuery库(参见:https://jquery.com/)将特定主题的数据质量分面分类层次的树形结构在人机交互界面中进行可视化。基于数据质量的数据集过滤模块用于实现本发明方法中的步骤S3:根据用户在上述树形结构中选择的数据质量分面对主题数据集进行基于数据质量的过滤,并按用户选定的方式对过滤结果进行排序。在系统原型中的实现技术为:使用JavaScript(参见:https://developer.mozilla.org/en-US/docs/Web/JavaScript)的事件驱动编程(event-drivenprogramming)技术来实现对用户在数据质量分面分类层次树上的鼠标点击事件的监听与响应,通过Java程序从特定主题的数据质量分面分类层次中获取用户鼠标点击选取的分面(质量类别或质量维或质量度量指标)所对应的数据集标识符的线性表,将其中的数据集标识符赋值给过滤后主题数据集标识符的线性表;若用户选择的数据质量分面是一个质量度量指标,则在人机交互界中向用户提供对过滤后主题数据集标识符的线性表中的数据集按质量度量值进行排序的选项,否则,按数据目录门户现有的搜索结果排序方式对过滤后主题数据集标识符的线性表中的数据集进行排序(注:主题相关度顺序就是搜索引擎返回的搜索结果中的顺序;数据集发布/更新日期等信息可以从数据集元数据中获取,然后据此对数据集进行排序);将排序结果赋值给过滤并排序后主题数据集标识符的线性表。主题数据集过滤并排序结果的输出模块用于实现本发明方法中的步骤S4:在人机交互界面中输出过滤并排序后的主题数据集信息。在系统原型中的实现技术为:使用与数据质量分面分类层次的构建并存储模块中相同的方法从数据目录中获取过滤并排序后主题数据集标识符的线性表中所有数据集的标题、描述、数据格式、发布者、发布日期等描述性元数据和数据集的访问及下载网址等访问元数据(均为RDF格式),并利用ApacheJena中的核心RDFAPI进行解析,最后通过Java程序将解析后的元数据按数据集排序结果的顺序在人机交互界面中呈现(若用于过滤的数据质量分面是一个质量度量指标,则同时呈现各数据集在该质量度量指标上的用于排序的质量度量值)。人机交互界面用于实现用户与该系统之间的人机交互,包括:用户在该界面中输入数据集搜索主题、系统在该界面中将一个特定主题的数据质量分面分类层次的树形结构进行可视化、用户在上述可视化的树形结构中选择一个用于过滤的数据质量分面并选定主题数据集的排序方式、系统在该界面中呈现过滤并排序后的主题数据集信息。在系统原型中的实现技术为:人机交互界面中的内容来自JSP页面;使用层叠样式表(CascadingStyleSheets,CSS)(参见:http://www.w3.org/TR/CSS2/)来定义JSP页面在浏览器中的显示样式;通过在JSP页面中加载Bootstrap前端开发框架和JavaScriptjQuery库将特定主题的数据质量分面分类层次的树形结构在人机交互界面中进行可视化;使用JavaScript的事件驱动编程技术来实现对用户在数据质量分面分类层次树上的鼠标点击事件的监听与响应。作为一个具体应用案例,使用上述已实现的系统原型来运行前述优选实施例,该系统原型实现了预期功能。图5示出了该系统原型输出前述优选实施例中一个主题数据集过滤结果的人机交互界面截屏。以这个数据集过滤结果为例,假设某个用户特定数据质量要求是“数据集的平均属性误用(ldqm:averageAttributeMisuse)必须小于1%(即0.010)”,那么,根据以上主题数据集过滤结果,只有数据集d4(平均属性误用的质量度量值为0.005)和d5(平均属性误用的质量度量值为0.009)是满足该用户的以上数据质量要求的,于是系统原型为该用户筛选出了数据集d4和d5,即使其他数据集的“主题相关度”比d3和d5要高,该用户也不会选用它们(例如:数据集d2的质量度量值大于0.010,不满足该用户的质量要求;数据集d1和d3在该质量度量上无值,用户无法确定数据集是否满足其质量要求)。以上充分表明了本发明技术方案克服了现有主题数据集过滤技术忽视数据质量的弊端,方便用户筛选出符合其特定数据质量要求的主题数据集。以上所述仅是本发明的部分实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1