我想知道RDFa是如何被使用的。更具体地说,如果数据的语义web由RDF中的三元组组成,那么RDFa内容的使用者如何使用这些数据呢?是否必须使用像GRDDL这样的工具进行转换?或者,是否有其他方法可以从RDFa网站获取语义数据?
谢谢,布鲁斯
发布于 2011-06-10 15:08:37
一种方法是使用RDFa解析器从RDFa文档中提取三元组,然后在应用程序中处理它们。我想,这就是Google和co在他们的搜索引擎中所做的事情。
或者,您可以使用SPARQL存储的API或SPARQL 1.1的load命令告诉SPARQL存储(在内存中或持久存储)加载文档,然后使用SPARQL查询访问数据。这也将允许您同时跨多个文档进行查询。
我可能会建议不要尝试直接处理三元组,除非你的应用程序或数据非常简单。
发布于 2011-06-10 08:27:29
访问RDF数据的方法有很多。例如,像dbpedia这样的网站有一个sparql端点,所以您可以用某种数据库语言直接查询三元组。这是非常方便的。
有时,您还可以直接获取rdf,并使用Jena (Java)等框架对其进行解析。
发布于 2011-06-10 16:51:59
RDF只是一个通过命名边将节点(通常是资源)连接到其他节点(其他资源或文字)的图,但有一点扭曲。可以通过逻辑推断边缘,这意味着即使您从未逐字提供答案,您也可以获得问题的答案。推理引擎足够智能,可以从它对系统的了解以及它对它所描述的逻辑的了解中得出这些答案。示例:如果您指定A是B的母亲,则推理引擎可以推断B具有父A。您从未指定连接B -- hasParent -> A的边,但您指定了A -- motherOf -> B,并且您还指定了hasParent和motherOf是相反的。
一旦你有了数据,你就可以向数据库/推理引擎提问了。这个操作基本上是一个子图同构搜索。您的查询是一个图,并且您的数据库包含一个巨大的图,其中所有资源都由命名边连接。数据库的任务是找到巨型图中与您的查询匹配(同构)的部分,同时考虑到每个边和节点的味道,而不仅仅是它们的互连性。
它是用来做什么的?很多事情。你可以用这个数据模型做非常强大的事情。一个很容易理解的是思考社交网络:通过关系(friendOf)连接并被描述(isAged,livesIn)的人(资源,图的节点)。通过查询,您可以找到所有23岁的人,他们至少有三个女性朋友,并且住在巴黎。
https://stackoverflow.com/questions/6300743
复制相似问题