问题标签 [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.
geojson - JSON-LD 规范化 - 忽略 JSON 嵌套
我正在处理 JSON-LD 序列化,理想情况下,我希望有一个@context
可以添加到现有 GeoJSON 输出(连同一些@id
s 和@type
s),以便 Turtle 输出和 JSON-LD 输出都将正常化到相同的三元组。
数据组织如下:每个对象/特征都有一个 ID 和一个名称,以及一个或多个图层上的数据。每层都有一个数据字段,其中包含一个 JSON 对象。
示例 GeoJSON 输出:
示例海龟输出:
属性对象没有自己的 URI。有没有办法创建一个考虑属性内容的 JSON-LD 上下文,但进一步“忽略”它的存在?
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 所以我不知道还有什么问题;据我所知,这两个上下文是相同的,所有相关的标题字段也是如此。
谁能发现问题?
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?
schema.org - 网页上的任何示例实现 JSON-LD 文档
我需要查看在 HTML 中具有嵌入式 JSON-LD 对象的任何文档。
我在我的架构中嵌入了一个 JSON-LD 对象。我有来自 2 个来源 schema.org 的上下文,我的自定义词汇集与 www.mysitename/vocab 的 scheam.org 参考进一步协商。
在这里,我提供了一个带有 .jsonld 文件扩展名的下载链接。我需要查看任何已在其中嵌入 JSON-LD 对象的 HTML 文档的引用以了解它。
下面是我的 HTML 文档源代码中嵌入的 JSON-LD 对象:
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 来表示数据,因为它非常适合我们正在使用的内容,并且使用一个标准,尽管是一个相对年轻的标准,应该可以缓解任何可能发生的重大架构变化。由于它可以直接放入文档存储中,因此可能会简化该过程。
我们的主要目标是:
- 为用户提供良好的体验。
- 创建一个可维护且易于理解的系统。
任何建议或建议都将受到欢迎!
hateoas - 关注 JSON-LD API 中的所有链接
假设我想使用返回 JSON-LD 的 API 并关注所有链接。(我正在试验Hydra API-Demo,但它应该适用于所有 JSON-LD API,而不仅仅是基于Hydra的 API。我应该尝试任何好的 API 吗?)
所以我想关注所有链接,而我的环境没有原生 RDF 支持。可能,我应该首先使用其中一个库对其进行解析,然后使用jsonld.expand()
. 然后我只用 key 获取所有值@id
。这是推荐的方法还是我错过了一些边缘情况?
json-ld - @context 中的 json-ld @id 和 @type 有什么区别?
我在此处复制了json-ld 标准中示例的一部分:
我不明白,为什么我们应该@id
在@context
. 它应该是:
你有什么解释吗?
几年过后
我想上面的意思是以更可重用的形式表示以下内容:
如果我们先检查扁平形式并尝试逐渐压缩它,则更容易理解。所以 the@id
是属性的 IRI,而 the@type
是值的类型,这里是@id
,这可能会令人困惑,但这只是意味着我们期望 IRI 作为值。
rdf - 为什么我们在词汇 IRI 中同时需要 # 和 /?
我正在尝试使用 json-ld 做一些工作,我遇到了 2 种 vocab IRI:
为什么是这样?它与如何处理文件有关吗?
rest - 将 HAL 词汇与 JSON-LD 结合使用
我想知道,有没有办法将 HAL 概念与 JSON-LD 一起使用?
我有当前的 jsonld 文档:
但我不知道如何定义 that href
has a @type
of @id
,依此类推...
有没有办法基于 RDF(S) 定义 HAL 词汇并以某种方式将其导入到我的 jsonld 文档的@context 中,或者我应该做其他事情吗?
(我试图用各种属性来描述超链接,比如链接关系、HTTP 方法、接受的媒体类型、语言、IRI 模板、输入字段等......所以@id
类型不足以让我描述链接。)
angularjs - 当来自服务器的数据在Angularjs中为空时如何隐藏表行
当来自服务器的数据为空时,如何隐藏表行,我正在使用 json-ld 和 angularjs。
这是我的 HTML Angular 模板。
我认为,如果 {{data['ts:versionID']}} == 为空,{{data['ts:versionID']}} == '' 将返回 true。当条件返回真时,它应该隐藏...