Archive for the '其他' Category

Drupal对RDF的支持:RDF数据的查询

xtykc 08月 11th, 2010

SPARQL_endpoint模块提供了一个界面,支持用SPARQL语言查询Drupal站点中的RDF数据,并支持不同格式的输出方式:XML, JSON, Serialized PHP, Turtle, RDF/XML, query Structure, HTML Table, TSV.

这个模块安装启用后,需要在站点上做如下配置,才能生效:

1. 设置好用户权限。在Drupal里,新的模块启用后,即需要考虑与之相关的用户权限的问题。在这里,需要设置好anonymous用户“access RDF data”的权限。

2.重建RDF索引。(居然是手动的,还没找到自动索引的方式,不知道设置好cron对RDF索引是否有效?)

需要注意的是,这个模块不适用于大型站点,因为RDF索引比较耗时,如300个节点1650个三元组大约耗时1分30秒。

以下是查询结果片段(RDF/XML格式):

<?xml version=”1.0″ ?>
- <sparql xmlns=”http://www.w3.org/2005/sparql-results#>
- <head>
<!–

 query time: 0.1066 sec

–>

<variable name=”g />
<variable name=”s />
<variable name=”p />
<variable name=”o />
</head>
- <results>
- <result>
- <binding name=”g>
<uri>http://localhost/ld/node/4/rdf</uri>
</binding>
- <binding name=”s>
<uri>http://localhost/ld/node/4</uri>
</binding>
- <binding name=”p>
<uri>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</uri>
</binding>
- <binding name=”o>
<uri>http://localhost/ld/ns#Chineseera</uri>
</binding>
</result>
- <result>
- <binding name=”g>
<uri>http://localhost/ld/node/4/rdf</uri>
</binding>
- <binding name=”s>
<uri>http://localhost/ld/node/4</uri>
</binding>
- <binding name=”p>
<uri>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</uri>
</binding>
- <binding name=”o>
<uri>http://www.w3.org/2006/time#Interval</uri>
</binding>
</result>

LD & Library Presentations and papers

Drupal & Linked Data重要资料

xtykc 08月 3rd, 2010

这两位PPT是一个项目组的成果,PPT的模板都一样,不过内容大不相同,2010年的内容异常丰富,是对粗通Drupal和LD的人的一个全面的培训。
View more presentations from scorlosquet.

OWL时间本体学习笔记

xtykc 08月 1st, 2010

OWL-Time,OWL的时间本体Time Ontology包含以下类和属性:

类和子类的关系

  • TemporalEntity(时间实体,有两个子类instant和interval,instant我理解为时间点,interval我理解为时间段。它有一对属性hasBeginninghasEnd,这两个属性的取值都为instant。instant也可以看做是biginning和end相同的interval。它的另一个属性inside可以确定instant和interval的关系,取值为Instant。它还有一对属性before和after用来表示temporalEntity之间的关系,取值范围也为temporalEntity。最后一个属性hasDurationDescription将在下文提到。

    • Instant

    • Interval(beginning和end可以确定一个interval,如果它们都存在。interval可以没有beginning,或没有end。)

      • ProperInterval (beginning和end不同的interval,properInterval之间的关系可用如下属性表示:intervalEquals, intervalBefore, intervalMeets, intervalOverlaps, intervalStarts, intervalDuring, intervalFinishes; intervalAfter, intervalMetBy, intervalOverlappedBy, intervalStartedBy, intervalContains, intervalFinishedBy.)

        • DateTimeInterval(是ProperInterval的子类,它有且只有它有一个DateTimeDescription。

  • DurationDescription(是对interval的期间的不同表述方式,如1天2小时,26小时,1560分钟等。其属性有:years,months,weeks,days,hours,minutes,seconds。hasDurationDescription是temporalEntity的属性,用来规定一个temporalEntity的表述方式,取值范围为DurationDescription。)

  • DateTimeDescription(时间日期描述。属性有unitType, year, month, week, day, dayOfWeek, dayOfYear, hour, minute, second, 和 timeZoneunitType是DateTimeDescription的单位类型,取值范围为TemporalUnit。如”10:30″的单位类型为minute,”March 20, 2006″的单位类型为day。hasDateTimeDescription是DateTimeInterval的属性,取值范围为DateTimeDescription。只有DateTimeInterval才有DateTimeDescription。 “May 8”是个DateTimeInterval,它有DateTimeDescription,但interval “1:30pm, May 8~1:30pm, May 9″就没有DateTimeDescription。DateTimeDescription通常只是DateTimeInterval的描述,而不是一个实例。但它可用inDateTimeinXSDDateTime这两个instant的属性来描述,注意,这两个属性是Instant的属性,它们是用来规定一个instant处于某个时间间隔DateTimeInterval之间,唯一不同的是它们的取值范围,inDateTime的取值为DateTimeDescription,inXSDDateTime的取值范围为XML Schema datatype dateTime。它的另一个属性DayOfWeek的取值为DayOfWeek类:Sunday :Monday :Tuesday :Wednesday :Thursday :Friday :Saturday。)

  • TemporalUnit

  • DayOfWeek

一个子类继承父类属性的例子:

A Use Case for Scheduling

Suppose someone has a telecon scheduled for 6:00pm EST on November 5, 2006. You would like to make an appointment with him for 2:00pm PST on the same day, and expect the meeting to last 45 minutes.  Will there be an overlap?

In this use case we can specify the facts about the telecon and the meeting using our ontology in OWL that will allow a temporal reasoner to determine whether there is a conflict:

:telecon
a :Interval ;
:hasBeginning :teleconStart .

:meeting
a :Interval ;
:hasBeginning :meetingStart ;
:hasDurationDescription
:meetingDuration .

:teleconStart
a :Instant ;
:inXSDDateTime
2006-11-05T18:00:00-5:00 .

:meetingStart
a :Instant ;
:inXSDDateTime
2006-11-05T14:00:00-8:00 .

:meetingDuration
a :DurationDescription ;
:minutes 45 .

The telecon and the meeting are defined as intervals. hasBeginning is used for specifying the start times of the meetings. The datetimes are specified using inXSDDateTime. The duration of the meeting is specified using the duration description class.

其中,telecon和meeting都被定义为Interval类,但telecon和meeting的属性:hasBeginning 和hasDurationDescription都是Interval的父类TemporalEntity的属性。

属性列表

Property Name

Domain

Range

before

TemporalEntity

TemporalEntity

after

TemporalEntity

TemporalEntity

hasBeginning

TemporalEntity

Instant

hasEnd

TemporalEntity

Instant

inside

Interval

Instant

intervalEquals

ProperInterval

ProperInterval

intervalBefore

ProperInterval

ProperInterval

intervalMeets

ProperInterval

ProperInterval

intervalOverlaps

ProperInterval

ProperInterval

intervalStarts

ProperInterval

ProperInterval

intervalDuring

ProperInterval

ProperInterval

intervalFinishes

ProperInterval

ProperInterval

intervalAfter

ProperInterval

ProperInterval

intervalMetBy

ProperInterval

ProperInterval

intervalOverlappedBy

ProperInterval

ProperInterval

intervalStartedBy

ProperInterval

ProperInterval

intervalContains

ProperInterval

ProperInterval

intervalFinishedBy

ProperInterval

ProperInterval

years

DurationDescription

xsd;decimal

months

DurationDescription

xsd;decimal

weeks

DurationDescription

xsd;decimal

days

DurationDescription

xsd;decimal

hours

DurationDescription

xsd;decimal

minutes

DurationDescription

xsd;decimal

seconds

DurationDescription

xsd;decimal

hasDurationDescription

TemporalEntity

DurationDescription

unitType

DateTimeDescription

TemporalUnit

year

DateTimeDescription

xsd;gYear

month

DateTimeDescription

xsd;gMonth

week

DateTimeDescription

xsd;nonNegativeInteger

day

DateTimeDescription

xsd;gDay

dayOfWeek

DateTimeDescription

DayOfWeek

dayOfYear

DateTimeDescription

xsd;nonNegativeInteger

hour

DateTimeDescription

xsd;nonNegativeInteger

minute

DateTimeDescription

xsd;nonNegativeInteger

second

DateTimeDescription

xsd;decimal

timeZone

DateTimeDescription

tzont;TimeZone

inDateTime

Instant

DateTimeDescription

inXSDDateTime

Instant

xsd;dateTime

hasDateTimeDescription

DateTimeInterval

DateTimeDescription

xsdDateTime

DateTimeInterval

xsd;dateTime

美国行记(二):在路上

xtykc 07月 27th, 2010

机票

我们是6月24日中午12点的飞机,东航MU588,从上海到纽约拉瓜迪亚机场(LGA)转机到华盛顿特区里根机场(DCA)。到纽约是美国时间下午2点多,从纽约出发的时间是下午6点35,晚上8点半左右到达华盛顿。订票的时候咨询了一位出国达人,因为抵达美国之后需要办理入境和安检手续,还要转机,比较耗时,时间要留得充足一点,3个小时是要的,我们预留了将近4个小时,事后证明非常明智。

出发

24日一早8点半,我们从家里出发去浦东机场,一般的建议是国际航班提前3小时到机场,国内航班提前2小时,9点半到达浦东机场1号航站楼,顺便记住了航站楼的英文”Terminal”,办理登记牌,托运行李,安检,11点半开始登机,飞机12点准时起飞,到达纽约需花费14小时左右,我第一次踏上了离开“伟大祖国”的征途,兴奋伴随着些许恐惧和焦虑,远在大洋彼岸的美国,对我来说,还是充满了神秘和陌生。

飞机飞越太平洋,经过位于美国东海岸的阿拉斯加时,地面温度零下48摄氏度,我们打开飞机窗户的遮光板,看见雪山的尖顶在云海中沉浮,初升的红日为雪山涂上一抹娇红,宛如美人面上的胭脂,娇俏异常。

入境 安检 转机

进入美国,须填写两份表格,一份是美国海关申报单,一份是美国出入境证明单,即I-94表。在飞机上,空姐就把这两张表发在我们手里,因为之前做过了功课,我们很快就用英文大写字母填好了这两张表,海关申报单上需说明是否带有植物的种子、食物等禁止入境的物品,我都填写了无,但是我的托运行李里面有好几桶方便面,都是牛肉的,询问了空姐,说是不允许的,最好吃掉或者扔掉,无奈。

飞机抵达纽约LGA机场时,透过窗户,看到机场中心的草坪,杂草丛生,还枯黄枯黄的,想到上海随处可见的修剪得整整齐齐的草坪,一色的碧绿油亮,颇为不解。下了飞机之后,即是办理入境手续,在国内美领馆签证通过并不代表能进入美国,在机场还要通过美国移民局的入境审查,这一点,让人颇觉不安。等待入境的人很多,找到VISITORS窗口排队,另外一边的窗口是针对美国公民AMERICAN CITIZEN的,排了将近一个小时,轮到我们了,同事先过去,问了一会儿被移民局的官员带走了,不过看样子不是什么大问题,不久这个官员回来了,示意我也过去,问了和面签时差不多的几个问题之后,让我直接去拿行李,我问他我的同事哪里去了,他告诉我,同事的指纹有点问题,他找人去帮她fix,这个官员的态度比美领馆签证官差了不少。我在bagage claim处找到我和同事的行李,等了好久,也不见同事的身影,我的心开始七上八下,同事的手机在美国没信号,我联系不上她,我想,不管怎么样,我就在这里等她,如果等不到,我再去找那个移民官。好在过了不知多久,同事终于奔了过来。原来那个移民官把她带进去的时候,根本没告诉里面的人她只是因为指纹的原因,直接把她扔在那里就走了,里面也有不少人正在等着,那里的官员更加牛B,根本不理她,她过去催了一次,那个官员就发火了,她只得连说了几个SORRY,另一个官员看了她的资料,就把她放了出来,也没有再去取指纹,不解之二。

我打开自己的行李,取出方便面,扔到了垃圾桶里面,把报关单交给安检员,即顺利地通过了安检,也没有打开我的行李检查,可惜了我的牛肉面,本来是准备晚上到华盛顿如果来不及吃晚饭就靠它们了,我们的晚餐啊。

通过安检之后,就来到了一个connecting flights的柜台,这里就是办理转机的地方了。有些人在排队,同事发现了东方航空的柜台后有一位华人,就过去问了转机的事,他告诉我们去华盛顿的达美航空在2号航站楼,要坐air train过去,不过后来另一个年龄稍长的人告诉我们,直接走出1号航站楼,在地面步行几分钟即可到达。我们在此地重新托运了行李,换到了登机牌,不得不说,美国的登机牌远没有贵国的华丽和硬挺,只是一张普通的薄纸条,打印的文字像复印的,不甚清晰,也没有座位号。

我们走出1号航站楼,外面阳光正好,我第一次晒到了美国的太阳,温度大概30度左右,天空灰蓝,白云稀薄,远处静立数棵老树,隐见几座旧楼,与一般的机场并无二致,甚至并不如浦东机场的开阔和亮堂。机场上有几个黑人大汉在搬运货物行李,各种大大小小的车辆穿梭来往,当看到国航的几架飞机上写着“中国航空”这几个汉字时,莫名的亲切感油然而生。

果然,走了没几分钟,就到了2号航站楼,我们找到了航班所在的登机口,逛了几个免税商店,登机的时间差不多就到了。在登机处,我们的登机牌被换成了更为小气的小纸片,只有一个模糊的条码号和航班号等简单信息。我们终于登上了从纽约飞往华盛顿的班机,达美(Delta)航空的DL6733,这是我坐过的最小的飞机,一排4个座位,里面只有一个空姐,如果说那位黑人大妈还是空姐的话,她看了我们的登机牌,让我们坐到“behind 4 lines”那里去,我想了好一会儿才明白她是啥意思,为什么不说“last 4 lines”呢?我们坐到了最后一排,一抬头,竟然发现飞机的舱壁上有一条裂缝,露出包装泡沫一样的内填物,看来,这不仅是我坐过的最小的飞机,还是最破的飞机了。整个飞机里只有我们两个亚洲人,我举起相机想给同事拍张照片,坐在旁边的一位绅士礼貌地举手冲着我摇了摇,伴随一个亲切明朗的笑容,我即明白了他的意思,说了声SORRY,调整了相机的角度,心里感到非常舒服,笑容真是一个万能通行证,我也终于感受到了米国人与贵国人的不同之处。

飞往华盛顿

飞机在机场的跑道上排了好久的队,大概40分钟了,也没有起飞,我等得有点不耐烦了,机内的乘客貌似司空见惯,没有人说话,都在昏昏欲睡,非常安静,我们也只得等待。大概7点半的时候,飞机终于起飞了,此时,宛如午后的灿烂阳光斜照在飞机上,华盛顿越来越近了。

(未完待续)

美国行记(一):准备去远方

xtykc 07月 14th, 2010

今年对于我来说,真是五味杂陈,悲喜交加的一年。

年初的时候,突然被通知准备赴美参加ALA年会的各种材料,当时的感觉那是相当的惊悚。当然幸好还有另一名其他部门的同性同事同行,这是单位的惯例。于是3月份起,我们就开始为参加这一会议做准备,首先是索要邀请函,这是通过赴美签证的重要凭证。ALA当然有自己的网站,同时也为今年的年会开辟了专题,我们从网站上找到了诸多基于分工的不同联系方式,由于网站上没有明确说明索要邀请函具体应该联系哪个联系人,再加上时差的关系,以至于我们索要邀请函的过程相当曲折,从我们致信到得到邀请函,一共历时两周有余,其间也曾求助过几位大佬,在此谢过不表。

接下来是会议注册,ALA不愧为业界老大,果然无比强大,网站上为注册者提供了多种多样的注册方式,下载填写注册表通过邮件或传真发送、在线注册、现场注册等,注册费也根据时间段提供了不同价位的选择。最便宜的时候250美刀左右,最贵当然是现场注册(on site registeration)了,要掏380刀,贵了好多,现场注册也可以网上进行,由于从没去过米国,又听说美国头次签证很难,在米国人眼里,米国当然是世界上最美的地方,与贵国相比,似乎是天堂之比地狱,所以任何去米国的贵国人,都有常驻米国乐不思蜀的嫌疑。SO,我们很胆小,不得不等签证成功后才敢付注册费,鉴于签证结果之深不可测,SO,我们最后当然支付了380刀,白白被多宰了100多刀。

接下来就准备各种签证的书面材料,和签证申请流程,这些自然由单位里专门负责这些事务的专职人员搞定,无可赘述。到了5月底的时候,终于等来了面签通知,在面签前几天,开始在网上猛搜赴美面签攻略,认真地研习了一番,所谓“临时抱佛脚”是也!因为听说第一次美国签证不通过的话,将来到欧洲的签证也难,所以不得不重视。到了面签那一天,带好了各种资料(面签通知单、护照、邀请函、行程单、收入证明、工作证明、银行开具的存款证明、房产证等等所有表明你和贵国密不可分的东西,甚至还准备了一家人其乐融融的照片),我们早早赶到了梅龙镇广场,排队的人真不少,有很多是从江浙特意赶来的。由于米国人的安全意识异常浓厚,面签之前的安检尤其严格,所以我们不得不把包寄存到旁边的美琪大剧院的寄包处,寄包处的大爷居然还负责帮我们把准备好的材料分分类,按主次顺序理理好,莫名惊诧之。终于到了著名的梅陇镇广场8楼,进去一看,弯弯曲曲的排队队伍挤满了整个大厅,于是脱鞋解皮带通过安检,顺便提一句,负责安检的保安大叔,那态度果然名不虚传,不是一般的凶狠,让人忐忑不安的心情更添几分紧张。

排了将近两个小时,期间经过采集指纹等程序,终于能看到签证官(简称VO)的真容了,清一色的白种人,居然都不时地操着一口流利的汉语,观察良久,没有看到明显被拒的人,这天是因公签证专场,看来因公签证还是很好通过的,我的心也放下了一大半。轮到我时,签证官是个帅哥,很主动很礼貌地对我说“你好”,我也就顺水推舟地用汉语回答了他的几个简单的问题,然后他又问我会说英语吗?我说我会,于是又用英语对答了一番,无非就是去米国干什么,呆多久,去哪里之类的问题,除了看了我的邀请函之外,其他准备的东东一律没看过。接着他在电脑上噼里啪啦地操作了一番,最后微笑着用汉语对我说:你通过了,我说了谢谢,这样,我就顺利地拿到了去米国的签证。

再接下来,我们通过机票代理机构订好了机票和酒店,这时候离出发的时间只有不到20天,所以订到的机票也是相当的贵,再接下来就开始研究到了米国之后的具体行程,从下了飞机到如何坐地铁到酒店,如何去会议地点,如何参观当地名胜等等。同时开始打理行装,这里不得不感谢某位前辈多年前的提醒,那就是出国一定要准备一个结实耐用的旅行包,否则到了国外,一旦包包经不起折腾而散架,会带来诸多的麻烦。我对这位前辈向来敬仰,他的话我确信无疑,以至于多年后还能牢记于心,于是特意到青浦的奥特莱斯,买了一个大号的爱思箱包,事实证明,这个包还是经受住了重重考验,终于完璧而归!有点可惜的是,爱思(ACE)是个日本的牌子~~~~~·

(未完待续)

苏轼《江城子.十年生死两茫茫》英文版

xtykc 05月 6th, 2009

网上偶然看到美国著名汉学家Burton Watson翻译的《江城子.十年生死两茫茫》,看了才知道“文化差异”这个东东是客观存在的,虽然我对那些热爱东方文化的老外,敬仰之情如滔滔江水,但仍然要为苏东坡感到庆幸,幸好当年的科举考试不考英语四六级,不然,用当年明月的话说:“岂不是要气得活过来?”,同时活过来的,恐怕还有那位不幸芳华早逝而又幸运无比的苏夫人王弗吧。

下面是Burton Watson的译文:

Ten years, dead and living dim and draw apart.

I don’t try to remember,

But forgetting is hard.

Lonely grave a thousand miles off,

Cold thoughts, where can I talk them out?

Even if we met, you wouldn’t know me,

Dust on my face,

Hair like frost.

In a dream last night suddenly I was home.

By the window of the little room,

You were combing your hair and making up.

You turned and looked, not speaking,

Only lines of tears coursing down.

Year after year will it break my heart?

The moonlit grave,

The stubby pines.

附苏轼原词:

江城子.苏轼

十年生死两茫茫,不思量,自难忘。

千里孤坟,何处话凄凉。

纵使相逢应不识,尘满面,鬓如霜。

夜来幽梦忽还乡,小轩窗,正梳妆。

相顾无言,唯有泪千行。

料得年年肠断处,明月夜,短松冈。

回眸一笑

xtykc 03月 30th, 2009

思念

xtykc 02月 26th, 2009

内容管理软件:DSpace & Fedora

xtykc 08月 1st, 2008

比起Fedora来说,DSpace由于其简单易用性,在图林大行其道,这在上一篇博文中的统计数据中就可见一斑,甚至有一“腕儿”提出要将其作为“图书馆的核心引擎来构建Lib2.0”(参考文献1)。而Fedora多种元数据方案的支持和强大的可扩展性,又让人心向往之。可惜二者都有一些无法忽视的缺陷,有些甚至是致命的,比如说DSpace不能支持多样化的元数据方案;而Fedora没有提供可操作的Web界面,需要二次开发,还不能拿来就用,这无形中提高了其使用的门槛。

好在,已经传出了Dspace和Fedora联合的消息,不知二者要怎样去取长补短呢?我们拭目以待吧。

参考:

1.叶鹰,黄晨,基于DSpace的Lib 2.0,《大学图书馆学报》-2006年24卷3期 -2-5页

2.董丽 , 张蓓 , 邢春晓,开放源代码的数字资源管理系统DSpace和Fedora的分析和比较,现代图书情报技术 ,2005年07期

Next »