ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Ontology-driven software for querying facts in tempo

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Duane Nickull <duane@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 15 Nov 2012 14:42:08 -0800
Message-id: <CCCAAE1F.20B168%duane@xxxxxxxxxxxxxxxxxxxxxxx>
Hi:

Jumping in late here.  I always look when there is code and it quite clearly states that his code base is subject to the 

I also perused the main trunk and all the code is in fact open (although Piotr, you may want to add a header to each source file with a statement of license and link to help others understand this). I trust that the MPL license is sufficient for Ontolog Forum to at least allow discussion here?

Assuming it is, the code project appears to be a way to map OWL to SQL.  The current code base does this with a lot of hard coded statement constructors and is heavily string based.  Sample:

  if(name.equals("occurs_before"))
                                result = "SELECT 1 FROM {TABLE_NAME} {Q2} WHERE "+(additionalCondition != null ? additionalCondition : "")+"{Q1}.{DATE_FIELD} < {Q2}.{DATE_FIELD} ";
                        else if(!name.contains("_day"))
                                throw new OwlToSqlTransformationException("Unsupported time unit of a temporal object property: "+name);
                        else if(name.contains("between"))
                                result = "SELECT 1 FROM {TABLE_NAME} {Q2} WHERE "+(additionalCondition != null ? additionalCondition : "")+"("+conf.getDBSpecificDateDifference("{Q2}.{DATE_FIELD} - {Q1}.{DATE_FIELD}")+" BETWEEN "+TextProcessingUtils.parseNumberOfDaysBetween(name)+") ";
                        else if(name.startsWith("occurs_max"))
                                result = "SELECT 1 FROM {TABLE_NAME} {Q2} WHERE "+(additionalCondition != null ? additionalCondition : "")+"("+conf.getDBSpecificDateDifference("{Q2}.{DATE_FIELD} - {Q1}.{DATE_FIELD}")+" BETWEEN 1 AND "+TextProcessingUtils.parseNumberOfDays(name)+") ";
                        else if(name.startsWith("occurs_min"))
                                result = "SELECT 1 FROM {TABLE_NAME} {Q2} WHERE "+(additionalCondition != null ? additionalCondition : "")+conf.getDBSpecificDateDifference("{Q2}.{DATE_FIELD} - {Q1}.{DATE_FIELD}")+" >= "+TextProcessingUtils.parseNumberOfDays(name)+" ";
                        else if(name.substring(0,8).matches("occurs_[0-9]"))
                                result = "SELECT 1 FROM {TABLE_NAME} {Q2} WHERE "+(additionalCondition != null ? additionalCondition : "")+conf.getDBSpecificDateDifference("{Q2}.{DATE_FIELD} - {Q1}.{DATE_FIELD}")+" = "+TextProcessingUtils.parseNumberOfDays(name)+" ";
                        else
                                throw new OwlToSqlTransformationException("Unsupported temporal object property: "+name);
                }

It looks like an interesting approach although I am not sure how scalable it is the way it is factored.  I applaud someone actually taking ontological concepts and writing code.

YAMMV

Duane Nickull

***********************************
Technoracle Advanced Systems Inc.
Consulting and Contracting; Proven Results!
i.  Neo4J, PDF, Java, LiveCycle ES, Flex, AIR, CQ5 & Mobile
t.  @duanechaos
"Don't fear the Graph!  Embrace Neo4J"



From: Alex Shkotin <alex.shkotin@xxxxxxxxx>
Reply-To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
Date: Wednesday, 14 November, 2012 10:32 PM
To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
Subject: Re: [ontolog-forum] Ontology-driven software for querying facts in temporal context

Hi Piotr,

I think you should give here not an URL to practically empty site, but URL to report or an article about your methodology, system, and 'simple' English.
It would be even better if you just say what is new in your approach and what kind of problem it solves.
As it looks like you say "I did it!". And they say "We did it many times".

Best regards,

Alex


2012/11/14 Piotr Nowara <piotrnowara@xxxxxxxxx>
Dear all,

