问题标签 [json-ld]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
491 浏览

geojson - JSON-LD 规范化 - 忽略 JSON 嵌套

我正在处理 JSON-LD 序列化,理想情况下,我希望有一个@context可以添加到现有 GeoJSON 输出(连同一些@ids 和@types),以便 Turtle 输出和 JSON-LD 输出都将正常化到相同的三元组。

数据组织如下:每个对象/特征都有一个 ID 和一个名称,以及一个或多个图层上的数据。每层都有一个数据字段,其中包含一个 JSON 对象。

示例 GeoJSON 输出:

示例海龟输出:

属性对象没有自己的 URI。有没有办法创建一个考虑属性内容的 JSON-LD 上下文,但进一步“忽略”它的存在?

0 投票
2 回答
597 浏览

json - 无法加载 JSON-LD 远程上下文

我正在尝试使用 JSON-LD,但在加载远程上下文时遇到问题,我不断收到错误消息“取消引用 URL 没有产生有效的 JSON-LD 对象”。

我已将上下文从http://json-ld.org/contexts/person复制到我们的服务器(http://vocab.lappsgrid.org/person.jsonld),我正在 JSON-LD 操场上进行测试(http: //json-ld.org/playground/)。我的第一个想法是返回文档的内容类型不正确,但我仔细检查了内容类型是 application/ld+json 所以我不知道还有什么问题;据我所知,这两个上下文是相同的,所有相关的标题字段也是如此。

谁能发现问题?

0 投票
1 回答
586 浏览

json-ld - 如何在 JSON-LD 中描述三元组的谓词/边?

