APP下载

航运关联数据的发布及查询应用研究

2018-10-23官维

价值工程 2018年33期

官维

摘要:为了有效解决航运数据存在的碎片化现象以发挥航运数据的潜在价值,本文构建了航运关联数据并使用Fuseki平台进行发布,通过SPARQL1.1的查询扩展实现了跨不同数据端口的联合查询。研究结果表明:关联数据能有效实现航运数据的语义化组织与关联化集成,进而实现航运数据的“一站式”查询应用。

Abstract: In order to effectively solve the fragmentation phenomenon of shipping data and play its potential value, this paper constructs the shipping linked data and publishes it using the Fuseki platform. Federated queries across different data ports are implemented through query expansion of SPARQL1.1. The result shows that linked data can effectively realize the semantic organization and linked integration of shipping data, in turn, the one-stop query application of which is realized.

关键词:航运关联数据;关联数据发布;联合查询

Key words: maritime linked data;publication of linked data;federated queries

中图分类号:TP393 文献标识码:A 文章编号:1006-4311(2018)33-0206-02

0 引言

航运作为影响国民经济的重要因素之一,已经受到各国政府的高度重视与广泛关注。而航运信息是指所有与航运活动有关的信息,它覆盖的范围很广,既包括航线、船舶等基础性信息,也包括航运事故、航运交易等事务性信息。随着大数据时代的来临,航运信息已呈现出爆炸式的发展态势,大量的航运信息以分散、异构的形式分布于不同的数据存储介质中,导致不同的航运数据间难以实现信息的共享与互操作,极大地影响了航运数据价值的发挥。

关联数据作为一种新兴的互联网技术,强调在开放的网络环境中,通过建立不同结构化数据间的语义链接,实现分散异构数据的互访与共享。由于这一优势,关联数据已经在很多领域中得到了关注与应用,探索以关联数据的形式发布领域数据已经成为一个重要的研究内容:陈德容分析了关联数据技术在图书馆数据发布中的优势、使用原则、数据保障等问题,进而指出关联数据能够推动图书馆信息的传播和复用并促进图书馆新旧系统的更替及数据格局的变更[1];赵龙文等提出一种基于关联数据的递进式政府数据开放模式,在此基础上给出一种四层结构的技术框架,为相关的研究与实现提供了借鉴与参考[2];牛永骎等以图书情报领域为例,基于D2R软件发布了领域学者关联数据集,它区别于传统的机构知识库,以更开放、关联和共享的方式聚集一切相关的信息资源[3];祝帆帆等基于D2R工具将与中国十大传世名画相关的馆藏数据发布为关联数据,进而发现关联数据能有效实现馆藏资源的整合并解决数据异构的问题[4]。

作为传统行业之一的航运业经过多年的发展已经建立了各类面向不同数据处理需求的航运信息系统,这些系统因建立的时间、采用的方案各不相同,使得彼此间无法实现信息交换,航运信息的“碎片化”现象十分严重,而关联数据技术的发展及其在具体领域的广泛应用为解决这一问题提供了一种可行的思路和有效的方案。

因此,本文立足于解决现存的航运数据“碎片化”问题,将关联数据技术引入航运领域,探索航运关联数据的发布方法,并建立面向航运关联数据的SPARQL联合查询应用,以更有效的数据组织形式及应用方式重构及利用航运数据,进而最大限度地发挥航运数据的潜在价值。

1 航运本体的构建

本体是对与领域相关且共享程度高的概念与知識的形式化、规范化说明。在关联数据的背景下,本体可看作是一套具有强语义性的规范词汇表。航运本体的构建为原始航运数据的RDF化提供了语义标注的工具,是航运关联数据发布的基础。

①类的定义。通过对航运领域概念的分析与提取,得到的类包括:船舶、船公司、航次、港口、地点、船舶类型和人。每个类可以定义其子类,如船员为人的子类等。

②属性的定义。定义每个类的属性,以表征个体实例的性质。以船舶类为例,它的属性包括:船舶名称、建造年份、总吨、净吨、船长度、船宽等。

③关系的定义。定义类的关系,以描述类之间存在的语义关联。以船舶类为例,它的关系包括:注册港口、所属公司、船舶类型、船长等。