the content of the website I linked in my initial message is intended to be open-source  - one can find the license information in the source files and on my project's homepage: http://code.google.com/p/linked-facts/

I want to keep this software (the OWL-to-SQL interpreter with associated  Protégé plugins and OWL files) open-source and to allow their use in the commercial projects under the terms of Mozilla Public License 1.1. The reason I mentioned about the "commercial project" is that I wanted to emphasize my intention to share an ontology-based solution capable to be deployed in a real business scenario. I’m sorry for the confusion.

I have already started to upload the source code. I plan to prepare a tutorial on how to configure and deploy my software and publish it on my website but if anyone is interested  I can provide some details before I manage to prepare detailed documentation. My main goal now is to reach to potential users or contributors and hear your opinions about this project.

Best regards,
Piotr Nowara

2012/11/14 Ron Wheeler <rwheeler@xxxxxxxxxxxxxxxxxxxxx>
I am not sure what Peter was referring to as IPR policy.
I reread it just to be sure.

I read it to say that anything contributed is open but not things that
you talk about.
We talk about lots of non-open source tools.

In addition, I understood Piotr's comment to say that his tool was open
source.
He was looking for others to help out.

It is being used in a commercial project but that is pretty common with
most of the people here.
We frequently discuss projects that produce proprietary results.
Some use commercial tools and some use open source.

Did I miss something?

Ron


On 14/11/2012 1:07 PM, Jack Park wrote:
> Out of curiosity, is the link at the bottom
> http://code.google.com/p/linked-facts/ the actual code being discussed
> here?
>
> Jack
>
> On Wed, Nov 14, 2012 at 9:38 AM, Peter Yim <peter.yim@xxxxxxxx> wrote:
>> Dear  Piotr,
>>
>>
>> Are you (or, at the least, is your intent to) open sourcing the tool/technology?
>>
>> You might note that this is an "open" community - see our IPR Policy
>> at: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid32
>>
>> If you work will stay being "commercial", then this is probably not
>> the right venue to discuss it. Feel free to email me offline if you
>> have further questions.
>>
>>
>> Thanks & regards. =ppy
>>
>> Peter Yim
>> Co-convenor, ONTOLOG
>> --
>>
>>
>> On Wed, Nov 14, 2012 at 8:20 AM, Piotr Nowara <piotrnowara@xxxxxxxxx> wrote:
>>> Dear ontologists,
>>>
>>> I have developed an open-source software for translating ontology based
>>> descriptions of facts into SQL queries. Currently it’s based on a set of OWL
>>> ontologies and a configurable JAVA software that can be easily adapted to a
>>> specific use scenario. It enables to create detailed definitions of facts in
>>> their temporal context  by writing simple sentences based on the provided
>>> vocabulary. The result is a hierarchical system of categories that can be
>>> automatically translated into SQL queries and used in reporting, data
>>> extraction, ad-hoc analysis etc. Below [1] is a link to a short video which
>>> demonstrates one of many ways of how this solution can be used. I have  also
>>> started a website[2] where I intend to gradually share information on how to
>>> configure and deploy my software
>>>
>>> If you want to learn more details please send me a message. My long-term
>>> goal is to make this software accessible for a wider community so I have
>>> decided to look for potential users and/or contributors. Currently I'm
>>> deploying this solution in a commercial project in healthcare domain where
>>> it will be used for storing and integrating knowledge gathered from
>>> data-mining tools and transforming it to a set of easy-to-use SQL queries.
>>>
>>> Best regards,
>>> Piotr Nowara
>>>
>>> [1] http://www.youtube.com/watch?v=UDKtQkriRgI
>>> [2] http://code.google.com/p/linked-facts/
>>>
>>>
>>>
>>> _________________________________________________________________
>>> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
>>> Config Subscr: 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 join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
>>>
>>


--
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@xxxxxxxxxxxxxxxxxxxxx
skype: ronaldmwheeler
phone: 866-970-2435, ext 102



_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: 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 join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
 

_________________________________________________________________ Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/ Config Subscr: 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 join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: 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 join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (01)

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