我是 JSON-LD 和 LOD 的新手,所以请原谅我使用的术语。我正在努力在 JSON-LD 中创建一个数据模型,以描述基于欧洲数据模型 ( http://pro.europeana.eu/edm-documentation ) 的聚合数字馆藏。

我想创建一个描述关系的@context 区域:

矿石:聚合 --- edm:aggregatedCHO --> edm:ProvidedCHO

(其中 'edm:aggregatedCHO' 是谓词/边),但我想在我的模型中将 edm:ProvidedCHO 标记为 'sourceResource'。

目前我的@context 看起来像这样:

我的意图是使用@type 定义谓词('edge'),使用@id 定义节点内容,但是在查看 W3C 建议之后,这似乎不正确,并且'edm:ProvidedCHO' 实际上应该是@type,因为它描述了节点的内容类型(http://www.w3.org/TR/json-ld/#typed-values)。

一般来说,我的问题是,您在哪里/如何在 JSON-LD @context 语句中包含三元组的谓词?

具体来说,在这种情况下,我如何表示一个名为“sourceResource”的节点,该节点包含 edm:ProvidedCHO 对象,每个对象都是 edm:aggregatedCHO?

0 投票
1 回答
12408 浏览

schema.org - 网页上的任何示例实现 JSON-LD 文档

我需要查看在 HTML 中具有嵌入式 JSON-LD 对象的任何文档。

我在我的架构中嵌入了一个 JSON-LD 对象。我有来自 2 个来源 schema.org 的上下文,我的自定义词汇集与 www.mysitename/vocab 的 scheam.org 参考进一步协商。

在这里,我提供了一个带有 .jsonld 文件扩展名的下载链接。我需要查看任何已在其中嵌入 JSON-LD 对象的 HTML 文档的引用以了解它。

下面是我的 HTML 文档源代码中嵌入的 JSON-LD 对象:

0 投票
3 回答
185 浏览

database - 使用 Web 应用程序处理慢速数据库的策略

我们正在尝试找出在实时网站上使用慢速数据库的最佳解决方案。

基本的系统架构是这样的:

  • 慢(一些读取和大多数写入很快,其他需要几秒钟)Postgres DB。我们无法控制这一点。
  • 一个访问 Postgres DB 的单片离线系统。我们无法控制这一点。
  • 可以访问 Postgres 数据库的快速内部服务器。我们可以为此服务器开发和安装软件。
  • 运行 LAMP 堆栈的快速 Web 服务器,它可能无法访问 Postgres 数据库,但可以访问内部服务器。我们可以为这个服务器开发软件。
  • 任何东西都可以访问的快速 MySQL 数据库。我们可以完全控制这一点。

我们正在使用 Symfony 2 开发一个新的 Web 应用程序以在 Web 服务器上运行。

我们最初的计划是创建一个 RESTful API 放在内部服务器上,供 Web 应用程序使用。我们面临的主要问题是 Web 应用程序的速度受到 Postgres DB 速度的限制,这是用户无法接受的。

有谁知道解决这个速度问题的任何策略?

缓存是显而易见的解决方案,我们当然可以讨论数据的最新程度,但在某些情况下,它必须绝对是最新的。例如,如果用户保存了一些更改,这些更改应该立即出现。我们已经考虑让 API 拥有自己的快速数据存储,它从 Postgres 异步更新。然后,我们可以在这个快速存储上执行所有读取,同时向该存储和 Postgres 提交写入。担心的当然是数据的一致性和系统复杂性的增加。

我们正在探索使用 JSON-LD 来表示数据,因为它非常适合我们正在使用的内容,并且使用一个标准,尽管是一个相对年轻的标准,应该可以缓解任何可能发生的重大架构变化。由于它可以直接放入文档存储中,因此可能会简化该过程。

我们的主要目标是:

  • 为用户提供良好的体验。
  • 创建一个可维护且易于理解的系统。

任何建议或建议都将受到欢迎!

0 投票
1 回答
405 浏览

hateoas - 关注 JSON-LD API 中的所有链接

假设我想使用返回 JSON-LD 的 API 并关注所有链接。(我正在试验Hydra API-Demo,但它应该适用于所有 JSON-LD API,而不仅仅是基于Hydra的 API。我应该尝试任何好的 API 吗?)

所以我想关注所有链接,而我的环境没有原生 RDF 支持。可能,我应该首先使用其中一个库对其进行解析,然后使用jsonld.expand(). 然后我只用 key 获取所有值@id。这是推荐的方法还是我错过了一些边缘情况?

0 投票
1 回答
2001 浏览

json-ld - @context 中的 json-ld @id 和 @type 有什么区别?

我在此处复制了json-ld 标准中示例的一部分:

我不明白,为什么我们应该@id@context. 它应该是:

你有什么解释吗?

几年过后

我想上面的意思是以更可重用的形式表示以下内容:

如果我们先检查扁平形式并尝试逐渐压缩它,则更容易理解。所以 the@id是属性的 IRI,而 the@type是值的类型,这里是@id,这可能会令人困惑,但这只是意味着我们期望 IRI 作为值。

0 投票
1 回答
61 浏览

rdf - 为什么我们在词汇 IRI 中同时需要 # 和 /?

我正在尝试使用 json-ld 做一些工作,我遇到了 2 种 vocab IRI:

为什么是这样?它与如何处理文件有关吗?

0 投票
2 回答
1349 浏览

rest - 将 HAL 词汇与 JSON-LD 结合使用

我想知道,有没有办法将 HAL 概念与 JSON-LD 一起使用?

我有当前的 jsonld 文档:

但我不知道如何定义 that hrefhas a @typeof @id,依此类推...

有没有办法基于 RDF(S) 定义 HAL 词汇并以某种方式将其导入到我的 jsonld 文档的@context 中,或者我应该做其他事情吗?
(我试图用各种属性来描述超链接,比如链接关系、HTTP 方法、接受的媒体类型、语言、IRI 模板、输入字段等......所以@id类型不足以让我描述链接。)

0 投票
1 回答
1285 浏览

angularjs - 当来自服务器的数据在Angularjs中为空时如何隐藏表行

当来自服务器的数据为空时,如何隐藏表行,我正在使用 json-ld 和 angularjs。

这是我的 HTML Angular 模板。

我认为,如果 {{data['ts:versionID']}} == 为空,{{data['ts:versionID']}} == '' 将返回 true。当条件返回真时,它应该隐藏...