④本体的形式化描述 为了满足机器对于本体的理解和处理,需要采用序列化格式对本体进行形式化编码。以船舶类为例,给出船舶本体OWL序列化的部分结果如下:

2 航运关联数据的发布

本节详细介绍航运关联数据发布的具体实现过程,为后续实现SPARQL联合查询提供可供使用的航运关联数据集。

①原始数据采集。从与航运相关的网站上采集原始的航运数据,包括:从中远集装箱运输网站上采集航次信息、从中国海事服务网采集港口信息、从中国港口网采集船舶数据等。部分航运信息如下:

航次:014W、船名:COSCO_BELGIUM、承运人:COSCO、预计离港日:2015-11-10、预计到港日:2015-11-13、航程:3天。

②数据语义标注。使用构建的航运本体,遵循RDF三元组模型,对原始的航运数据进行语义标注,使数据以机器可读的形式表示与存储。另外,将URI路径http://mtlop.dlmu.edu.cn简记为mtopl:,上述原始数据中船舶实例的语义标注结果如下:

③关联链接构建。关联数据的最大价值在于构建模式级或实例级的链接,而实例型的链接是最普遍、最重要的一类链接。对于航运关联数据,将构建数据集的内部链接与数据集间的外部链接。其中,内部链接包括将航次实例、船舶实例、港口实例、航运公司实例等彼此互联,以实现航运数据集内部数据的集聚;外部链接主要将航运数据集与包括DBPedia、Geonames和DSS在内的其它数据进行关联,以扩展航运数据集的空间范围。以航运数据集中的“大连港”为例,将其与DBPedia数据集中有关大连的实例进行关联,结果如下:

④关联数据发布。为了保证航运关联数据的可访问性,需要采用三元组存储器将航运RDF数据进行发布,并对外提供可供访问的SPARQL查询端口。本文使用Fuseki工具,该工具是基于HTTP的SPARQL查询服务器。下载并配置后,以服务的形式运行Fuseki,通过在浏览器中输入网址http://127.0.0.1:3030/即可访问主界面。

将保存航运实例数据的RDF文件上传至Fuseki服务器中,可通过Fuseki专门提供的查询端口编写SPARQL查询语言获取满足特定需求的航运信息。

3 SPARQL联合查询的应用实例

现有SPARQL只能用于查询孤立终端中的数据,不支持跨不同端口的联合查询。在实际的查询应用中,跨多个描述数据集的联合查询将会为用户提供更加全面、丰富的信息资源。SPARQL1.1规范的扩展通过引入SERVICE运算符可支持分布式数据端口的联合查询。因此,本文在构建并发布航运关联数据集的基础上,借助SPARQL1.1规范的扩展,实现航运关联数据的SPARQL联合查询应用实例,示例代码如下:

在执行查询時,首先会在http://127.0.0.1:3030/query中查询属性“港口名称”取值为'大连港'的资源r,而后通过owl:sameAs获取此资源在DBpedia数据集中对应的URI并赋值给变量rsameas,最后在另一个SPARQL端口http://DBpedia-live.openlinksw.com/sparql?timeout=2000中查询该资源的属性和属性值,从而实现跨多个端口的SPARQL联合查询,最终获取了关于同一资源的更多信息。

4 结论

本文构建并发布了航运关联数据,在此基础上实现了SPARQL联合查询。本文的研究结果表明:关联数据通过简单、直接的链接机制实现了航运数据的语义化组织及数据集内外的无缝集成,能有效解决航运数据的“碎片化”现象,本文的下一步工作在于实现航运数据的可视化聚合。

参考文献:

[1]陈德容.基于关联数据的图书馆数据发布及数据服务[J]. 图书馆工作与研究,2015(2):25-27.

[2]赵龙文,莫荔媛,潘卓齐.基于关联数据的政府数据开放实现方法研究[J].情报资料工作,2016(6).

[3]牛永骎,常娥.基于D2R发布学者关联数据集探究-以图书情报领域为例[J].图书情报工作,2017,61(19):13-21.

[4]祝帆帆,高劲松,梁艳琪.馆藏文物资源关联数据的创建与发布——以中国十大绘画为例[J].图书馆理论与实践,2018(4).