you can write something like that:
*?- assert(likes('Bob', exploration('space', ('rockets'; 'solarsails')))).*
true.
It almost works, but I can't make prolog to return all the solutions:
?- likes('Bob', exploration('space', X)).
X = (rockets;solarsails).
ср, 18 авг. 2021 г. в 21:02, Linas Vepstas <[email protected]>:
>
>
> On Wed, Aug 18, 2021 at 5:32 AM Anatoly Belikov <[email protected]>
> wrote:
>
>> What do you mean by Prolog not allowing trees?
>>
>
> You can write
> :- likes (Bob, baseball);
>
> but you cannot write
> :- likes (Bob, :- exploration (space, :- or(rockets, solarsails)))
>
> The second example is a 3-level deep binary tree ... but is not valid
> prolog. Of course, you can convert it into valid prolog, but then it is no
> longer a single, deep tree, it would have to be three shallow trees.
>
> The game being played here is "how do you represent knowledge?" and
> there's a whole rainbow of choices: trees and graphs and directed graphs or
> undirected graphs or hypergraphs, .. or RDF or "semantic triples" or
> datalog or json or tables, or whatever. And any one of these systems is
> really enough for "anything" - you can represent knowledge with any of
> these systems.
>
> The real questions become: How easy is it to use? For example, you can
> represent "the green ball is under the couch" with "semantic triples" but
> it becomes hard and verbose. Another example: you can represent a
> hypergraph with just ordinary graphs, but how much extra RAM and CPU does
> that need? If CPU and RAM were free, if it weren't for these kinds of
> concerns, we could just layer datalog on top of Apache tinkerpop and use
> graphQL and declare victory.
>
> --linas
>
>
>> ср, 18 авг. 2021 г. в 02:40, Linas Vepstas <[email protected]>:
>>
>>> I spent the last week trying to convince a group of scheme enthusiasts
>>> to build a "database for s-expressions", which, after all is said and done,
>>> is all that the Atomspace is. This idea went over like a lead balloon.
>>>
>>> The primary stumbling block seems to be conceptual. People can visualize
>>> a database of rows and columns -- basically SQL -- very conventional. They
>>> can visualize a database of key-value pairs -- basically, noSQL. Also very
>>> popular. The idea of a JSON database is now common enough. JSON is, after
>>> all, a nested, hierarchical key-value store, having the form {name1:value1,
>>> name2:value2, ...} -- you can think of name1, name2, .. as being like
>>> column labels, and (value1, value2, ...) as being rows. The biggest
>>> difference between tables and JSON is that tables are fixed-width, with
>>> fixed column labels, while JSON is free-form: every JSON expression carries
>>> it's own labels. And, since it's hierarchical, each value can be another
>>> JSON expression, nesting arbitrarily deep. It's a labelled tree.
>>>
>>> When I suggested that one can store just plain s-expressions -- i.e.
>>> just (value1, value2, ...) without the labels ... an unlabeled tree ...
>>> this seemed to make people's heads explode. So my efforts, it seems, were
>>> for naught. Perhaps I planted a seed, though.
>>>
>>> The goal of a generic, agnostic database of s-expressions is to overcome
>>> the marketing problem the AtomSpace has. If some other organization could
>>> explain to the world what that is, and provide agnostic, generic API's, I
>>> think that would be a good thing. However, based on the cold reception I
>>> got, I'm thinking it may take another 10 years before the idea catches on.
>>>
>>> (The reception I got was "why don't you use JSON?" so I had to explain
>>> the problem with the labels. Once that was clear, the next suggestion was
>>> "why don't you use Prolog/Datalog?" I tried to explain how prolog is
>>> limited to crisp true/false values, and how prolog does not allow trees -
>>> it's not hierarchical the way s-expressions and JSON are - but this
>>> argument did not seem to gain traction. Somehow, just saying "it's a
>>> database of s-expressions" is not enough to convey the idea. People
>>> stumble on this. And yet, that's all that it is...)
>>>
>>> I'm saying this out loud, right here, right now, because if you are
>>> reading this, and you are thinking to yourself "I never quite understood
>>> what the atomspace is" -- well, it's that. It's a database of
>>> s-expressions. It's difficult to take the next step, until this first basic
>>> idea becomes clear. I want this first, basic idea to become clear to
>>> everyone.
>>>
>>> As to Hyperon -- Ben, I skimmed through everything written on Hyperon,
>>> and it seems (to me) like it could be "easily" implemented within the
>>> existing AtomSpace framework. I think this would be the right direction to
>>> move in, but I don't think that is possible until there is some sort of
>>> shared understanding about how things work, about how things could work,
>>> about what needs to be done. Reaching that shared understanding may require
>>> real work and hard thinking -- there's no magic wand of sudden
>>> enlightenment -- but its doable. And it can be done with, ahhh talking and
>>> email. I very strongly encourage discussion. Let the sun shine in.
>>>
>>> -- Linas
>>>
>>> On Tue, Aug 17, 2021 at 3:24 PM Ben Goertzel <[email protected]> wrote:
>>>
>>>> https://wiki.opencog.org/w/Hyperon
>>>>
>>>> On Tue, Aug 17, 2021 at 1:39 AM Amirouche Boubekki
>>>> <[email protected]> wrote:
>>>> >
>>>> > Is there a page that gathers all the publications regarding the new
>>>> design ?
>>>> >
>>>> > --
>>>> > You received this message because you are subscribed to the Google
>>>> Groups "opencog" group.
>>>> > To unsubscribe from this group and stop receiving emails from it,
>>>> send an email to [email protected].
>>>> > To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/opencog/CAL7_Mo_7ihMrRCZY%2BCLwAZ5KcHGqbRqwQgpOb8pLz1qY9Rj%2BSw%40mail.gmail.com
>>>> .
>>>>
>>>>
>>>>
>>>> --
>>>> Ben Goertzel, PhD
>>>> http://goertzel.org
>>>>
>>>> “He not busy being born is busy dying" -- Bob Dylan
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "opencog" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/opencog/CACYTDBf8jVx8pxaiwvmvkf0ACJgqGQeF6X8s3E%3D%3DdXhr2sPCvA%40mail.gmail.com
>>>> .
>>>>
>>>
>>>
>>> --
>>> Patrick: Are they laughing at us?
>>> Sponge Bob: No, Patrick, they are laughing next to us.
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "opencog" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/opencog/CAHrUA34_UMZf-3t0giA7TZVQmXs%3DO2-aHB3sn5FC0o-6YBdzCg%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/opencog/CAHrUA34_UMZf-3t0giA7TZVQmXs%3DO2-aHB3sn5FC0o-6YBdzCg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "opencog" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/opencog/CAFj%2Bw-sueAkJQaU1C0Ef4t60FrtFG3A%3DWQk-z%2BjSM56PQzE%3Dvw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/opencog/CAFj%2Bw-sueAkJQaU1C0Ef4t60FrtFG3A%3DWQk-z%2BjSM56PQzE%3Dvw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> Patrick: Are they laughing at us?
> Sponge Bob: No, Patrick, they are laughing next to us.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/CAHrUA37UtA8YZ4qrvFSYdkBSPEVZeUZP5wbyyqS8oA-3UZ4VJw%40mail.gmail.com
> <https://groups.google.com/d/msgid/opencog/CAHrUA37UtA8YZ4qrvFSYdkBSPEVZeUZP5wbyyqS8oA-3UZ4VJw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/opencog/CAFj%2Bw-uc3Mnt1zFDwosk11AoM%2B%2BjkJsp_U-dtcEdHaxVR%3DtgUw%40mail.gmail.com.