-
Notifications
You must be signed in to change notification settings - Fork 9
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
FnO output specification? #29
Comments
I agree that the third option may require less effort in terms of declaration, but what about its expressiveness e.g. join between different sources? I suggest keeping the output at the
What do you think? |
For the outputValue, I don't see the added value for the indirection to For the joins, I have the feeling kg-construct/rml-lv#16 or kg-construct/rml-fnml#3 or kg-construct/rml-fnml#4 are more relevant than this issue, but correct me if I'm wrong :) |
There was a typo in "ex:firstname", I edited it. Is there anything else missing? |
I updated #14 for the definitions of functiontriplesmap and functiontermmap, can we continue discussions there, and focus this issue on the output specification? |
If it makes sense, this can be transferred to https://github.com/kg-construct/fnml-spec |
I think this should be revisited based on https://kg-construct.github.io/fnml-spec/ , I vote to close bc it's handled in the current draft |
Just to summarize the current discussions and make sure I understand: the problem is that if a function is defined to return multiple outputs, FNML is ambiguous in which output to use.
Right now, implicitly, we assume to always take the first output. At the very least, this should be explicitly stated in the specification.
HOWEVER, that still gives problems if at some point you want to use the second output of a function :).
So we need a way to specify the output of the function, and Sam suggested using the
SubjectMap
for this.(If above doesn't reflect the correct reasoning, please correct me and ignore my suggestions below ;) )
I personally think that there are the following options for specifying the output of the function:
subjectmap
within aFunctionTripleMaps
has a quite different definition thansubjectmap
s within regularTripleMaps
, namely smth like "ThesubjectMap
of aFunctionTriplesMap
generates the reference to the needed output of the function". I'm not for this option, since it's basically a redefinition and also hinders the generation of provenance data in the long runOutputMap
within aFunctionTripleMaps
with the definition "TheoutputMap
of aFunctionTriplesMap
generates the reference to the needed output of the function". ThesubjectMap
's definition is untouched and can be used for provenance generation, and you can specify the output of the functionoutputMap
on the level ofFunctionTermMap
instead ofFunctionTriplesMap
(so you, e.g., use multiple outputs of the sameFunctionTriplesMap
for different (regular)TermMaps
)I'm in favor of this last option, see example below for what this entails
The text was updated successfully, but these errors were encountered: