Open matthieu-fesselier opened 5 years ago
So when using https://github.com/solid/query-ldflex/tree/ede10272df5178f1d5910f4888eee31061b7390f#adding-a-custom-json-ld-context, existing properties are favored over custom ones?
@rubensworks Is that expected behavior given the implementation https://github.com/RubenVerborgh/LDflex/blob/f4bc6fe1e8f15bc2af17d24be8b7397357531196/src/JSONLDResolver.js#L53-L56 ?
The existing properties are favored only over our default which is defined by '@vocab': 'http://happy-dev.fr/owl/#'
For the properties we define explicitely, it works fine
Right… then perhaps it is a feature instead of a bug. i.e., you probably want to explicitly override existing properties.
But I would actually recommend against that, given that the same Solid LDflex expressions then get different meanings. If you want to get really custom, perhaps consider distributing a custom configuration of ldflex
rather than extending @solid/query-ldflex
. Or in other words: @solid/query-ldflex
is a configuration of ldflex
; maybe you want your own configuration?
That does indeed sound like the intended JSON-LD context semantics.
Explicitly defined terms (such as firstName
in the Solid context)
have priority over @vocab
.
Perhaps a flag could be added to context.extend()
to exclude the default context? The the user is responsible for the full context.
My current context is:
The
@vocab
defines our default which is used for almost all our properties. With the@solid
context, some properties are overriden. For example, when we try to targethttp://happy-dev.fr/owl/#firstName
, we gethttp://xmlns.com/foaf/0.1/givenName
.Is it possible to use only our context and not the solid one?