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
What is the energy payback time of solar panels, in hours?
Fermat's statement about the ancients: How serious was he?
C++ logging library
Can you make an identity from this product?
Why did Intel abandon unified CPU cache?
What should I discuss with my DM prior to my first game?
Why the output signal of my amplifier is heavily distorted
Please figure out this Pan digital Prince
Do people with slow metabolism tend to gain weight (fat) if they stop exercising?
Does the new finding on "reversing a quantum jump mid-flight" rule out any interpretations of QM?
Rail-to-rail op-amp only reaches 90% of VCC, works sometimes, not everytime
A word that means "blending into a community too much"
Why does this query, missing a FROM clause, not error out?
Possible runaway argument using circuitikz
The origin of the Russian proverb about two hares
Math cases align being colored as a table
Getting UPS Power from One Room to Another
Grep Match and extract
Who voices the small round football sized demon in Good Omens?
Analogy between an unknown in an argument, and a contradiction in the principle of explosion
Is it possible to fly backward if you have really strong headwind?
Does a bank have to tell me if a check made out to me was cashed there?
How can one's career as a reviewer be ended?
If there's something that implicates the president why is there then a national security issue? (John Dowd)
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 May 25 at 17:53
Carl Woll
83k3105216
83k3105216
asked May 25 at 16:36
user13892user13892
1,567719
1,567719
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
May 25 at 18:18
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
May 25 at 18:18
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
May 25 at 18:18
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 May 25 at 17:54
Carl WollCarl Woll
83k3105216
83k3105216
$begingroup$
Thank you. Can you please explain why did you compress the inactiveDataset
expression and uncompress it before extracting the part?
$endgroup$
– user13892
May 25 at 18:18
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
May 25 at 18:18
$begingroup$
Thank you. Can you please explain why did you compress the inactive
Dataset
expression and uncompress it before extracting the part?$endgroup$
– user13892
May 25 at 18:18
$begingroup$
Thank you. Can you please explain why did you compress the inactive
Dataset
expression and uncompress it before extracting the part?$endgroup$
– user13892
May 25 at 18:18
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 May 25 at 18:16
WReachWReach
54.2k2117217
54.2k2117217
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