Please log in.
Before you can vote, you need to register. Please log in or create an account.
Computer: Data Organization
Internet Query Language   (+6, -1)  [vote for, against]
An SQL-like language for easily accessing the world's greatest database - the internet

The internet is clearly the greatest resource of knowledge that exists today. It is an ever-expanding and decentralized database in a common presentational format: HTML. While this may vary (plain text/PDF/differing formats, different encodings), they're all easily handled by a smart programmer.

The problem is most people are not programmers and it takes a lot of work to get all those things together. So an intermediary should be designed to do what SQL has done for databases - IQL - the Internet Query Language.

Unlike SQL which works with tables, IQL will work with hierarchical data (everything that can be done with tables can be done with hierarchical data, example: the <TABLE> tag in HTML). The syntax will be similar to SQL so it will have an easy learning curve.

Comparisons between SQL and IQL:

- SQL uses tables, IQL uses hierarchies.

- SQL accesses local data synchronously, IQL accesses remote data asynchronously, with options for synchronicity.

- SQL uses column names, IQL uses CSS-like selectors.

Example of IQL query: "GET http://www.google.com/search?q=Einstein SELECT TEXT(h3) LIMIT 3;"

which should return:

"Albert Einstein - Wikipedia, the free encyclopedia"

"Albert Einstein - Biography"

"Albert Einstein Online"

It has some resemblance to the SQL language, but the GET comes first, as it is the equivalent of "FROM" in SQL, and I think FROM should have come first in SQL anyway. Custom functions and operators can be added, so the query can be made even more user-friendly, like: "GOOGLE 'Einstein' SELECT TEXT(h3) LIMIT 3;".

Other examples:

GET reddit.com SELECT p.title SELECT TEXT(*) AS TEXT, a.href AS @href, TEXT(a.subreddit) INTO @subreddit GROUP BY @subreddit; (select the top articles on reddit and links to them grouped by subreddit. The returned data is always hierarchical, but can easily be treated like a table in most cases)

GET en.wikipedia.org/wiki/Special:Random SELECT .firstHeading AS @title, #bodyContent AS TEXT REMOVE #siteSub, .navbox, .metadata; (select a random article's title and content on wikipedia, removing banners and other useless things)

GET en.wikipedia.org/wiki/Special:UserLogin SET #wpName1 = 'myname', #wpPassword1 = 'mypass' SUBMIT form[@name='userlogin']; (log into wikipedia account)

I am currently working on it, and would appreciate any ideas and criticism.
-- manixrock, Jan 01 2010

MQL http://www.freebase.com/developer
(See "your first query" section) [Inyuki, Jan 01 2010]

SPARQL https://en.wikipedia.org/wiki/SPARQL
[Mindey, Mar 14 2019]

Good owl examples http://owl.man.ac.uk/2003/why/latest/
How to do reasoning with OWL [chronological, May 18 2022]

Trying out blazegraph http://www.snee.com...out-blazegraph.html
Example of inferencing on blazegraph [chronological, May 18 2022]

Reason maintenance https://en.m.wikipe.../Reason_maintenance
How reasoning databases maintain truth [chronological, May 19 2022]

@Ian Tindale - XQuery is a functional programming language, not a query language. Imagine if SQL was a programming language instead of what it is now, it wouldn't be as useful. It only works with XML, not HTML or other formats (99% of the web is not valid XML). It uses XPath which is ugly and hard to use compared with CSS-like selectors, used, for example, by jQuery.
-- manixrock, Jan 02 2010


SPARQL is the future, and with a well crafted set of OWLs, you can get deduced results missing from the original data - an enormously powerful property that can feel quite magical at times.
-- zen_tom, Mar 15 2019


I've used Jena Fuseki and the desktop app Protege for Reasoning over OWL documents it's very powerful and clever.

I want to understand OWL better but not all triple stores have truth maintenance.

I used the open source version of blazegraph. It was acquired by Amazon and became their Neptune product.

Read the links for an example of the power of OWL reasoning
-- chronological, May 18 2022


Thank you [chronological]. That reminds me of something, which does not yet exist or have a name.
-- pertinax, May 18 2022


OWL allows for reasoning or generation of facts that don't exist.

If you want to look on Wikipedia for reason maintenance I linked it.

And look into Prolog.

Automated reasoning is really powerful. It uses backward chaining or forward chaining to create reasonings that don't exist.

The Wikipedia pages on backward chaining and forward chaining exist.
-- chronological, May 19 2022



random, halfbakery