matplotlib中文显示问题的解决

   今天忙了一下午,直到现在才终于把这个问题解决了。网上解决的办法很多,但是他们没有说完全,或者说,有些东西变了。

   matplotlib真的很奇怪呀,居然不原生支持Unicode编码,现在的开源项目不支持unicode,真的是很奇怪。难道是只打算开发给欧美人用的么。

继续阅读 »

ipython notebook——超级强大的工具

    之前下载了Sage math,发现它有一个notebook模式,说白了就是它利用浏览器做IDE,做结果的展示台等等,用了mathjax用作LaTex的展示,如展示各种数学公式,还有如矩阵这样的数据的展示,生成的图片的展示。当时深觉得它的强大,用TAB还可以自动提示,打个问号,就能显示该函数的文档,真的很方便。而且生成的图片嵌入在浏览器里面,对于科学计算真的是很方便的。

    不过Sage的notebook有几个毛病,一是auto completion不是很好,只能完整支持Sage,而不能支持Python和R等。二是不能显示行号,代码一长就迷糊了。三是没有代码高亮功能,这就是比较麻烦的一个地方了。而ipython的notebook,真的是青出于蓝而胜于蓝呀,支持python的auto completion(不过需要用到TAB才行,我喜欢的是能自动提示的),能显示行号,有代码高亮功能。而它结果的展示,用的和Sage差不多的技术,ipython的作者也说这个是借鉴了很多sage的东西的,也是受到了sage的启发才做了这个的。

继续阅读 »

用Python实现一个简单的Triple Storage

   对于数据的存储,大概是所有计算机技术的基础了。语义网的发展,现在遇到的最大的瓶颈就是Triple Storage,尽管sparql 1.1已经非常强大了,比SQL都强(之前我还以为没有SQL强大呢)。现在免费的Triple Storage速度慢,而收费的相对于关系数据库,也还是慢很多。要实现推理的话,难度就更大了。

   今天在看Programming the Semantic Web,再一次感叹国内和国外的差距。国内Semantic Web还完全是大学的一小撮教授在研究,而国外已经出了这种普及型的教材了,而且还是2009年出版的啊。

继续阅读 »

继续学习Sage

昨晚和今天,由于无心学习,所以整理了一下我的博客,修改了很多插件,修改了主题,现在总算又变得好多了,比较满意了。大概我的性格就是如此的吧,平时隔一段时间,我就会把我的很多东西都重新修整一遍,那样才会觉得舒服。
好久没有学习Sage了,之前是发现它进行统计不怎么给力,然后认真学习了R语言,不过这个星期也没有怎么学。对比一下R语言和Sage,你会发现,Sage真的在语法上舒服多了,干净多了。 继续阅读 »

Programming the Semantic Web 前言翻译

  已经许久没有进行翻译工作了,最近发现英文写作和听说都很不行。翻译对于提高英文能力还是不错的。打算慢慢的翻译一下Programming the Semantic Web这本书,这本书真正将语义网讲到了应用方面上,我觉得这就是国内目前最欠缺的。国内的研究整天在搞OWL,很多人连Jena都现在都不会用,也声称搞语义网。我还记得本科生创新项目中期考核的时候,一个发表过语义网方面论文的老师就问我:“你的RDF是怎么写出来的?”我的RDF文件很大,我猜测他只知道用Proterge(不知道写错没)写RDF,不知道用Jena可以更加方便,更快快捷,且能大量的写RDF。我解释了几次,他还是没有明白。

继续阅读 »

ipython的一个使用问题

今天换了ubuntu 12.04之后,发现启动ipython总是会出现如下的错误:

 

/usr/lib/python2.7/dist-packages/IPython/core/extensions.pyc in load_extension(self, module_str)
     85         if module_str not in sys.modules:
     86             with prepended_to_syspath(self.ipython_extension_dir):
---> 87                 __import__(module_str)
     88         mod = sys.modules[module_str]
     89         return self._call_load_ipython_extension(mod)
 
ImportError: No module named kernmagic
意思应该是ipython启动的时候,会要求启动kernmagic这个包,但是系统里面没有这个包。貌似这个包是epdpython自带的,我之前就安装过epdpython,所以导致了这个问题。解决方法比较简单,在/home/rickey/.config/ipython/profile_default找到ipython_config.py这个文件,打开之后,将c.TerminalIPythonApp.extensions = ['kernmagic']这一行注释掉就可以了。 现在重启ipython应该没有问题了

Jena利用owl实现RDF的推理

   我记得我初次接触语义网的时候,老师给我们介绍关于它的一个最美好前景,就是它能够实现机器可读可理解,能够实现推理,自动发现新知识。当时觉得多么强大的东西呀。后来,渐渐接触之后,发现语义网好像都不怎么火嘛。然后我看到一篇文章,说的是关于语义网的瓶颈的,其中的一个就是关于推理的了。文章提到,推理需要超大的计算量,而且稍微往这个库里面增加一条记录,可能就要进行一次全盘的推理。删除就更麻烦了,因为推理的知识纠结在一起,不能随便把库里面的记录删除了。

继续阅读 »

sparql入门7

  终于讲到sparql对RDF数据进行更新的部分了。对update和delete的支持是1.1版本才有的,1.0版本没有这个功能。不过现在大部分的sparql endpoint都已经支持1.1了。作者在书上使用了Fuseki这个sparql查询工具。Fuseki是jena项目的一部分,用于代替Joseki。不过,要配置还是很麻烦,觉得还是Sesame的好用一些,不过我不知道sesame能否支持update和delete操作。

  其实语义网发展到现在还没有发展起来,有一个重要的原因就是计算能力的问题。由于要用到推理,庞大的数据要实现推理的话,那需要的计算量是非常庞大的,而且新增一条记录,就需要进行一次庞大的推理。删除记录就更难了,还要计算一下这条记录被删除后,会对其他的数据,如推理出来的数据有什么影响,然后再判断能否删除。 继续阅读 »

sparql入门6

  发现Learning Sparql到了后面,能写到博客上来的就不多了,主要是对之前学过的东西进行复杂一些的应用说明。昨晚实在是太累了,一觉睡到大天亮呀。昨晚写的sparql入门5实在是太短了,今天要继续补上。

  之前我们说到过,要查询一个资源特定语言的描述,可以用如下的语句:

继续阅读 »

sparql 入门5

  今天突然很不想动笔,昨晚彻夜未眠,早上又睡过了,没有去上课。人生啊,还是继续学习吧,给我妹说高考前要平静,我现在也是临考前(各种实习招聘),但是我真的不淡定。希望我能静下来。

   今天要讲的是sparql的函数。本来还有关于RDF的数据类型的,但是那个和RDF有关,与sparql没有什么大的关系,所以就不打算写了。

   继续阅读 »

sparql入门4

    深深觉得,越长大就越不开心的原因,大概是我们不能再继续梦想、做梦了。小时候的那些梦想,都已经被现实击碎。我们渐渐也变得和我们的父辈一样,在平凡的生活中平淡着。最近,一连串的失败,让我感触颇深,我都不知道我现在该怎么办了。

    所以,只能继续学习了,我也不知道我学习的这条路到底对不对,能不能找到一份较为满意的工作呢?

    不说那么多伤心事了,还是继续学习吧!今天学习的是Learning Sparql的第四章,关于用Sparql对RDF数据进行操作的一章。下面是第一个关键字CONSTRUCT。CONSTRUCT能将查询的数据用RDF的形式进行返回,返回的格式与sparql的endpoint有关,ARQ返回的是Turtle,sesame好像返回的是RDF/XML格式的。下面看一个例子,就能大概知道它的使用方法了,如下: 继续阅读 »

sparql入门3

   还是继续跟着Learning Sparql学习sparql吧。最近很悲剧,发现语义网方面的招聘非常得少,而且仅有的几个都是要求硕士以上学历的,这个让我情何以堪呐!人生倒霉,总是一件接一件的。

   下面还是继续学习好了,化悲痛为力量!

    首先要介绍的是FROM关键词。FROM关键词可以限定你的查询的RDF文件,比如一个数据库里面存储了很多RDF文件,你只要查询其中的某一个,那么就可以用FROM关键字了,如下:

继续阅读 »

R语言绘图5

     忽闻高中一同学已经拿到了微软的实习offer,顿时觉得自己的大学更加失败了。做错了选择,然后未能在大学几年里做到认真专注,导致了我现在的失败。前几天看到搜狗王小川的一篇报道,他就是那种数学很好,然后生活一切都很顺的人。我遇到过很多这样的同学,数学都很好,然后学习也很轻松顺利。我大学之前成绩虽然一直都还不错,但我却不属于他们中的那种人,我需要付出更大的努力,才能取得和他们一样的成绩。人在智商和运气上的差别,有时候真的是让人很无奈的。

    还是继续学习R Graph Cookbook第五章吧。不知道十月份找工作的时候,R语言对我是否有点儿用处,但是现在我已经无路可走了,唯有把科学计算和语义网这两块学好一些,希望在接下来的几个月,做多一点东西,找到一份好的工作。

   继续阅读 »

sparql入门2

   发现要写好文章真的是很难很难的,不过要继续努力,希望我的博客能够给我找工作的时候加分。

   今天继续学习sparql,希望我写的文章能够帮到更多的人。

    首先要介绍的是not exists关键字。在SQL里面,存在着exist的关键字,以及not exist。sparql现在主要是模仿SQL的,他们都是第四代编程语言嘛,只需要人类输入所要的结果,不需要人类输入处理的过程,就能够返回给人类所要的东西。其他的一些内容请参见我前面的一篇sparql入门(在本文的下方应该有一个relate post链接,指向的应该就是它的了。

    继续阅读 »

R语言绘图4

   今天真的受刺激了,内心激愤不能眠呀,那就继续看书学习写博客吧,我要挽救回我的大学,我三年前做出了错误的选择,我现在只能努力了,努力追赶回来。我不知道剩下的5个月,我能做到怎么样的结果,但是唯有拼了。

    现在学习R Graph Cookbook,关于这本书的赞美,我已经在前面三篇文章中介绍了,这里就不再赞美了。下面用到的还是书中的代码,我只是理解了之后发到博客上来,很多理解不透的我就没有写了。

  继续阅读 »

sparql入门

    伯纳斯*李说过的,没有sparql的语义网,就像没有SQL的关系数据库,可见sparql对于语义网的重要性。不过sparql相对于SQL,还是弱了点,1.1版总算进步了不少,不过应该还是不够的,需要继续努力。

    我在学习上是属于先爬得很高很高,然后发觉自己底下很空很空,接着才会一个尽头钻入到基础知识方面的。这不,接触语义网这么久,也是最近才开始正规学习sparql的。不过,这也不能完全怪我,sparql就一直没有教材,就只有官方的入门文档。不过现在总算出了一本了,Learning Sparql,书不厚,200多页,而且owl,RDF方面也占用了一些页面,所以关于sparql的介绍也不是很多。这本书用的是ARQ来进行查询的,又没有告诉读者怎么搭建ARQ,还是挺麻烦的。

继续阅读 »

R语言绘图3

  今天还是继续学习R Graph Cookbook,作者真的是在R语言绘图方面很牛的人,对R语言内置的数据都能应用得如此熟练,少见的R语言教材能做到这一点,感觉R语言的绘图模块就是作者写的一样。

  今天学习的是第三章的内容,不够有些地方比较模糊,我也没有怎么看懂,所以只能把我理解懂了的放到博客上来。我以前学习的时候,总是纠结于过多我不懂的地方,然后浪费了很多时间也没有进展,现在我改变我的学习方法了,先继续学下去,不懂的地方在学习多了以后就会变懂了。

  继续阅读 »

wordpress实现评论回复的自动邮件通知功能

   建立了这个站点以来,收到的回复也不是很多。有件事让我感到比较奇怪,明明我很多评论都回复了,为什么他们就没有再来我这里看看回复的评论呢?之前到别人的wordpress上评论的时候,还总是能够得到评论回复的邮件通知,难道我的没有,又或者我的被发到垃圾箱里面去了?后来想想,大概是我的wordpress没有评论自动邮件回复的功能。

继续阅读 »

R语言绘图2

   R Graph Cookbook真的是一本关于R语言绘图方面很好的书,写得特别的详细,能让你感觉到特别得明白。我发现,看书学习的时候,跟着他练一遍,还是不够的,练习是很必要的,写下自己学习的过程到博客上能让自己对刚学习的过程明白很多。下面依然是我学习过程对书的理解,代码还是来自于书上的。

  书上讲到的par()函数作用真的是很大呀。第一个例子是关于背景色的问题,因为R语言绘图的背景默认是白色的,有时候需要修改一下背景色,但是又希望只是绘图区域是修改后的背景色,而希望绘图区域外的依然是默认的颜色。

还是直接代码和图比较容易说明。

继续阅读 »

建立owlim 的local repository更为科学的方式

  之前我写的一篇文章http://www.shahuwang.com/?p=485介绍了怎么样用java代码建立一个本地上的owlim的repository的方法,但是这个方法并不科学,比如,它对该repository的查询,只能利用建立这个repository时建立好的连接进行查询。如果你已经把一个RDF 文件A导入到一个owlim 的repository B里面去了,然后过几天你想从这个repository B里面查询,发现是查询不出结果的,因为上面这篇文章的方法少设置了很多的东西。

  如果仔细看owlim的文档,会发现有一个template文件建立repository的方式。然后我琢磨了好久好久,终于知道怎么用template文件和owlim(sesame也有)自带的console.sh/console.bat这个命令行工具建立一个local repository了。有几个比较坑人的地方。我的系统是ubuntu,启动这个console之后,它默认的文件夹路径并不是当前启动路径,而是在主目录下的一个隐藏文件夹里面,比如我的是/home/rickey/.aduna/openrdf-sesame-console,在这个文件夹里面,有好几个子文件夹,一个是templates,一个是repositories。前者是放置tempalte文件的,后者是放置建立的repository的。貌似是可以在建立的时候使用自己的路径而不是默认的这个路径,但是我不知道怎么弄,所以就直接使用默认路径好了。

   首先,是写好一个template文件,下面是我的tempalte文件:

 

继续阅读 »

无觅相关文章插件,快速提升流量