Is there a SQL/English like language that lets you define formulations given some data?
How do we calculate energy of food?
Did a flight controller ever answer Flight with a no-go?
“T” in subscript in formulas
Why did Khan ask Admiral James T. Kirk about Project Genesis?
If an earthquake can destroy buildings why it cant kill us according to physics?
Duplicate Files
How would a Creature that needs to be seen by Humans evolve?
Sum ergo cogito?
Why doesn't 'd /= d' throw a division by zero exception?
Are there any elected officials in the U.S. who are not legislators, judges, or constitutional officers?
"Sorry to bother you" in an email?
Do Bayesian credible intervals treat the estimated parameter as a random variable?
How do you harvest carrots in creative mode?
Is MOSFET active device?
Can RMSE and MAE have the same value?
Circular Reasoning for Epsilon-Delta Proof?
How do you interpolate outside the range of data?
I don't have the theoretical background in my PhD topic. I can't justify getting the degree
Lost property on Portuguese trains
Are modern clipless shoes and pedals that much better than toe clips and straps?
Could George I (of Great Britain) speak English?
Handling Disruptive Student on the Autistic Spectrum
Heyacrazy: No Diagonals
Was it ever possible to target a zone?
Is there a SQL/English like language that lets you define formulations given some data?
$begingroup$
It would be very useful for beginning and non technical users to be able to define models in a way that was natural for them. Further this could perhaps assist generating some kind of generic modelling language which could be used in applications.
Inspired by the BDD (Behavior Driven Development) library
For example, let's take a diet like problem. It could be stated as:
Given I have ingredient banana
Given that a banana costs 1 unit
The ingredient banana has 10 units of potassium
Find me the cheapest ingredient combination for 100 units of potassium
Maybe it's an implementation detail? And I should just define the types of constraints and parse the string data? Is this an area of research?
mixed-integer-programming applications modelling
$endgroup$
add a comment |
$begingroup$
It would be very useful for beginning and non technical users to be able to define models in a way that was natural for them. Further this could perhaps assist generating some kind of generic modelling language which could be used in applications.
Inspired by the BDD (Behavior Driven Development) library
For example, let's take a diet like problem. It could be stated as:
Given I have ingredient banana
Given that a banana costs 1 unit
The ingredient banana has 10 units of potassium
Find me the cheapest ingredient combination for 100 units of potassium
Maybe it's an implementation detail? And I should just define the types of constraints and parse the string data? Is this an area of research?
mixed-integer-programming applications modelling
$endgroup$
1
$begingroup$
People not thinking in SQL after date of birth? 0 rows returned?
$endgroup$
– Stian Yttervik
Aug 13 at 14:29
1
$begingroup$
I wonder if Prolog could be used to solve this. Not sure if prolog could perform that last sentence requirement.
$endgroup$
– whatever
Aug 13 at 16:18
3
$begingroup$
I think there's a bit of an uncanny valley type effect going on here. If you tell users that "hey, this thing understands English," but it doesn't have a full understanding of all possible English, then your users are bound to get frustrated by the short-comings, in a way that they wouldn't with a "machine language" (i.e. systematic, optimized for easy and non-ambiguous parsing), where users "prepare themselves" and set some expectations.
$endgroup$
– Alexander
Aug 13 at 16:51
1
$begingroup$
Great, now graduates will have another excuse not to learn programming!
$endgroup$
– Indrajit
Aug 14 at 10:57
add a comment |
$begingroup$
It would be very useful for beginning and non technical users to be able to define models in a way that was natural for them. Further this could perhaps assist generating some kind of generic modelling language which could be used in applications.
Inspired by the BDD (Behavior Driven Development) library
For example, let's take a diet like problem. It could be stated as:
Given I have ingredient banana
Given that a banana costs 1 unit
The ingredient banana has 10 units of potassium
Find me the cheapest ingredient combination for 100 units of potassium
Maybe it's an implementation detail? And I should just define the types of constraints and parse the string data? Is this an area of research?
mixed-integer-programming applications modelling
$endgroup$
It would be very useful for beginning and non technical users to be able to define models in a way that was natural for them. Further this could perhaps assist generating some kind of generic modelling language which could be used in applications.
Inspired by the BDD (Behavior Driven Development) library
For example, let's take a diet like problem. It could be stated as:
Given I have ingredient banana
Given that a banana costs 1 unit
The ingredient banana has 10 units of potassium
Find me the cheapest ingredient combination for 100 units of potassium
Maybe it's an implementation detail? And I should just define the types of constraints and parse the string data? Is this an area of research?
mixed-integer-programming applications modelling
mixed-integer-programming applications modelling
edited Aug 13 at 9:18
Glorfindel
1091 silver badge8 bronze badges
1091 silver badge8 bronze badges
asked Aug 12 at 17:52
fhkfhk
6092 silver badges13 bronze badges
6092 silver badges13 bronze badges
1
$begingroup$
People not thinking in SQL after date of birth? 0 rows returned?
$endgroup$
– Stian Yttervik
Aug 13 at 14:29
1
$begingroup$
I wonder if Prolog could be used to solve this. Not sure if prolog could perform that last sentence requirement.
$endgroup$
– whatever
Aug 13 at 16:18
3
$begingroup$
I think there's a bit of an uncanny valley type effect going on here. If you tell users that "hey, this thing understands English," but it doesn't have a full understanding of all possible English, then your users are bound to get frustrated by the short-comings, in a way that they wouldn't with a "machine language" (i.e. systematic, optimized for easy and non-ambiguous parsing), where users "prepare themselves" and set some expectations.
$endgroup$
– Alexander
Aug 13 at 16:51
1
$begingroup$
Great, now graduates will have another excuse not to learn programming!
$endgroup$
– Indrajit
Aug 14 at 10:57
add a comment |
1
$begingroup$
People not thinking in SQL after date of birth? 0 rows returned?
$endgroup$
– Stian Yttervik
Aug 13 at 14:29
1
$begingroup$
I wonder if Prolog could be used to solve this. Not sure if prolog could perform that last sentence requirement.
$endgroup$
– whatever
Aug 13 at 16:18
3
$begingroup$
I think there's a bit of an uncanny valley type effect going on here. If you tell users that "hey, this thing understands English," but it doesn't have a full understanding of all possible English, then your users are bound to get frustrated by the short-comings, in a way that they wouldn't with a "machine language" (i.e. systematic, optimized for easy and non-ambiguous parsing), where users "prepare themselves" and set some expectations.
$endgroup$
– Alexander
Aug 13 at 16:51
1
$begingroup$
Great, now graduates will have another excuse not to learn programming!
$endgroup$
– Indrajit
Aug 14 at 10:57
1
1
$begingroup$
People not thinking in SQL after date of birth? 0 rows returned?
$endgroup$
– Stian Yttervik
Aug 13 at 14:29
$begingroup$
People not thinking in SQL after date of birth? 0 rows returned?
$endgroup$
– Stian Yttervik
Aug 13 at 14:29
1
1
$begingroup$
I wonder if Prolog could be used to solve this. Not sure if prolog could perform that last sentence requirement.
$endgroup$
– whatever
Aug 13 at 16:18
$begingroup$
I wonder if Prolog could be used to solve this. Not sure if prolog could perform that last sentence requirement.
$endgroup$
– whatever
Aug 13 at 16:18
3
3
$begingroup$
I think there's a bit of an uncanny valley type effect going on here. If you tell users that "hey, this thing understands English," but it doesn't have a full understanding of all possible English, then your users are bound to get frustrated by the short-comings, in a way that they wouldn't with a "machine language" (i.e. systematic, optimized for easy and non-ambiguous parsing), where users "prepare themselves" and set some expectations.
$endgroup$
– Alexander
Aug 13 at 16:51
$begingroup$
I think there's a bit of an uncanny valley type effect going on here. If you tell users that "hey, this thing understands English," but it doesn't have a full understanding of all possible English, then your users are bound to get frustrated by the short-comings, in a way that they wouldn't with a "machine language" (i.e. systematic, optimized for easy and non-ambiguous parsing), where users "prepare themselves" and set some expectations.
$endgroup$
– Alexander
Aug 13 at 16:51
1
1
$begingroup$
Great, now graduates will have another excuse not to learn programming!
$endgroup$
– Indrajit
Aug 14 at 10:57
$begingroup$
Great, now graduates will have another excuse not to learn programming!
$endgroup$
– Indrajit
Aug 14 at 10:57
add a comment |
4 Answers
4
active
oldest
votes
$begingroup$
Not answering your question, but related: I just came across a paper (Wang, Shi, and Reddy 2019) that aims to translate natural English into SQL queries. Here's an example of their results:
Maybe this can be a useful starting point if you're searching for literature on this, or starting to build your own English-to-modelling-language translator.
$endgroup$
$begingroup$
greatly appreciated!
$endgroup$
– fhk
Aug 12 at 18:19
1
$begingroup$
Something similar was featured on the Stackoverflow blog some weeks ago.
$endgroup$
– Raidri
Aug 13 at 9:30
$begingroup$
This paper also has a similar idea - arxiv.org/pdf/1907.05774.pdf
$endgroup$
– fhk
Aug 15 at 16:49
add a comment |
$begingroup$
MiniZinc is the closest I know of. In terms of syntax, it is closer to
Python, R, and MATLAB than SQL. However, it is a pretty powerful language.
Example:
% Baking cakes for the school fete (with data file)
int: flour; %no. grams of flour available
int: banana; %no. of bananas available
int: sugar; %no. grams of sugar available
int: butter; %no. grams of butter available
int: cocoa; %no. grams of cocoa available
constraint assert(flour >= 0,"Invalid datafile: " ++
"Amount of flour should be non-negative");
constraint assert(banana >= 0,"Invalid datafile: " ++
"Amount of banana should be non-negative");
constraint assert(sugar >= 0,"Invalid datafile: " ++
"Amount of sugar should be non-negative");
constraint assert(butter >= 0,"Invalid datafile: " ++
"Amount of butter should be non-negative");
constraint assert(cocoa >= 0,"Invalid datafile: " ++
"Amount of cocoa should be non-negative");
var 0..100: b; % no. of banana cakes
var 0..100: c; % no. of chocolate cakes
% flour
constraint 250*b + 200*c <= flour;
% bananas
constraint 2*b <= banana;
% sugar
constraint 75*b + 150*c <= sugar;
% butter
constraint 100*b + 150*c <= butter;
% cocoa
constraint 75*c <= cocoa;
% maximize our profit
solve maximize 400*b + 450*c;
output ["no. of banana cakes = (b)n",
"no. of chocolate cakes = (c)n"];
$endgroup$
add a comment |
$begingroup$
It is a little uncommon these days, but prolog is well suited to this type of problem. It allows you to concisely state and efficiently solve a wide variety of interesting things.
See https://stackoverflow.com/questions/57316504/zebra-puzzle-who-lives-on-which-floor as well as a whole mess of tagged questions https://stackoverflow.com/questions/tagged/prolog+zebra-puzzle as examples.
$endgroup$
add a comment |
$begingroup$
Controlled natural language
There's a bunch of research in using controlled natural language (e.g. in the CNL workshop https://link.springer.com/conference/cnl) and one of the use cases is for making queries in some knowledge base. If the data and its ontology is in a structured format such as RDF, then there exist tools for querying that data directly (usually with SPARQL), there are a bunch of tools for visualizing the models/ontologies and the data in them, and there are also natural language querying tools such as http://aksw.org/Projects/AutoSPARQL.html or https://github.com/AKSW/NSpM which I admittedly haven't tried. It's a whole field of research that's not that related to operations research, but there are some interesting things there.
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "700"
;
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
,
noCode: 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%2for.stackexchange.com%2fquestions%2f1255%2fis-there-a-sql-english-like-language-that-lets-you-define-formulations-given-som%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Not answering your question, but related: I just came across a paper (Wang, Shi, and Reddy 2019) that aims to translate natural English into SQL queries. Here's an example of their results:
Maybe this can be a useful starting point if you're searching for literature on this, or starting to build your own English-to-modelling-language translator.
$endgroup$
$begingroup$
greatly appreciated!
$endgroup$
– fhk
Aug 12 at 18:19
1
$begingroup$
Something similar was featured on the Stackoverflow blog some weeks ago.
$endgroup$
– Raidri
Aug 13 at 9:30
$begingroup$
This paper also has a similar idea - arxiv.org/pdf/1907.05774.pdf
$endgroup$
– fhk
Aug 15 at 16:49
add a comment |
$begingroup$
Not answering your question, but related: I just came across a paper (Wang, Shi, and Reddy 2019) that aims to translate natural English into SQL queries. Here's an example of their results:
Maybe this can be a useful starting point if you're searching for literature on this, or starting to build your own English-to-modelling-language translator.
$endgroup$
$begingroup$
greatly appreciated!
$endgroup$
– fhk
Aug 12 at 18:19
1
$begingroup$
Something similar was featured on the Stackoverflow blog some weeks ago.
$endgroup$
– Raidri
Aug 13 at 9:30
$begingroup$
This paper also has a similar idea - arxiv.org/pdf/1907.05774.pdf
$endgroup$
– fhk
Aug 15 at 16:49
add a comment |
$begingroup$
Not answering your question, but related: I just came across a paper (Wang, Shi, and Reddy 2019) that aims to translate natural English into SQL queries. Here's an example of their results:
Maybe this can be a useful starting point if you're searching for literature on this, or starting to build your own English-to-modelling-language translator.
$endgroup$
Not answering your question, but related: I just came across a paper (Wang, Shi, and Reddy 2019) that aims to translate natural English into SQL queries. Here's an example of their results:
Maybe this can be a useful starting point if you're searching for literature on this, or starting to build your own English-to-modelling-language translator.
answered Aug 12 at 18:15
LarrySnyder610♦LarrySnyder610
5,71714 silver badges64 bronze badges
5,71714 silver badges64 bronze badges
$begingroup$
greatly appreciated!
$endgroup$
– fhk
Aug 12 at 18:19
1
$begingroup$
Something similar was featured on the Stackoverflow blog some weeks ago.
$endgroup$
– Raidri
Aug 13 at 9:30
$begingroup$
This paper also has a similar idea - arxiv.org/pdf/1907.05774.pdf
$endgroup$
– fhk
Aug 15 at 16:49
add a comment |
$begingroup$
greatly appreciated!
$endgroup$
– fhk
Aug 12 at 18:19
1
$begingroup$
Something similar was featured on the Stackoverflow blog some weeks ago.
$endgroup$
– Raidri
Aug 13 at 9:30
$begingroup$
This paper also has a similar idea - arxiv.org/pdf/1907.05774.pdf
$endgroup$
– fhk
Aug 15 at 16:49
$begingroup$
greatly appreciated!
$endgroup$
– fhk
Aug 12 at 18:19
$begingroup$
greatly appreciated!
$endgroup$
– fhk
Aug 12 at 18:19
1
1
$begingroup$
Something similar was featured on the Stackoverflow blog some weeks ago.
$endgroup$
– Raidri
Aug 13 at 9:30
$begingroup$
Something similar was featured on the Stackoverflow blog some weeks ago.
$endgroup$
– Raidri
Aug 13 at 9:30
$begingroup$
This paper also has a similar idea - arxiv.org/pdf/1907.05774.pdf
$endgroup$
– fhk
Aug 15 at 16:49
$begingroup$
This paper also has a similar idea - arxiv.org/pdf/1907.05774.pdf
$endgroup$
– fhk
Aug 15 at 16:49
add a comment |
$begingroup$
MiniZinc is the closest I know of. In terms of syntax, it is closer to
Python, R, and MATLAB than SQL. However, it is a pretty powerful language.
Example:
% Baking cakes for the school fete (with data file)
int: flour; %no. grams of flour available
int: banana; %no. of bananas available
int: sugar; %no. grams of sugar available
int: butter; %no. grams of butter available
int: cocoa; %no. grams of cocoa available
constraint assert(flour >= 0,"Invalid datafile: " ++
"Amount of flour should be non-negative");
constraint assert(banana >= 0,"Invalid datafile: " ++
"Amount of banana should be non-negative");
constraint assert(sugar >= 0,"Invalid datafile: " ++
"Amount of sugar should be non-negative");
constraint assert(butter >= 0,"Invalid datafile: " ++
"Amount of butter should be non-negative");
constraint assert(cocoa >= 0,"Invalid datafile: " ++
"Amount of cocoa should be non-negative");
var 0..100: b; % no. of banana cakes
var 0..100: c; % no. of chocolate cakes
% flour
constraint 250*b + 200*c <= flour;
% bananas
constraint 2*b <= banana;
% sugar
constraint 75*b + 150*c <= sugar;
% butter
constraint 100*b + 150*c <= butter;
% cocoa
constraint 75*c <= cocoa;
% maximize our profit
solve maximize 400*b + 450*c;
output ["no. of banana cakes = (b)n",
"no. of chocolate cakes = (c)n"];
$endgroup$
add a comment |
$begingroup$
MiniZinc is the closest I know of. In terms of syntax, it is closer to
Python, R, and MATLAB than SQL. However, it is a pretty powerful language.
Example:
% Baking cakes for the school fete (with data file)
int: flour; %no. grams of flour available
int: banana; %no. of bananas available
int: sugar; %no. grams of sugar available
int: butter; %no. grams of butter available
int: cocoa; %no. grams of cocoa available
constraint assert(flour >= 0,"Invalid datafile: " ++
"Amount of flour should be non-negative");
constraint assert(banana >= 0,"Invalid datafile: " ++
"Amount of banana should be non-negative");
constraint assert(sugar >= 0,"Invalid datafile: " ++
"Amount of sugar should be non-negative");
constraint assert(butter >= 0,"Invalid datafile: " ++
"Amount of butter should be non-negative");
constraint assert(cocoa >= 0,"Invalid datafile: " ++
"Amount of cocoa should be non-negative");
var 0..100: b; % no. of banana cakes
var 0..100: c; % no. of chocolate cakes
% flour
constraint 250*b + 200*c <= flour;
% bananas
constraint 2*b <= banana;
% sugar
constraint 75*b + 150*c <= sugar;
% butter
constraint 100*b + 150*c <= butter;
% cocoa
constraint 75*c <= cocoa;
% maximize our profit
solve maximize 400*b + 450*c;
output ["no. of banana cakes = (b)n",
"no. of chocolate cakes = (c)n"];
$endgroup$
add a comment |
$begingroup$
MiniZinc is the closest I know of. In terms of syntax, it is closer to
Python, R, and MATLAB than SQL. However, it is a pretty powerful language.
Example:
% Baking cakes for the school fete (with data file)
int: flour; %no. grams of flour available
int: banana; %no. of bananas available
int: sugar; %no. grams of sugar available
int: butter; %no. grams of butter available
int: cocoa; %no. grams of cocoa available
constraint assert(flour >= 0,"Invalid datafile: " ++
"Amount of flour should be non-negative");
constraint assert(banana >= 0,"Invalid datafile: " ++
"Amount of banana should be non-negative");
constraint assert(sugar >= 0,"Invalid datafile: " ++
"Amount of sugar should be non-negative");
constraint assert(butter >= 0,"Invalid datafile: " ++
"Amount of butter should be non-negative");
constraint assert(cocoa >= 0,"Invalid datafile: " ++
"Amount of cocoa should be non-negative");
var 0..100: b; % no. of banana cakes
var 0..100: c; % no. of chocolate cakes
% flour
constraint 250*b + 200*c <= flour;
% bananas
constraint 2*b <= banana;
% sugar
constraint 75*b + 150*c <= sugar;
% butter
constraint 100*b + 150*c <= butter;
% cocoa
constraint 75*c <= cocoa;
% maximize our profit
solve maximize 400*b + 450*c;
output ["no. of banana cakes = (b)n",
"no. of chocolate cakes = (c)n"];
$endgroup$
MiniZinc is the closest I know of. In terms of syntax, it is closer to
Python, R, and MATLAB than SQL. However, it is a pretty powerful language.
Example:
% Baking cakes for the school fete (with data file)
int: flour; %no. grams of flour available
int: banana; %no. of bananas available
int: sugar; %no. grams of sugar available
int: butter; %no. grams of butter available
int: cocoa; %no. grams of cocoa available
constraint assert(flour >= 0,"Invalid datafile: " ++
"Amount of flour should be non-negative");
constraint assert(banana >= 0,"Invalid datafile: " ++
"Amount of banana should be non-negative");
constraint assert(sugar >= 0,"Invalid datafile: " ++
"Amount of sugar should be non-negative");
constraint assert(butter >= 0,"Invalid datafile: " ++
"Amount of butter should be non-negative");
constraint assert(cocoa >= 0,"Invalid datafile: " ++
"Amount of cocoa should be non-negative");
var 0..100: b; % no. of banana cakes
var 0..100: c; % no. of chocolate cakes
% flour
constraint 250*b + 200*c <= flour;
% bananas
constraint 2*b <= banana;
% sugar
constraint 75*b + 150*c <= sugar;
% butter
constraint 100*b + 150*c <= butter;
% cocoa
constraint 75*c <= cocoa;
% maximize our profit
solve maximize 400*b + 450*c;
output ["no. of banana cakes = (b)n",
"no. of chocolate cakes = (c)n"];
edited Aug 14 at 1:37
Peter Mortensen
1032 bronze badges
1032 bronze badges
answered Aug 13 at 2:13
BuddBudd
1114 bronze badges
1114 bronze badges
add a comment |
add a comment |
$begingroup$
It is a little uncommon these days, but prolog is well suited to this type of problem. It allows you to concisely state and efficiently solve a wide variety of interesting things.
See https://stackoverflow.com/questions/57316504/zebra-puzzle-who-lives-on-which-floor as well as a whole mess of tagged questions https://stackoverflow.com/questions/tagged/prolog+zebra-puzzle as examples.
$endgroup$
add a comment |
$begingroup$
It is a little uncommon these days, but prolog is well suited to this type of problem. It allows you to concisely state and efficiently solve a wide variety of interesting things.
See https://stackoverflow.com/questions/57316504/zebra-puzzle-who-lives-on-which-floor as well as a whole mess of tagged questions https://stackoverflow.com/questions/tagged/prolog+zebra-puzzle as examples.
$endgroup$
add a comment |
$begingroup$
It is a little uncommon these days, but prolog is well suited to this type of problem. It allows you to concisely state and efficiently solve a wide variety of interesting things.
See https://stackoverflow.com/questions/57316504/zebra-puzzle-who-lives-on-which-floor as well as a whole mess of tagged questions https://stackoverflow.com/questions/tagged/prolog+zebra-puzzle as examples.
$endgroup$
It is a little uncommon these days, but prolog is well suited to this type of problem. It allows you to concisely state and efficiently solve a wide variety of interesting things.
See https://stackoverflow.com/questions/57316504/zebra-puzzle-who-lives-on-which-floor as well as a whole mess of tagged questions https://stackoverflow.com/questions/tagged/prolog+zebra-puzzle as examples.
answered Aug 13 at 19:28
CireoCireo
1511 bronze badge
1511 bronze badge
add a comment |
add a comment |
$begingroup$
Controlled natural language
There's a bunch of research in using controlled natural language (e.g. in the CNL workshop https://link.springer.com/conference/cnl) and one of the use cases is for making queries in some knowledge base. If the data and its ontology is in a structured format such as RDF, then there exist tools for querying that data directly (usually with SPARQL), there are a bunch of tools for visualizing the models/ontologies and the data in them, and there are also natural language querying tools such as http://aksw.org/Projects/AutoSPARQL.html or https://github.com/AKSW/NSpM which I admittedly haven't tried. It's a whole field of research that's not that related to operations research, but there are some interesting things there.
$endgroup$
add a comment |
$begingroup$
Controlled natural language
There's a bunch of research in using controlled natural language (e.g. in the CNL workshop https://link.springer.com/conference/cnl) and one of the use cases is for making queries in some knowledge base. If the data and its ontology is in a structured format such as RDF, then there exist tools for querying that data directly (usually with SPARQL), there are a bunch of tools for visualizing the models/ontologies and the data in them, and there are also natural language querying tools such as http://aksw.org/Projects/AutoSPARQL.html or https://github.com/AKSW/NSpM which I admittedly haven't tried. It's a whole field of research that's not that related to operations research, but there are some interesting things there.
$endgroup$
add a comment |
$begingroup$
Controlled natural language
There's a bunch of research in using controlled natural language (e.g. in the CNL workshop https://link.springer.com/conference/cnl) and one of the use cases is for making queries in some knowledge base. If the data and its ontology is in a structured format such as RDF, then there exist tools for querying that data directly (usually with SPARQL), there are a bunch of tools for visualizing the models/ontologies and the data in them, and there are also natural language querying tools such as http://aksw.org/Projects/AutoSPARQL.html or https://github.com/AKSW/NSpM which I admittedly haven't tried. It's a whole field of research that's not that related to operations research, but there are some interesting things there.
$endgroup$
Controlled natural language
There's a bunch of research in using controlled natural language (e.g. in the CNL workshop https://link.springer.com/conference/cnl) and one of the use cases is for making queries in some knowledge base. If the data and its ontology is in a structured format such as RDF, then there exist tools for querying that data directly (usually with SPARQL), there are a bunch of tools for visualizing the models/ontologies and the data in them, and there are also natural language querying tools such as http://aksw.org/Projects/AutoSPARQL.html or https://github.com/AKSW/NSpM which I admittedly haven't tried. It's a whole field of research that's not that related to operations research, but there are some interesting things there.
answered Aug 13 at 9:48
PeterisPeteris
1312 bronze badges
1312 bronze badges
add a comment |
add a comment |
Thanks for contributing an answer to Operations Research 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%2for.stackexchange.com%2fquestions%2f1255%2fis-there-a-sql-english-like-language-that-lets-you-define-formulations-given-som%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
1
$begingroup$
People not thinking in SQL after date of birth? 0 rows returned?
$endgroup$
– Stian Yttervik
Aug 13 at 14:29
1
$begingroup$
I wonder if Prolog could be used to solve this. Not sure if prolog could perform that last sentence requirement.
$endgroup$
– whatever
Aug 13 at 16:18
3
$begingroup$
I think there's a bit of an uncanny valley type effect going on here. If you tell users that "hey, this thing understands English," but it doesn't have a full understanding of all possible English, then your users are bound to get frustrated by the short-comings, in a way that they wouldn't with a "machine language" (i.e. systematic, optimized for easy and non-ambiguous parsing), where users "prepare themselves" and set some expectations.
$endgroup$
– Alexander
Aug 13 at 16:51
1
$begingroup$
Great, now graduates will have another excuse not to learn programming!
$endgroup$
– Indrajit
Aug 14 at 10:57