[Top] [All Lists]

Re: [ontolog-forum] Proceedings - Ontolog Mini-Series: Database and Onto

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Fri, 09 Feb 2007 22:19:35 -0500
Message-id: <45CD39C7.3090406@xxxxxxxxxxx>
Peter,    (01)

In a previous note, I mentioned Datalog, which is a subset
of Prolog that has a direct mapping to relational databases.
And it turns out that SWRL is essentially Datalog with a
slightly different notation.  The similarity between Datalog,
Prolog, and SWRL is not surprising since they are all based
on the same subset of logic (Horn clauses).    (02)

Following is an example of SWRL from Martin's slides:    (03)

    hasParent(?x, ?y) ^ hasBrother(?y, ?z) -> hasUncle(?x, ?z)    (04)

And following is the corresponding rule in Datalog or Prolog:    (05)

    hasUncle(X,Z) :- hasParent(X,Y), hasBrother(Y,Z).    (06)

The SWRL query examples could also be translated to Prolog.
There is already an ISO standard for Prolog, and there are
some excellent commercial and open-source implementations,
which have good connectivity to both Java and SQL.    (07)

In his slides, Martin mentioned that there are some problems
in integrating SWRL with RDF and OWL.  But many companies
and government agencies translate RDF and OWL to Prolog in
order to improve performance.  By translating SWRL to Prolog,
all three languages could be integrated and supported on the
same platform.    (08)

John Sowa
___________________________________________________________________    (09)

URL for the slides by Martin O'Connor:    (010)

http://ontolog.cim3.net/file/work/DatabaseAndOntology/2007-02-08_MartinOConnor/Querying-RDB-Using-OWL-n-SWRL--MartinOConnor_20070208.ppt    (011)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (012)

<Prev in Thread] Current Thread [Next in Thread>