How to pull out the underlying query syntax being used by dataset?Normal // Association // Dataset workaround for some user query operatorsAssociationMap to query Dataset across levels?How to insert zero counts uniformly with Dataset Counts queryPossible bug involving Dataset/Query and RightCompositionUpdated: Correct Formatting of Dataset (labeled columns and rows) for Predict v NetTrain?Dataset Processing: efficient ways to clean and merge sets for Life SciencesQuery and Dataset Syntax PeculiaritiesHow to get parent key in Query on Association/Dataset?Truncation of Labels and Data when visualized as DatasetNested Dataset and the Query operator
Defining the standard model of PA so that a space alien could understand
In general, would I need to season a meat when making a sauce?
What will be the real voltage along the line with a voltage source and a capacitor?
Text at the right of icon
Is it true that cut time means "play twice as fast as written"?
Looking for a soft substance that doesn't dissolve underwater
Why doesn't the Earth accelerate towards the Moon?
Is it possible to play as a necromancer skeleton?
Pirate democracy at its finest
Why do airplanes use an axial flow jet engine instead of a more compact centrifugal jet engine?
At what point in European history could a government build a printing press given a basic description?
Were pens caps holes designed to prevent death by suffocation if swallowed?
Adding spaces to string based on list
Is CD audio quality good enough?
Popcorn is the only acceptable snack to consume while watching a movie
Who will lead the country until there is a new Tory leader?
keyval - function for keyB should act dependent on value of keyA - how to do this?
Count Even Digits In Number
Binary Search in C++17
What does the view outside my ship traveling at light speed look like?
Boss wants me to falsify a report. How should I document this unethical demand?
How to respond to an upset student?
Is it rude to call a professor by their last name with no prefix in a non-academic setting?
Line of lights moving in a straight line , with a few following
How to pull out the underlying query syntax being used by dataset?
Normal // Association // Dataset workaround for some user query operatorsAssociationMap to query Dataset across levels?How to insert zero counts uniformly with Dataset Counts queryPossible bug involving Dataset/Query and RightCompositionUpdated: Correct Formatting of Dataset (labeled columns and rows) for Predict v NetTrain?Dataset Processing: efficient ways to clean and merge sets for Life SciencesQuery and Dataset Syntax PeculiaritiesHow to get parent key in Query on Association/Dataset?Truncation of Labels and Data when visualized as DatasetNested Dataset and the Query operator
$begingroup$
Consider the following dataset.
titanic = ExampleData["Dataset", "Titanic"]
If I use the lookup syntax of the dataset like following it creates an equivalent Query
syntax which is compiled and then applied to the dataset.
titanic[Select[#survived == True && #age > 60 &], "class", "sex"] // InputForm
If you look at the input syntax above you can see the TypeSystem
being used for storage and also the Query
used to arrive at the current dataset from the previous one.
I want to extract the Query
being used. I tried the following with no success.
query=First@Cases[%, x_Query :> x, [Infinity], Heads -> True]
Once the Query
is extracted I can just use Normal[query]
to get the optimized version.
Can someone help me get out the Query
from the Dataset
. I know it is trivial in this case but I want to use this as a base to work with more complex queries and have a way to track previous datasets using their "ID"s
and connecting Query
like a Graph
with ID
as Vertices
and Query
as Edges
in a workflow diagram.
dataset query
$endgroup$
add a comment |
$begingroup$
Consider the following dataset.
titanic = ExampleData["Dataset", "Titanic"]
If I use the lookup syntax of the dataset like following it creates an equivalent Query
syntax which is compiled and then applied to the dataset.
titanic[Select[#survived == True && #age > 60 &], "class", "sex"] // InputForm
If you look at the input syntax above you can see the TypeSystem
being used for storage and also the Query
used to arrive at the current dataset from the previous one.
I want to extract the Query
being used. I tried the following with no success.
query=First@Cases[%, x_Query :> x, [Infinity], Heads -> True]
Once the Query
is extracted I can just use Normal[query]
to get the optimized version.
Can someone help me get out the Query
from the Dataset
. I know it is trivial in this case but I want to use this as a base to work with more complex queries and have a way to track previous datasets using their "ID"s
and connecting Query
like a Graph
with ID
as Vertices
and Query
as Edges
in a workflow diagram.
dataset query
$endgroup$
add a comment |
$begingroup$
Consider the following dataset.
titanic = ExampleData["Dataset", "Titanic"]
If I use the lookup syntax of the dataset like following it creates an equivalent Query
syntax which is compiled and then applied to the dataset.
titanic[Select[#survived == True && #age > 60 &], "class", "sex"] // InputForm
If you look at the input syntax above you can see the TypeSystem
being used for storage and also the Query
used to arrive at the current dataset from the previous one.
I want to extract the Query
being used. I tried the following with no success.
query=First@Cases[%, x_Query :> x, [Infinity], Heads -> True]
Once the Query
is extracted I can just use Normal[query]
to get the optimized version.
Can someone help me get out the Query
from the Dataset
. I know it is trivial in this case but I want to use this as a base to work with more complex queries and have a way to track previous datasets using their "ID"s
and connecting Query
like a Graph
with ID
as Vertices
and Query
as Edges
in a workflow diagram.
dataset query
$endgroup$
Consider the following dataset.
titanic = ExampleData["Dataset", "Titanic"]
If I use the lookup syntax of the dataset like following it creates an equivalent Query
syntax which is compiled and then applied to the dataset.
titanic[Select[#survived == True && #age > 60 &], "class", "sex"] // InputForm
If you look at the input syntax above you can see the TypeSystem
being used for storage and also the Query
used to arrive at the current dataset from the previous one.
I want to extract the Query
being used. I tried the following with no success.
query=First@Cases[%, x_Query :> x, [Infinity], Heads -> True]
Once the Query
is extracted I can just use Normal[query]
to get the optimized version.
Can someone help me get out the Query
from the Dataset
. I know it is trivial in this case but I want to use this as a base to work with more complex queries and have a way to track previous datasets using their "ID"s
and connecting Query
like a Graph
with ID
as Vertices
and Query
as Edges
in a workflow diagram.
dataset query
dataset query
edited 6 hours ago
Carl Woll
80.7k3104208
80.7k3104208
asked 8 hours ago
user13892user13892
1,483719
1,483719
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
There is a probably an internal function that can extract this information, but if not, you could use the following function to do so:
extractDatasetInformation[ds_Dataset] := Block[Dataset = Inactive[Dataset],
Uncompress[Compress[ds]][[3]]
]
Your example:
q = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
extractDatasetInformation[q]
%["Origin"]
<|"Origin" ->
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]], "ID" -> 278717777953890|>
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]]
$endgroup$
$begingroup$
Thank you. Can you please explain why did you compress the inactiveDataset
expression and uncompress it before extracting the part?
$endgroup$
– user13892
6 hours ago
add a comment |
$begingroup$
We can extract the query from the dataset object through pattern-matching:
datasetQuery[HoldPattern[Dataset[_,_,KeyValuePattern["Origin"->HoldComplete[query_[___]]]]]] := query
Then:
titanic = ExampleData["Dataset", "Titanic"];
ds = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
datasetQuery[ds]
(* Query[Select[#survived == True && #age > 60 &], "class", "sex"] *)
Beware that this relies upon undocumented internal structure for Dataset
objects which may change between releases. The exhibited pattern is current for Version 12.
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f199097%2fhow-to-pull-out-the-underlying-query-syntax-being-used-by-dataset%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
There is a probably an internal function that can extract this information, but if not, you could use the following function to do so:
extractDatasetInformation[ds_Dataset] := Block[Dataset = Inactive[Dataset],
Uncompress[Compress[ds]][[3]]
]
Your example:
q = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
extractDatasetInformation[q]
%["Origin"]
<|"Origin" ->
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]], "ID" -> 278717777953890|>
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]]
$endgroup$
$begingroup$
Thank you. Can you please explain why did you compress the inactiveDataset
expression and uncompress it before extracting the part?
$endgroup$
– user13892
6 hours ago
add a comment |
$begingroup$
There is a probably an internal function that can extract this information, but if not, you could use the following function to do so:
extractDatasetInformation[ds_Dataset] := Block[Dataset = Inactive[Dataset],
Uncompress[Compress[ds]][[3]]
]
Your example:
q = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
extractDatasetInformation[q]
%["Origin"]
<|"Origin" ->
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]], "ID" -> 278717777953890|>
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]]
$endgroup$
$begingroup$
Thank you. Can you please explain why did you compress the inactiveDataset
expression and uncompress it before extracting the part?
$endgroup$
– user13892
6 hours ago
add a comment |
$begingroup$
There is a probably an internal function that can extract this information, but if not, you could use the following function to do so:
extractDatasetInformation[ds_Dataset] := Block[Dataset = Inactive[Dataset],
Uncompress[Compress[ds]][[3]]
]
Your example:
q = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
extractDatasetInformation[q]
%["Origin"]
<|"Origin" ->
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]], "ID" -> 278717777953890|>
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]]
$endgroup$
There is a probably an internal function that can extract this information, but if not, you could use the following function to do so:
extractDatasetInformation[ds_Dataset] := Block[Dataset = Inactive[Dataset],
Uncompress[Compress[ds]][[3]]
]
Your example:
q = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
extractDatasetInformation[q]
%["Origin"]
<|"Origin" ->
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]], "ID" -> 278717777953890|>
HoldComplete[
Query[Select[#survived == True && #age > 60 &], "class", "sex"][
Dataset`DatasetHandle[263616672941144]]]
answered 6 hours ago
Carl WollCarl Woll
80.7k3104208
80.7k3104208
$begingroup$
Thank you. Can you please explain why did you compress the inactiveDataset
expression and uncompress it before extracting the part?
$endgroup$
– user13892
6 hours ago
add a comment |
$begingroup$
Thank you. Can you please explain why did you compress the inactiveDataset
expression and uncompress it before extracting the part?
$endgroup$
– user13892
6 hours ago
$begingroup$
Thank you. Can you please explain why did you compress the inactive
Dataset
expression and uncompress it before extracting the part?$endgroup$
– user13892
6 hours ago
$begingroup$
Thank you. Can you please explain why did you compress the inactive
Dataset
expression and uncompress it before extracting the part?$endgroup$
– user13892
6 hours ago
add a comment |
$begingroup$
We can extract the query from the dataset object through pattern-matching:
datasetQuery[HoldPattern[Dataset[_,_,KeyValuePattern["Origin"->HoldComplete[query_[___]]]]]] := query
Then:
titanic = ExampleData["Dataset", "Titanic"];
ds = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
datasetQuery[ds]
(* Query[Select[#survived == True && #age > 60 &], "class", "sex"] *)
Beware that this relies upon undocumented internal structure for Dataset
objects which may change between releases. The exhibited pattern is current for Version 12.
$endgroup$
add a comment |
$begingroup$
We can extract the query from the dataset object through pattern-matching:
datasetQuery[HoldPattern[Dataset[_,_,KeyValuePattern["Origin"->HoldComplete[query_[___]]]]]] := query
Then:
titanic = ExampleData["Dataset", "Titanic"];
ds = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
datasetQuery[ds]
(* Query[Select[#survived == True && #age > 60 &], "class", "sex"] *)
Beware that this relies upon undocumented internal structure for Dataset
objects which may change between releases. The exhibited pattern is current for Version 12.
$endgroup$
add a comment |
$begingroup$
We can extract the query from the dataset object through pattern-matching:
datasetQuery[HoldPattern[Dataset[_,_,KeyValuePattern["Origin"->HoldComplete[query_[___]]]]]] := query
Then:
titanic = ExampleData["Dataset", "Titanic"];
ds = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
datasetQuery[ds]
(* Query[Select[#survived == True && #age > 60 &], "class", "sex"] *)
Beware that this relies upon undocumented internal structure for Dataset
objects which may change between releases. The exhibited pattern is current for Version 12.
$endgroup$
We can extract the query from the dataset object through pattern-matching:
datasetQuery[HoldPattern[Dataset[_,_,KeyValuePattern["Origin"->HoldComplete[query_[___]]]]]] := query
Then:
titanic = ExampleData["Dataset", "Titanic"];
ds = titanic[Select[#survived == True && #age > 60 &], "class", "sex"];
datasetQuery[ds]
(* Query[Select[#survived == True && #age > 60 &], "class", "sex"] *)
Beware that this relies upon undocumented internal structure for Dataset
objects which may change between releases. The exhibited pattern is current for Version 12.
answered 6 hours ago
WReachWReach
54.1k2117217
54.1k2117217
add a comment |
add a comment |
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f199097%2fhow-to-pull-out-the-underlying-query-syntax-being-used-by-dataset%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown