我正在编写haskell中的语义Web应用程序.
使用hsparql http://hackage.haskell.org/package/hsparql,我可以访问我的Tripple商店.目前我使用http://4store.org/(主要是因为它易于安装).我使用snap http://snapframework.com/进行servlet编程(Yesod非常酷!!).
目前,我使用SKOS来表示RDF中的书签类别.
关于SKOS的链接:
> http://www.w3.org/TR/skos-reference/
> http://www.athenaeurope.org/athenawiki/index.php/SKOS
基本上,Skos概念是一个类别.它有一个URL(作为一种ID)
和一个标签.进一步的Skos Concepts可以有子概念,定义为“更广泛”
和“更窄”.
例如,在我的书签中有SKOS概念“所有书签”,带有子概念
“哈斯克尔书签”.这两个概念都有一个URL(例如ID)和一个Label.
“haskell书签”也有一个关系,即更广泛的概念是“所有书签”.
我的问题
我需要一个针对SKOS的haskell数据结构.
我现在的是:
-- Type Aliases.type Url = Stringtype Label = String-- Date Structure.data SkosConcept = SkosConcept { url :: Url,label :: Label,subConcepts :: [SkosConcept] } deriving (Show)
我认为这不是一个好方法,但我不知道更好的方法.
此外,将来数据结构需要扩展到多个标签,
以及存储相关概念的方法,……
一些概念也可能没有任何子概念.
关于如何改进数据结构或“做对”的任何指示?
=====编辑:======
问题是skos概念可能有多个更广泛的skos概念.
因此,我的“haskell书签”可以有两个更广泛的skos概念(例如类别),名为“编程书签”和“我的重要书签”.
我现在能想到的唯一解决方案是使用:
> skos概念“更广泛”关系的有向图
>二进制关系“更广泛”(但我不知道是否有良好的haskell支持)
>没有中间数据结构,我的所有函数都在查询RDF Tripple Store
cf:http://hackage.haskell.org/package/fgl
总结以上是内存溢出为你收集整理的SKOS(语义Web)的Haskell数据结构全部内容,希望文章能够帮你解决SKOS(语义Web)的Haskell数据结构所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)