3

有没有办法总是用 EasyRdf 强制单个对象到数组中?

如果有多个值,rdf:type我得到一个像这样的数组。请注意,该@type属性是一个数组。

{
    "@context": {
        "ethon": "http://ethon.consensys.net/",
        "ethstats": "http://ethereum.ethstats.io/"
    },
    "@graph": [{
        "@id": "ethstats:Uncle_0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109",
        "@type": ["ethon:Uncle", "ethon:Block"],
        "ethon:blockCreationTime": "2015-07-30T15:26:58.000Z",
        "ethon:blockHash": "0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109",
        "ethon:number": "1"
    }]
}

但是,如果只有一个rdf:type,则该@type属性不是数组。

{
    "@context": {
        "ethon": "http://ethon.consensys.net/",
        "ethstats": "http://ethereum.ethstats.io/"
    },
    "@graph": [{
        "@id": "ethstats:Uncle_0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109",
        "@type": "ethon:Uncle",
        "ethon:blockCreationTime": "2015-07-30T15:26:58.000Z",
        "ethon:blockHash": "0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109",
        "ethon:number": "1"
    }]
}

序列化图形时,我将选项发送给 EasyRdf

'frame' => (object) [
    '@context' => (object) [
        'ethon' => 'http://ethon.consensys.net/',
        'ethstats' => 'http://ethereum.ethstats.io/',
],

有没有办法发送/属性的@set选项?rdf:type@type

4

1 回答 1

0

是的!框架时,另外传递@context选项:

"@context": {
    ...
    "@type": {"@container": "@set"}
}

看它在使用中。(如果由于某种原因在加载时无法正确显示,请
单击Flattened和(返回)Framed选项卡。)

于 2020-12-15T13:54:57.220 回答