The Sun BabelFish Blog

Don't panic !

Friday Jun 30, 2006

Logic as the science of Garbage Collection

Everybody knows that logic does not bring anything new to the table that we did not allready know. It just reveals the consequences inherent in our thougts. By logical transformations we can never get to know what the world is like. For that we need our senses: we need to look at the world. So what is logic for?

Well it occured to me recently just how much similarity there is between garbage collection and logic. Consider that you communicate with some dude over the internet but that the only thing you know about his is that his email address is hjs@bblfish.net and that he knows you. This can be written in N3 as


 _:p1 foaf:mbox ≤mailto:hjs@bblfish.net≥;
      foaf:knows :me .

Let us imagine that you later get to know some dude at a conference and on his slide he puts up a url to his home page. You immediately add this information to your database like this


_:p2 foaf:homePage ≤http://bblfish.net≥ .
 :me foaf:knows _:p2.

So now you have 4 statements in your database. On looking at the home page you notice that it contains a mailbox. So you add to your database


_:p2 foaf:mbox ≤mailto:hjs@bblfish.net≥ .

Now you have 5 statements in your database. And here logic kicks in. As foaf:knows is an owl:InverseFuntionalProperty (ie: for the same object there can only be one subject), you can deduce from


 _:p1 foaf:mbox ≤mailto:hjs@bblfish.net≥ .
 _:p2 foaf:mbox ≤mailto:hjs@bblfish.net≥ .


that

_:p1 owl:sameAs _:p2 .

Ie. you can merge (smush is the technical term) _:p1 and _:p2, and end up with the graph


 :me foaf:knows [ foaf:mbox ≤mailto:hjs@bblfish.net≥;
                  foaf:homePage ≤http://bblfish.net≥ ; 
                  foaf:knows :me ] .

Which says that I know someone with mailbox hjs@bblfish.net and home page http://bblfish.net and this person knows me. Which is 4 statements long instead of 5. Now if there had been more duplicate content on each of those nodes, then the reduction could have been a lot larger.

So what is an inferencing database? It's a database that can garbage collect redundant data.

[just a thought. see comments]

Comments:

This shows that database with smushing is a database that can garbage collect data. But that same does not hold true for all kinds of inference. E.g., if a property is InverseProperty then inferencing will create an additional (inverse) statement. Still I like how it sounds - the garbage collecting inference. :)

Posted by CaptSolo on June 30, 2006 at 10:05 PM CEST #

I would argue it holds just as weell there too. If I have the relation :married which is an owl:SymmetricProperty then I don't need to state both that :joe :marriedTo :jane . :jane :marriedTo :joe . One of those statements suffices. The other is entailed.

Posted by Henry Story on June 30, 2006 at 10:41 PM CEST #

Note on comments:

Post a Comment:
Comments are closed for this entry.

Search

Recent Entries

Navigation

Referers