You may know about the prolog for Smalltalk/DOS of about 1990 vintage  ...
I must have it on a floppy in a box somewhere on a shelf.

R


On 25 September 2013 10:29, Jesus Nuñez <poissonbrea...@gmail.com> wrote:

> I'll try to elaborate but what I can say is only from my limited
> perspective. You can take it as an incomplete argument that needs much
> refinement, but could however serve as a seed for an upcoming idea.
>
> Search: After all we can see the entire web as a large graph which we seek
> to traverse, looking for information. First-order logic is the most neutral
> and natural way of representing the web. With facts and rules that convolve
> to derive new conclusions, logic is perhaps the most compact way of
> representing pretty much any kind of relationships.
>
> Think of a model for a situation that would accept a query as below with
> some facts and rules governing the dynamics of the underlying world:
>
> *"Give me all restaurants in the city where someone whose name is Laura
> has been a client at least once per month during the last 3 months and
> whose has always paid with credit card"*
>
> My opinions are based on the power of tools in Pharo, such as the moose
> family for data visualization and related stuff and of course Seaside,
> together with Prolog first order logic syntax, unification, backtracking
> capabilities, and search based on a sound resolution method. In the case of
> the use of Prolog for the semantic web, see for instance
> http://attempto.ifi.uzh.ch/site <http://attempto.ifi.uzh.ch/site/docs/>.
>
> Prolog counts also with mature semantic web packages
> http://www.swi-prolog.org/web/ that handles the semantic web RDF model
> naturally. For instance have a look at http://www.semanticweb.gr/topos/.
> In this very application you may also discover how Pharo can naturally fit
> in a similar application.
>
> In a personal attempt (indeed it is part of my master thesis); since I am
> in Pharo 1.4, I wanted to emulate the helvetia language boxes, to create
> rules in Pharo and interact with Prolog as in the example below for a SQL
> language box,
>
> rows := *SELECT * FROM users WHERE username = @(aString ~= /\s*(\w+)\s*/)*
>
> I created a parser in PetitParser for Prolog, however It was too much work
> to create something as the above from scratch (also somewhat involved is to
> handle operator declaration in Prolog) and finally I end up with a tool for
> imposing only queries to Prolog and retrive the results in a JSON
> dictionary using SocketStream for RPC handling and NeoJSONReader to read
> the JSON contents from the stream.
>
> Just for reference, it looks as follows,
>
> Transcript open.
> stream := SocketStream openConnectionToHostNamed: 'localhost' port: 31415.
> [
> text:='{"method":"query", "params": ["owns_Zebra(O,X)"], "id":0}'.
> stream nextPutAll:text; flush.
>  Transcript cr; show:(stream upToEnd).
> ] ensure: [
> stream close
> ]
>
> map := (NeoJSONReader on: (result contents) readStream )
> next.
>
> Again, it is only my limited view, and I am only starting to understand
> the fundamentals of semantic web but I think it is not a bad idea to create
> a productive conjunction of this two wonderful worlds. So please don't
> blame on me if I am wrong in all of my thoughs,
>
> Cheers,
> Jesus
>
>
>
>
>
>
> 2013/9/25 Norbert Hartl <norb...@hartl.name>
>
>>
>> Am 25.09.2013 um 13:02 schrieb Jesus Nuñez <poissonbrea...@gmail.com>:
>>
>> What did happen to Helvetia? Sorry if I am an ignorant here but I think
>> language boxes in Pharo; to interac, remarkably with Prolog, would be
>>  definitely a plus for semantic web development in Smalltalk.
>>
>> Cheers
>>
>> Sounds interesting. Can you elaborate on that? How could all of those
>> mentioned support the semantic web? [1]
>>
>> Norbert
>>
>> [1] http://en.wikipedia.org/wiki/Semantic_Web
>>
>>
>>
>>
>> 2013/9/25 Norbert Hartl <norb...@hartl.name>
>>
>>> Looking for semantic web tools I found
>>>
>>> http://www.squeaksource.com/TripleStore/
>>>
>>> Are there other resources for the semantic web in pharo? smalltalk?
>>>
>>> Norbert
>>>
>>
>>
>>
>

Reply via email to