S-Expression Query Language

  • 19 Replies
  • 775 Views
*

infurl

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 479
  • Humans will disappoint you.
    • Home Page
Re: S-Expression Query Language
« Reply #15 on: April 12, 2018, 09:52:10 pm »
If we put data entanglements right, then all the calculations could be done by simply querying data structures.

This has already been done too. It's called RDF and the language that is used for querying such structures is called SPARQL. It allows you to treat different data repositories that are distributed around the internet as a single entity and issue queries across them all. An important aspect of RDF (and of the databases that I am assembling in my own project) is alignment. You have to match equivalent terms from different sources or it is all just a meaningless blob.

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 948
    • Structured Type System
Re: S-Expression Query Language
« Reply #16 on: April 12, 2018, 10:22:25 pm »
I'm aware of RDF, but I didn't like it much. It's too complicated, it has a million keywords for a million different stuff, as far as I remember. It was created as a W3C response to semantic web requirement, and they try to promote it on their site. But anyway, I'll do my own version for the task I'm trying to achieve (sharing knowledge), based on s-expressions.

S-expressions are underrated these days. More complex formats took a place that could be filled by simpler s-expressions.

For example, I'd also like to see s-expression version of HTML with some macro support.
Dream big. The bigger the dream is, the more beautiful place the world becomes.

*

infurl

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 479
  • Humans will disappoint you.
    • Home Page
Re: S-Expression Query Language
« Reply #17 on: April 12, 2018, 11:02:56 pm »
Your efforts to improve on the current technology are certainly to be applauded. While I'm trying to learn as much as I can from the principles of resource description framework (RDF) I'm not actually using it either. Like you I am very much favouring symbolic expressions over the rather awkward universal resource identifier (URI) syntax of RDF.

The next level up from RDF triples is first order logic (FOL) which can also be used to simulate higher order logic (HOL) to avoid the intractability of the latter, making it capable of expressing any kind of knowledge. Practical applications of this include knowledge interchange format (KIF) and even better, SUO-KIF which comes with a fairly comprehensive ontology in the form of the suggested upper merged ontology (SUMO) which is mature and in active development.

Have you devoted much thought to the use of S-expressions for building ontologies or do you have something else in mind for them? (If you want HTML with macro support then you should be looking at XHTML and XSLT which is how the web should be implemented. Also W3C standards.)

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 948
    • Structured Type System
Re: S-Expression Query Language
« Reply #18 on: April 12, 2018, 11:33:46 pm »
Quote
Have you devoted much thought to the use of S-expressions for building ontologies or do you have something else in mind for them?

Actually, I'm building a language in which any other language (programming, DSL, scientific, natural) could be syntactically and semantically described. It is a knowledge base theory language. For a reference, throw a look to the left of this post, to click on the blue-green globe. That is a link to my year-and-a-half old specification of such a language. Basically, it is a lambda calculus packaged in a structured manner, capable of what I stated. It caught a nice critics on lambda-the-ultimate blogging site, but people there know much about computational theory, so I didn't have to explain much to them. Probably, on some other site I wouldn't get away with a material from the link because it is not thoroughly shaken over examples.

However, I didn't implement the language back then, and I sustained to search further (god knows why), so I ended up in a s-expression query system a few months ago, as a better version of knowledge representation theory. After it got over the child diseases, now I'm eager to explain it in a paper before stepping into coding, just to be sure I didn't leave something out.

Who knows, maybe after this I'll sustain to seek further, but honestly, I hope to code in this version because my investigation already took a sick amount of time. It is time for me to actually do something, instead of just thinking about it.
Dream big. The bigger the dream is, the more beautiful place the world becomes.

*

infurl

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 479
  • Humans will disappoint you.
    • Home Page
Re: S-Expression Query Language
« Reply #19 on: April 13, 2018, 07:47:03 am »
Actually, I'm building a language in which any other language (programming, DSL, scientific, natural) could be syntactically and semantically described. It is a knowledge base theory language. For a reference, throw a look to the left of this post, to click on the blue-green globe. That is a link to my year-and-a-half old specification of such a language.

Wow. So I spent a fair portion of the day reading and rereading your paper and I can absolutely assure you that you are on the right track. You still have a way to go though, so I hope you persevere and continue.

I know this because I followed the same path that you are taking and four years ago I completed a system which does everything that you describe and more. I was able to refine my language considerably compared to yours and it has a much cleaner and easier to use syntax, but it does everything that you describe and more. My system scales up to handle millions of rules which I think is essential for natural language processing. It compiles the rules in sections which are saved and then linked together to save time. I've spent the time since I paused development of it collecting and preparing knowledge bases for it to use.

Once you start implementing your language you will start to have insights which will help you improve it too.

Reading about Typed Feature Structures might help you get there sooner.

https://en.wikipedia.org/wiki/Feature_structure

https://www.amazon.com/Logic-Typed-Feature-Structures-Applications/dp/0521022541

You're doing brilliant work Ivan, please keep it up.