Re: Storing data and code in a Db with LISP-like interface

From: Nick Malik [Microsoft] <nickmalik_at_hotmail.nospam.com>
Date: Fri, 28 Apr 2006 10:04:08 -0700
Message-ID: <K5ednVTQR-pk1M_ZRVn-iA_at_comcast.com>


"Neo" <neo55592_at_hotmail.com> wrote in message news:1146103513.187238.112320_at_y43g2000cwc.googlegroups.com...
>> ... I thought: /this/ is much easier in prolog.
>
> Prolog is definitely more compact. We will soon see (next extension of
> example) if it's compactness will allow it to represent anything.
>

Hi Neo,

I apologize to you for not being able to spend the time to follow up in detail. That said, I apologize to this forum for taking this thread off in a direction where I cannot complete the exercise. You see, I took up your challenge hoping to show you that other scientists have thought of the same things you have, and that you can really ratchet up your thinking, and perhaps even your tool, if you'd take this opportunity to read their writings, learn from their originality, and, essentially, "stand upon the shoulders of giants." It is in that intent, the intent to shed the light of discovery, that I participated. I am not, however, interested in being a Prolog instructor.

As to the 'can you do /this/ in Prolog' questions:

All of the relationships you have asked about, at this point in the thread can be modeled in Prolog, if that is your intent. It comes down to a requirements problem. My initial program solved only the requirements you had placed on it. However, if your need includes requirements for knowing that the relationship between 'john' and 'tomato' is that 'john likes to eat them,' and not that 'john was born from one,' then you can represent that in a different way. That said, you can clearly and easily represent it. This isn't a representation problem.

Interestingly, you can represent it without extending the language or adding another function. I'm not sure, but it kinda looked like that's what you were doing with your CreateWRR call in another part of this exhaustive thread.

At this point, I buck out. I am working on understanding the correct place to put REST services in an Enterprise Architecture that heavily leverages SOAP for security, authentication, and audit/log/monitor/control operations with the goal of reducing IT portfolio TCO. Today, that is more interesting to me than semantic knowledge representation problems that were in vogue 20 years ago. There is ample research and writing available for both my problem and yours. I am researching my problem by reading long, and sometimes boring, white papers, RFIs, and standards. Then I will be able to speak with intelligence and earn the respect of my peers when discussing these concerns.

Note: if you want to actually use Prolog in a commercial setting, I would suggest that you take a close look at XSB from SUNY. This particular variant on Prolog extends both the evaluation engine and some of the representational syntax to overcome some of the issues that stymied early Prolog implemenations. There is a consulting group that works near the University that implements expert systems and logic systems using XSB in commercial settings, so I'm fairly sure that this is a mature point for the tool. Although I mentioned P# earlier, I know little about it's actual implementation, so I cannot speak to its strengths.

Signing off of this thread...

-- 
--- Nick Malik [Microsoft]
    MCSD, CFPS, Certified Scrummaster
    http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not 
representative of my employer.
   I do not answer questions on behalf of my employer.  I'm just a 
programmer helping programmers.
--
Received on Fri Apr 28 2006 - 19:04:08 CEST

Original text of this message