Erw*_*sle 17 semantic-web artificial-intelligence ontology sparql graphql
我现在正在对语义Web和代表个人与组织之间关系的复杂数据模型进行大量研究.我知道一些语义本体,虽然如果不制作图表,我从未理解它的用途.
我在大学维基上看到,质疑本体的语言是SPARQL(告诉我,如果我错了).
但最近我看到一家创建了语义本体的公司把它放在GraphQL的形式中,我不知道(https://diffuseur.datatourisme.gouv.fr/graphql/voyager/).
在我看来,语义本体是为了更好地查找信息,例如制作聊天机器人(这是我想要做的),但是在这里他们将语义本体转换为API,是不是?要创建GraphQL,我应该首先构建一个语义本体吗?
你能不能向我解释一下这一切之间的区别,老实说这对我来说有点模糊.
Sta*_*lin 19
上下文
Datatourisme是一个允许发布(通过Producteur组件)和消费(通过Diffuseur组件)与POI相关的开放数据的平台.
在GraphQL Voyager的帮助下,您似乎已链接到通过Diffuseur开发的特定应用程序.该应用程序说明了Diffuseur公开的GraphQL API的功能.
API文档可在此处获取(法语):
问题
为何选择RDF
部分由于某些"无模式",RDF在异构数据集成任务中很方便:
旅游国家本体以共同的共享格式构建从法国不同官方数据库中提取的整个旅游数据:娱乐和活动,自然和文化场所,休闲和体育活动,旅游产品,旅游,住宿,商店,餐馆.
RDF是语义的:特别是,RDF是自描述的.
SPARQL
SPARQL是用于RDF查询的W3C标准化语言.还提出了其他RDF查询语言.
顺便说一句,可以使用SPARQL查询非RDF源,例如定义R2RML映射.
RDF自我描述和SPARQL标准消除了每天创建或学习新(shitty)API的需要.
GraphQL
GraphQL允许包装不同类型的不同数据源,但通常它们是REST API.
如您所见,可以包装SPARQL端点(也存在HyperGraphQL).
为何选择GraphQL
为什么Datatourisme更喜欢GraphQL?
GraphQL更接近他们集体使用的开发人员和技术.在过去,JSON-LD有相同的动机(但是,请参阅我在这里关于JSON-LD的说明).
看起来,Diffuseur的GraphQL层提供API密钥支持并防止过于复杂的SPARQL查询.
数据是否仍然是语义的
结论
回答你的直接问题:
回答你的间接问题:
更新
除HyperGraphQL外,还有其他有趣的融合项目:
很快,差异是:
SPARQL(SPARQL 协议和 RDF 查询语言)是一种专用于查询 RDF 图数据库(CRUD 等)的语言。它是语义 Web 工具中的一个标准,由 W3C 推荐标准提供。
GraphQL 是 Facebook 创建的一种语言,与 JSON 非常相似,用于与 API 进行通信。它是客户端和服务器端点之间的通信工具。请求本身定义了答案的结构。它的使用不限于 SQL 或 NoSQL 或......“图形”并不意味着“由三元组组成的结构”,就像 RDF 一样。
这是针对不同应用程序的两种不同语言。
我从事语义Web已有多年。Graphql和Sparql是用于不同目的的不同语言。SPARQL是一种用于Triple存储,图形数据集和RDF节点的语言。Graphql是一种API语言,最好用于JSON结构。至于您的具体情况,我建议您阐明在应用程序中使用AI的目标。如果需要在应用程序中应用图形数据集,对数据集进行推理等更高级的知识发现,则可能需要使用语义Web方法将SPARQL应用于数据集顶部。如下图所示,语义Web通过本体设计和RDF大小化数据集展示了不同的层来执行知识发现,执行推理。
看到这里阅读更多。如果您的AI应用程序没有这样的要求,并且您可以使用基于JSON的数据库来完成数据分析,那么Graphql可能是创建您的API的一个不错的选择,因为如今它已被不同的Web和移动应用程序广泛使用。特别是,它用于通过不同的平台和微服务共享您的数据。有关更多信息,请参见此处。

希望能帮助到你!
我在之前的答案中没有看到的一个非常重要的区别是,虽然 SPARQL 通常是更强大的查询语言,但它只产生表格输出,而 GraphQL 提供树结构,这在某些实现情况下很重要。
| 归档时间: |
|
| 查看次数: |
4208 次 |
| 最近记录: |