-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
granularity of target attachment #66
Comments
Thanks for the interesting issue! This is the feedback we really want to see :)
Yes, you can make then materialized views of the RDF graph depending on the different purposes you want to use it for.
We should that make more clear 👍
We could reduce the length of the spec there by combining some examples but a spec should list all possible examples to make it complete for developers to have no doubt what should happen in a certain combination IMO.
Yes, you always store full RDF quads or triples otherwise you cannot query it later or parse it with existing tools & libraries.
Datatype map is also allowed, this map did not exist before but now it does in Core, we should adjust RML-IO to also explicitly allow it.
Okay, good point, we need to improve that sentence then since it confuses.
Then we have only granularity on a graph level. Then you can only store on the same level as a named graph.
Why should we have this? Adding it in the Subject Map does exactly this. |
A Or consider this real case of
|
Are there real use cases where different triples need to be directed to different targets?
https://kg-construct.github.io/rml-resources/portal/requirements/requirements-io.html doesn't describe such.
What is the value of saving some triples of a subject to a file, and other triples to a SPARQL endpoint?
https://kg-construct.github.io/rml-io/spec/docs/#multiple-targets describes endless combinations of targets attached to different levels, but are they useful?
Furthermore, while a quad can go into multiple targets, the entirety of a quad must go to one target: you cannot store its components
<g,s,p,o>
ando=<value,lang,datatype>
in different targets.If it's a valid case to specify target per
languageMap
, is it not also valid to specify it perdatatypeMap
?So I question the accuracy of statements like this: https://kg-construct.github.io/rml-io/spec/docs/#language-and-graph-map
Consider the map:
It makes quads with
g=ex:Characters, p=foaf:name, lang=@en
.The
graphMap
andlanguageMap
set these quad components, they don't test them.So all these quads go to TargetDump1 and TargetDump2: the quoted sentence is confusing since it implies that different sets of triples go to different targets.
Then wouldn't it be better to put the targets at the
predicateObjectMap
level to make this more clear?Last but not least, it should be possible to set the target at the level of
TripleMap
to cater for the most common case.In summary, I propose to set targets at TripleMap and predicateObjectMap levels,
but not at subjectMap, predicateMap, objectMap, graphMap, languageMap.
The text was updated successfully, but these errors were encountered: