json-ld / json-ld.org

JSON for Linked Data's documentation and playground site
https://json-ld.org/
Other
853 stars 152 forks source link

@context interpretation issue in JSON-LD Playground #740

Closed jakubklimek closed 3 years ago

jakubklimek commented 3 years ago

There is a strange issue in JSON-LD Playground, possibly related to #734 . When the following JSON-LD is loaded (e.g. transformed to N-Quads), the konzultant property is interpreted correctly:

{
    "@context": {
        "@version": 1.1,
        "@import": "https://ofn.gov.cz/věc/2020-07-01/kontexty/věc.jsonld",
        "@propagate": true,
        "nedefinováno": "https://slovník.gov.cz/nedefinováno/",
        "Téma dizertační práce": {
            "@id": "nedefinováno:téma-dizertační-práce",
            "@context": {
                "konzultant": {
                    "@id": "nedefinováno:konzultant",
                    "@context": [
                        "https://pod-test.mvcr.gov.cz/otevřené-formální-normy/věda-a-výzkum/draft/kontexty/věda-a-výzkum.jsonld",
                        "https://ofn.gov.cz/lidé-a-osoby/2020-07-01/kontexty/člověk-či-osoba.jsonld"
                    ]
                }
            }
        }
    },
    "typ": "Téma dizertační práce",
    "název": {
        "cs": "2D nanomateriály pro detekci polutantů v životním prostředí"
    },
    "konzultant": {
        "typ": "Výzkumník",
        "jméno": {
            "cs": "Martin"
        }
    }
}

yields:

_:b0 <http://purl.org/dc/terms/title> "2D nanomateriály pro detekci polutantů v životním prostředí"@cs .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://slovník.gov.cz/nedefinováno/téma-dizertační-práce> .
_:b0 <https://slovník.gov.cz/nedefinováno/konzultant> _:b1 .
_:b1 <http://schema.org/givenName> "Martin"@cs .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> .

However, when I add an unrelated mapping of školitel to the context, not changing the data:

{
    "@context": {
        "@version": 1.1,
        "@import": "https://ofn.gov.cz/věc/2020-07-01/kontexty/věc.jsonld",
        "@propagate": true,
        "nedefinováno": "https://slovník.gov.cz/nedefinováno/",
        "Téma dizertační práce": {
            "@id": "nedefinováno:téma-dizertační-práce",
            "@context": {
                "školitel": {
                    "@id": "nedefinováno:školitel",
                    "@context": "https://pod-test.mvcr.gov.cz/otevřené-formální-normy/věda-a-výzkum/draft/kontexty/věda-a-výzkum.jsonld"
                },
                "konzultant": {
                    "@id": "nedefinováno:konzultant",
                    "@context": [
                        "https://pod-test.mvcr.gov.cz/otevřené-formální-normy/věda-a-výzkum/draft/kontexty/věda-a-výzkum.jsonld",
                        "https://ofn.gov.cz/lidé-a-osoby/2020-07-01/kontexty/člověk-či-osoba.jsonld"
                    ]
                }
            }
        }
    },
    "typ": "Téma dizertační práce",
    "název": {
        "cs": "2D nanomateriály pro detekci polutantů v životním prostředí"
    },
    "konzultant": {
        "typ": "Výzkumník",
        "jméno": {
            "cs": "Martin"
        }
    }
}

the konzultant property is not interpreted anymore, yielding:

_:b0 <http://purl.org/dc/terms/title> "2D nanomateriály pro detekci polutantů v životním prostředí"@cs .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://slovník.gov.cz/nedefinováno/téma-dizertační-práce> .
_:b0 <https://slovník.gov.cz/nedefinováno/konzultant> _:b1 .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://json-ld.org/playground/Výzkumník> .
RinkeHoekstra commented 3 years ago

Let's keep the discussion at https://github.com/digitalbazaar/jsonld.js/issues/409 rather than in 3 places.