《Clojure数据分析秘笈》——1.10节读取RDF数据

简介:

本节书摘来自华章社区《Clojure数据分析秘笈》一书中的第1章,第1.10节读取RDF数据,作者(美)Eric Rochester,更多章节内容可以访问云栖社区“华章社区”公众号查看

1.10 读取RDF数据
使用不同格式的链接数据越来越多地出现在互联网上:微格式(microformat)、RDFa和RDF/XML是其中的一些常见形式。链接数据提供了更大的灵活性且功能强大,但是其处理过程比较复杂。通常,为了高效处理链接数据,需要使用某种类型的三元组存储。在本方法和接下来的三种方法中,将用到Sesame(http://www.openrdf.org/)和kr Clojure库(https://github.com/drlivingston/kr)。

1.10.1 准备工作
首先,需要确保相关依赖列于project.clj文件中:


7d41a6e7304ccce5dd82b2b170f7f939886affcf

在本例中,从Telegraphis的链接数据库获取数据。将从http://telegraphis.net/data/currencies/ currencies.ttl得到货币数据库。为了安全起见,文件下载并另存为data/currencies.ttl,可以从这个目录访问它。

1.10.2 具体实现
本过程最费时的部分将是定义数据。使用的库完成这项工作。

  1. 建立三元组存储并注册数据使用的命名空间。将三元组存储名字绑定到名称tstore。


7305b61c74b3b65a75652b94464a04c531cd719c


171cbbcca9940b534f2a1cb3be662b567b1cb866

1.10.3 实现原理
首先介绍一下背景知识:资源描述格式(Resource Description Format,RDF)不是XML格式的数据,尽管RDF通常是用XML编写的(还有其他的数据格式,如N3和Turtle)。RDF将世界看成一个声明集合。每条声明至少包含三部分(三元组):主语(Subject)、谓词(predicate)和宾语(object)。主语和谓词需要是URI(URI和URL近似,但比其更通用。例如uri:7890就是一个有效的URI)。宾语可以是文本或者URI。所有的URI构成一幅图。它们相互连接并通过声明相互描述。这就是linked-in的链接数据的来源。
如果你需要链接数据的更多信息,http://linkeddata.org/guides-and-tutorials上有一些好的推荐。
回到之前介绍的方法中:从总体上来看,在这里使用的处理过程非常简单。

  1. 创建三元组存储(kb-memstore和init-kb)。
  2. 读取数据(load-data)。
  3. 查询并仅取出需要的数据(q和load-data)。
  4. 将之转换为Incanter可以使用的数据(rekey和col-map)。
  5. 创建Incanter数据集(load-data)。
    本例中使用的查询格式是个新事物。kb使用类SPARQL的领域专用语言描述查询。事实上,由于kb简单易用,因此使用它而不是直接处理未经加工的RDF数据。以“?/”开始的条目是变量;这将作为查询结果映射中的键值。其他条目格式如rdf-namespace/value。命名空间取自在init-kb中定义的已注册命名空间。这些命名空间与Clojure的不同,尽管它们的作用相同:划分和提供上下文。
相关文章
|
1月前
|
自然语言处理 小程序 数据挖掘
数据分析实战-Python实现博客评论数据的情感分析
数据分析实战-Python实现博客评论数据的情感分析
106 0
|
10天前
|
数据挖掘 定位技术
基于出租车GPS轨迹数据的研究:出租车行程的数据分析
基于出租车GPS轨迹数据的研究:出租车行程的数据分析
18 0
|
11天前
|
机器学习/深度学习 数据采集 数据挖掘
Python 的科学计算和数据分析: 解释什么是数据规整(Data Wrangling)?
【4月更文挑战第15天】数据规整是将原始数据转化为适合分析和建模的格式的关键步骤,涉及缺失值处理(删除、填充、插值)、异常值检测与处理、数据类型转换、重采样、数据合并、特征选择和特征变换等任务。这些预处理步骤确保数据质量和准确性,为后续的数据分析和机器学习模型构建奠定基础。
18 4
|
22天前
|
存储 机器学习/深度学习 数据采集
数据分析师如何处理数据以进行分析?
【4月更文挑战第4天】数据分析师如何处理数据以进行分析?
19 9
|
24天前
|
人工智能 监控 数据可视化
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
|
1月前
|
存储 数据采集 数据挖掘
python数据分析——数据分类汇总与统计
数据分类汇总与统计是指将大量的数据按照不同的分类方式进行整理和归纳,然后对这些数据进行统计分析,以便于更好地了解数据的特点和规律。
62 1
|
1月前
|
存储 SQL 数据挖掘
python数据分析——数据的选择和运算
在数据分析中,数据的选择和运算是非常重要的步骤。数据选择和运算是数据分析中的基础工作,正确和高效的选择和运算方法对于数据分析结果的准确性和速度至关重要。
43 0
|
1天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
【4月更文挑战第25天】R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
|
7天前
|
机器学习/深度学习 数据挖掘 计算机视觉
python数据分析工具SciPy
【4月更文挑战第15天】SciPy是Python的开源库,用于数学、科学和工程计算,基于NumPy扩展了优化、线性代数、积分、插值、特殊函数、信号处理、图像处理和常微分方程求解等功能。它包含优化、线性代数、积分、信号和图像处理等多个模块。通过SciPy,可以方便地执行各种科学计算任务。例如,计算高斯分布的PDF,需要结合NumPy使用。要安装SciPy,可以使用`pip install scipy`命令。这个库极大地丰富了Python在科学计算领域的应用。
12 1
|
8天前
|
数据可视化 数据挖掘 Python
Python中数据分析工具Matplotlib
【4月更文挑战第14天】Matplotlib是Python的数据可视化库,能生成多种图表,如折线图、柱状图等。以下是一个绘制简单折线图的代码示例: ```python import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.figure() plt.plot(x, y) plt.title('简单折线图') plt.xlabel('X轴') plt.ylabel('Y轴') plt.show() ```
13 1