You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@olingo.apache.org by Sebastian Samaruga <co...@gmail.com> on 2015/02/24 03:10:49 UTC

Semantic Web BI Application

Hi,

I would like to share a simple application for gathering data from diverse
datasources and merge them semantically due to identity criteria. This
could be useful in Business Intelligence (BI) cases where big amounts of
knowledge needs to be available and grouped for access.

The application actually consumes data from configured datasources and
resolves type/instance identity equivalences. The current demo datasources
contains references to the same subject in multiple statements and merges
them into one and recognizes different vocabularies refering the same thing.

Running the demo requires checking out the appication JARs (its a Java
application) and running them from the command line (needs JDK installed).

The application is hosted at http://cognescent.googlecode.com . Checkout:
CognescentCBI.jar & CognescentCBIBrowser.jar in the repo root following the
instructions for source SVN checkout there and run them in your local
machine.

The first application shows the internal data structures for debugging and
the other shows domain types/objects and their (inferred) properties.
java -jar CognescentCBI.jar

The other one shows a (adaptive) domain model:
java -jar CognescentCBIBrowser.jar

If you checkout the sources and try to build yourself please look
src/datasources.xml to see with which datasources you can play (under
development).

The application status is very immature yet but some parts ar taking up
shape for the supporting framework of a BI application. Suggestions on
which functionalities should be implemented are  very appreciated

The application has an RDF/OWL server with an embedded Apache Fuseki
endpoint allowing SPARQL queries. It also will offer an Apache Olingo OData
v4 endpoint and will use OData URIs for semantic retrieveable resources,
that's why I'm copying also to Olingo lists.

Best regards,
Sebastian Samaruga.

Re: Semantic Web BI Application

Posted by Peter Lawrence <pe...@inova8.com>.
You might be interested in Silk (
http://wifo5-03.informatik.uni-mannheim.de/bizer/silk/) that 'crawls'
across databases and finds matching 'things'. So it might find that  an
'Actor' thing is the same as a 'Person' thing because they share the same
social security number, even though they do not share the same name.

Best regards

Peter

*Peter J. Lawrence*
*inova8*
*Providing answers for users' information questions*
*Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44 795
563 2824 |*Skype:* PeterJLawrence
*Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
*LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
<http://www.linkedin.com/in/peterjohnlawrence>*

On Tue, Feb 24, 2015 at 5:29 PM, Sebastian Samaruga <co...@gmail.com>
wrote:

> Peter,
>
> Yes, I recognize triples as a canonical form of data which can be
> augmented and queried and used as an intermediate format for any kind of
> datasources from/to translation.
>
> I'm now willing to move to the applications area of this versatile way of
> managing information such as mining, discovery, search and browsing. But,
> before this, I need to be able to recognize identity of subjects in merged
> datasources. I've an algorithm designed to recognize the class of a
> subject, its neighbours on this class and the parent class (metaclass) of
> the subject. But I've no means to distinguish instance similarity because
> two instances could be the same in many degrees of similarity and thus the
> algorithm works where the instances are nearly identical.
>
> I'll be checking the project you mentioned.
>
> Best regards,
> Sebastian Samaruga.
>
>
> On Tue, Feb 24, 2015 at 4:28 PM, Peter Lawrence <peter.lawrence@inova8.com
> > wrote:
>
>> Sebastian
>>
>> You might be interested in the Optique project (
>> http://www.optique-project.eu/) that is similarly using RDF/semantic
>> form as the intermediate data representation of data drawn from multiple
>> datasources. As you have already recognized, RDF/semantic representation of
>> data seems to be the most useful 'atomic' form of any data, from which any
>> other form can be reconstructed. Similarly any existing datasource can be
>> converted to RDF/semantic form on demand (ontop, d2r etc).
>>
>> Thus my use of OpenRdf as the repository against which I have created an
>> Olingo/Odata endpoint is not to limit myself to RDF data, but to use the
>> existing capabilities of OpenRdf to manage repositories of many different
>> datasources. In otrhr words any datasource that can be a OpenRdf repository
>> can be published as an Odata endpoint.
>>
>> Make sense?
>>
>> Best regards
>>
>> Peter
>>
>> *Peter J. Lawrence*
>> *inova8*
>> *Providing answers for users' information questions*
>> *Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44 795
>> 563 2824 |*Skype:* PeterJLawrence
>> *Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
>> *LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
>> <http://www.linkedin.com/in/peterjohnlawrence>*
>>
>> On Tue, Feb 24, 2015 at 10:01 AM, Sebastian Samaruga <
>> cognescent@gmail.com> wrote:
>>
>>> Peter, sure I would be interested. The current scope of the project is
>>> to have as many datasources as possible and also as many services as
>>> possible to expose the underlying semantically merged model for consumption
>>> for as many clients as possible.
>>>
>>> I actually have RDF/OWL datasources, JDBC/Relational database
>>> datasources, JSON datasources, CSV datasources, XML datasources and so on
>>> (i.e.: OLAP datasource in progress).
>>>
>>> And also I have OWL/RDF services layer, OData services layer (Olingo v4
>>> work in progress) a SPARQL endpoint and working on many others.
>>>
>>> Once I've developed the core of the application, which is to merge data
>>> according to its semantic identity (i.e.: Fido: a.: My neighbour’s dog, The
>>> canine animal that's crossing the street) via the distinction of Types and
>>> Subjects, Values and Dimensions, and Entities or Properties which would
>>> allow such merge, I'll need to find practical applications for this kind of
>>> knowledge management such as: a Business Intelligence data discovery /
>>> mining / drill or also a dynamic workflow application for business
>>> processes augmented with semantic contextual information.
>>>
>>> So, now, with a basic core work in progress, I would like to focus more
>>> on applications and the resolution for some algorithms that I've leaved
>>> 'dummy' (hardcoded) as the URI identity resolution algorithm which now is
>>> provided by a 'normalized terms' dictionary. I haven't found the way yet of
>>> discovery of identity by an algorithm and that will be of much value for
>>> the application.
>>>
>>> Best regards,
>>> Sebastian Samaruga.
>>>
>>>
>>> On Tue, Feb 24, 2015 at 9:18 AM, Peter Lawrence <
>>> peter.lawrence@inova8.com> wrote:
>>>
>>>> Sebastian
>>>>
>>>> You might be interested in the Olingo2Sparql RDF provider for Odata
>>>> that I have already created. Some details are here:
>>>> http://inova8.com/joomla/index.php/blog
>>>>
>>>> This is based on Olingo2 that supports the Odata v2 specifications. I
>>>> am currently upgrading to Olingo4 which supports the latest V4
>>>> specification, although Olingo4 is not yet stable. BTW I originally used
>>>> Odata4j but that project seems to have lost steam.
>>>>
>>>> For the backend I originally used the Jena API, but I have recently
>>>> completely refactored Olino2Sparl to used the OpenRdf API. The advantage of
>>>> OpenRdf is that it allows Olingo2Sparql to publish any RDF repository
>>>> including, but not limited to, SPARQL endpoints.
>>>>
>>>> To publish a RDF source, Olingo2Odata extracts the metamodel directly
>>>> from the RDF source and publishes this via the Odata $metadata. To preserve
>>>> some of the useful details contained in a RDF schema that are lost in a
>>>> Odata metamodel, I include annotations in the $metadata, such as the actual
>>>> URI of a property, association or class. This is consistent with the Odata
>>>> specification.
>>>>
>>>> Olingo2Sparql is already in use in a proof-of-concept project, but the
>>>> only reason I have not released it publicly is that it needs more test code
>>>> and polish.
>>>>
>>>> If you feel that this would accelerate your project I would be happy to
>>>> share the code with you,
>>>>
>>>> Best regards
>>>>
>>>> Peter
>>>>
>>>>
>>>>
>>>>
>>>> *Peter J. Lawrence*
>>>> *inova8*
>>>> *Providing answers for users' information questions*
>>>> *Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44
>>>> 795 563 2824 |*Skype:* PeterJLawrence
>>>> *Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
>>>> *LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
>>>> <http://www.linkedin.com/in/peterjohnlawrence>*
>>>>
>>>> On Mon, Feb 23, 2015 at 9:10 PM, Sebastian Samaruga <
>>>> cognescent@gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I would like to share a simple application for gathering data from
>>>>> diverse datasources and merge them semantically due to identity criteria.
>>>>> This could be useful in Business Intelligence (BI) cases where big amounts
>>>>> of knowledge needs to be available and grouped for access.
>>>>>
>>>>> The application actually consumes data from configured datasources and
>>>>> resolves type/instance identity equivalences. The current demo datasources
>>>>> contains references to the same subject in multiple statements and merges
>>>>> them into one and recognizes different vocabularies refering the same thing.
>>>>>
>>>>> Running the demo requires checking out the appication JARs (its a Java
>>>>> application) and running them from the command line (needs JDK installed).
>>>>>
>>>>> The application is hosted at http://cognescent.googlecode.com .
>>>>> Checkout:
>>>>> CognescentCBI.jar & CognescentCBIBrowser.jar in the repo root
>>>>> following the instructions for source SVN checkout there and run them in
>>>>> your local machine.
>>>>>
>>>>> The first application shows the internal data structures for debugging
>>>>> and the other shows domain types/objects and their (inferred) properties.
>>>>> java -jar CognescentCBI.jar
>>>>>
>>>>> The other one shows a (adaptive) domain model:
>>>>> java -jar CognescentCBIBrowser.jar
>>>>>
>>>>> If you checkout the sources and try to build yourself please look
>>>>> src/datasources.xml to see with which datasources you can play (under
>>>>> development).
>>>>>
>>>>> The application status is very immature yet but some parts ar taking
>>>>> up shape for the supporting framework of a BI application. Suggestions on
>>>>> which functionalities should be implemented are  very appreciated
>>>>>
>>>>> The application has an RDF/OWL server with an embedded Apache Fuseki
>>>>> endpoint allowing SPARQL queries. It also will offer an Apache Olingo OData
>>>>> v4 endpoint and will use OData URIs for semantic retrieveable resources,
>>>>> that's why I'm copying also to Olingo lists.
>>>>>
>>>>> Best regards,
>>>>> Sebastian Samaruga.
>>>>>
>>>>>
>>>>
>>>
>>
>

Re: Semantic Web BI Application

Posted by Sebastian Samaruga <co...@gmail.com>.
Peter,

Yes, I recognize triples as a canonical form of data which can be augmented
and queried and used as an intermediate format for any kind of datasources
from/to translation.

I'm now willing to move to the applications area of this versatile way of
managing information such as mining, discovery, search and browsing. But,
before this, I need to be able to recognize identity of subjects in merged
datasources. I've an algorithm designed to recognize the class of a
subject, its neighbours on this class and the parent class (metaclass) of
the subject. But I've no means to distinguish instance similarity because
two instances could be the same in many degrees of similarity and thus the
algorithm works where the instances are nearly identical.

I'll be checking the project you mentioned.

Best regards,
Sebastian Samaruga.


On Tue, Feb 24, 2015 at 4:28 PM, Peter Lawrence <pe...@inova8.com>
wrote:

> Sebastian
>
> You might be interested in the Optique project (
> http://www.optique-project.eu/) that is similarly using RDF/semantic form
> as the intermediate data representation of data drawn from multiple
> datasources. As you have already recognized, RDF/semantic representation of
> data seems to be the most useful 'atomic' form of any data, from which any
> other form can be reconstructed. Similarly any existing datasource can be
> converted to RDF/semantic form on demand (ontop, d2r etc).
>
> Thus my use of OpenRdf as the repository against which I have created an
> Olingo/Odata endpoint is not to limit myself to RDF data, but to use the
> existing capabilities of OpenRdf to manage repositories of many different
> datasources. In otrhr words any datasource that can be a OpenRdf repository
> can be published as an Odata endpoint.
>
> Make sense?
>
> Best regards
>
> Peter
>
> *Peter J. Lawrence*
> *inova8*
> *Providing answers for users' information questions*
> *Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44 795
> 563 2824 |*Skype:* PeterJLawrence
> *Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
> *LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
> <http://www.linkedin.com/in/peterjohnlawrence>*
>
> On Tue, Feb 24, 2015 at 10:01 AM, Sebastian Samaruga <cognescent@gmail.com
> > wrote:
>
>> Peter, sure I would be interested. The current scope of the project is to
>> have as many datasources as possible and also as many services as possible
>> to expose the underlying semantically merged model for consumption for as
>> many clients as possible.
>>
>> I actually have RDF/OWL datasources, JDBC/Relational database
>> datasources, JSON datasources, CSV datasources, XML datasources and so on
>> (i.e.: OLAP datasource in progress).
>>
>> And also I have OWL/RDF services layer, OData services layer (Olingo v4
>> work in progress) a SPARQL endpoint and working on many others.
>>
>> Once I've developed the core of the application, which is to merge data
>> according to its semantic identity (i.e.: Fido: a.: My neighbour’s dog, The
>> canine animal that's crossing the street) via the distinction of Types and
>> Subjects, Values and Dimensions, and Entities or Properties which would
>> allow such merge, I'll need to find practical applications for this kind of
>> knowledge management such as: a Business Intelligence data discovery /
>> mining / drill or also a dynamic workflow application for business
>> processes augmented with semantic contextual information.
>>
>> So, now, with a basic core work in progress, I would like to focus more
>> on applications and the resolution for some algorithms that I've leaved
>> 'dummy' (hardcoded) as the URI identity resolution algorithm which now is
>> provided by a 'normalized terms' dictionary. I haven't found the way yet of
>> discovery of identity by an algorithm and that will be of much value for
>> the application.
>>
>> Best regards,
>> Sebastian Samaruga.
>>
>>
>> On Tue, Feb 24, 2015 at 9:18 AM, Peter Lawrence <
>> peter.lawrence@inova8.com> wrote:
>>
>>> Sebastian
>>>
>>> You might be interested in the Olingo2Sparql RDF provider for Odata that
>>> I have already created. Some details are here:
>>> http://inova8.com/joomla/index.php/blog
>>>
>>> This is based on Olingo2 that supports the Odata v2 specifications. I am
>>> currently upgrading to Olingo4 which supports the latest V4 specification,
>>> although Olingo4 is not yet stable. BTW I originally used Odata4j but that
>>> project seems to have lost steam.
>>>
>>> For the backend I originally used the Jena API, but I have recently
>>> completely refactored Olino2Sparl to used the OpenRdf API. The advantage of
>>> OpenRdf is that it allows Olingo2Sparql to publish any RDF repository
>>> including, but not limited to, SPARQL endpoints.
>>>
>>> To publish a RDF source, Olingo2Odata extracts the metamodel directly
>>> from the RDF source and publishes this via the Odata $metadata. To preserve
>>> some of the useful details contained in a RDF schema that are lost in a
>>> Odata metamodel, I include annotations in the $metadata, such as the actual
>>> URI of a property, association or class. This is consistent with the Odata
>>> specification.
>>>
>>> Olingo2Sparql is already in use in a proof-of-concept project, but the
>>> only reason I have not released it publicly is that it needs more test code
>>> and polish.
>>>
>>> If you feel that this would accelerate your project I would be happy to
>>> share the code with you,
>>>
>>> Best regards
>>>
>>> Peter
>>>
>>>
>>>
>>>
>>> *Peter J. Lawrence*
>>> *inova8*
>>> *Providing answers for users' information questions*
>>> *Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44
>>> 795 563 2824 |*Skype:* PeterJLawrence
>>> *Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
>>> *LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
>>> <http://www.linkedin.com/in/peterjohnlawrence>*
>>>
>>> On Mon, Feb 23, 2015 at 9:10 PM, Sebastian Samaruga <
>>> cognescent@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I would like to share a simple application for gathering data from
>>>> diverse datasources and merge them semantically due to identity criteria.
>>>> This could be useful in Business Intelligence (BI) cases where big amounts
>>>> of knowledge needs to be available and grouped for access.
>>>>
>>>> The application actually consumes data from configured datasources and
>>>> resolves type/instance identity equivalences. The current demo datasources
>>>> contains references to the same subject in multiple statements and merges
>>>> them into one and recognizes different vocabularies refering the same thing.
>>>>
>>>> Running the demo requires checking out the appication JARs (its a Java
>>>> application) and running them from the command line (needs JDK installed).
>>>>
>>>> The application is hosted at http://cognescent.googlecode.com .
>>>> Checkout:
>>>> CognescentCBI.jar & CognescentCBIBrowser.jar in the repo root following
>>>> the instructions for source SVN checkout there and run them in your local
>>>> machine.
>>>>
>>>> The first application shows the internal data structures for debugging
>>>> and the other shows domain types/objects and their (inferred) properties.
>>>> java -jar CognescentCBI.jar
>>>>
>>>> The other one shows a (adaptive) domain model:
>>>> java -jar CognescentCBIBrowser.jar
>>>>
>>>> If you checkout the sources and try to build yourself please look
>>>> src/datasources.xml to see with which datasources you can play (under
>>>> development).
>>>>
>>>> The application status is very immature yet but some parts ar taking up
>>>> shape for the supporting framework of a BI application. Suggestions on
>>>> which functionalities should be implemented are  very appreciated
>>>>
>>>> The application has an RDF/OWL server with an embedded Apache Fuseki
>>>> endpoint allowing SPARQL queries. It also will offer an Apache Olingo OData
>>>> v4 endpoint and will use OData URIs for semantic retrieveable resources,
>>>> that's why I'm copying also to Olingo lists.
>>>>
>>>> Best regards,
>>>> Sebastian Samaruga.
>>>>
>>>>
>>>
>>
>

Re: Semantic Web BI Application

Posted by Peter Lawrence <pe...@inova8.com>.
Sebastian

You might be interested in the Optique project (
http://www.optique-project.eu/) that is similarly using RDF/semantic form
as the intermediate data representation of data drawn from multiple
datasources. As you have already recognized, RDF/semantic representation of
data seems to be the most useful 'atomic' form of any data, from which any
other form can be reconstructed. Similarly any existing datasource can be
converted to RDF/semantic form on demand (ontop, d2r etc).

Thus my use of OpenRdf as the repository against which I have created an
Olingo/Odata endpoint is not to limit myself to RDF data, but to use the
existing capabilities of OpenRdf to manage repositories of many different
datasources. In otrhr words any datasource that can be a OpenRdf repository
can be published as an Odata endpoint.

Make sense?

Best regards

Peter

*Peter J. Lawrence*
*inova8*
*Providing answers for users' information questions*
*Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44 795
563 2824 |*Skype:* PeterJLawrence
*Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
*LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
<http://www.linkedin.com/in/peterjohnlawrence>*

On Tue, Feb 24, 2015 at 10:01 AM, Sebastian Samaruga <co...@gmail.com>
wrote:

> Peter, sure I would be interested. The current scope of the project is to
> have as many datasources as possible and also as many services as possible
> to expose the underlying semantically merged model for consumption for as
> many clients as possible.
>
> I actually have RDF/OWL datasources, JDBC/Relational database datasources,
> JSON datasources, CSV datasources, XML datasources and so on (i.e.: OLAP
> datasource in progress).
>
> And also I have OWL/RDF services layer, OData services layer (Olingo v4
> work in progress) a SPARQL endpoint and working on many others.
>
> Once I've developed the core of the application, which is to merge data
> according to its semantic identity (i.e.: Fido: a.: My neighbour’s dog, The
> canine animal that's crossing the street) via the distinction of Types and
> Subjects, Values and Dimensions, and Entities or Properties which would
> allow such merge, I'll need to find practical applications for this kind of
> knowledge management such as: a Business Intelligence data discovery /
> mining / drill or also a dynamic workflow application for business
> processes augmented with semantic contextual information.
>
> So, now, with a basic core work in progress, I would like to focus more on
> applications and the resolution for some algorithms that I've leaved
> 'dummy' (hardcoded) as the URI identity resolution algorithm which now is
> provided by a 'normalized terms' dictionary. I haven't found the way yet of
> discovery of identity by an algorithm and that will be of much value for
> the application.
>
> Best regards,
> Sebastian Samaruga.
>
>
> On Tue, Feb 24, 2015 at 9:18 AM, Peter Lawrence <peter.lawrence@inova8.com
> > wrote:
>
>> Sebastian
>>
>> You might be interested in the Olingo2Sparql RDF provider for Odata that
>> I have already created. Some details are here:
>> http://inova8.com/joomla/index.php/blog
>>
>> This is based on Olingo2 that supports the Odata v2 specifications. I am
>> currently upgrading to Olingo4 which supports the latest V4 specification,
>> although Olingo4 is not yet stable. BTW I originally used Odata4j but that
>> project seems to have lost steam.
>>
>> For the backend I originally used the Jena API, but I have recently
>> completely refactored Olino2Sparl to used the OpenRdf API. The advantage of
>> OpenRdf is that it allows Olingo2Sparql to publish any RDF repository
>> including, but not limited to, SPARQL endpoints.
>>
>> To publish a RDF source, Olingo2Odata extracts the metamodel directly
>> from the RDF source and publishes this via the Odata $metadata. To preserve
>> some of the useful details contained in a RDF schema that are lost in a
>> Odata metamodel, I include annotations in the $metadata, such as the actual
>> URI of a property, association or class. This is consistent with the Odata
>> specification.
>>
>> Olingo2Sparql is already in use in a proof-of-concept project, but the
>> only reason I have not released it publicly is that it needs more test code
>> and polish.
>>
>> If you feel that this would accelerate your project I would be happy to
>> share the code with you,
>>
>> Best regards
>>
>> Peter
>>
>>
>>
>>
>> *Peter J. Lawrence*
>> *inova8*
>> *Providing answers for users' information questions*
>> *Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44 795
>> 563 2824 |*Skype:* PeterJLawrence
>> *Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
>> *LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
>> <http://www.linkedin.com/in/peterjohnlawrence>*
>>
>> On Mon, Feb 23, 2015 at 9:10 PM, Sebastian Samaruga <cognescent@gmail.com
>> > wrote:
>>
>>> Hi,
>>>
>>> I would like to share a simple application for gathering data from
>>> diverse datasources and merge them semantically due to identity criteria.
>>> This could be useful in Business Intelligence (BI) cases where big amounts
>>> of knowledge needs to be available and grouped for access.
>>>
>>> The application actually consumes data from configured datasources and
>>> resolves type/instance identity equivalences. The current demo datasources
>>> contains references to the same subject in multiple statements and merges
>>> them into one and recognizes different vocabularies refering the same thing.
>>>
>>> Running the demo requires checking out the appication JARs (its a Java
>>> application) and running them from the command line (needs JDK installed).
>>>
>>> The application is hosted at http://cognescent.googlecode.com .
>>> Checkout:
>>> CognescentCBI.jar & CognescentCBIBrowser.jar in the repo root following
>>> the instructions for source SVN checkout there and run them in your local
>>> machine.
>>>
>>> The first application shows the internal data structures for debugging
>>> and the other shows domain types/objects and their (inferred) properties.
>>> java -jar CognescentCBI.jar
>>>
>>> The other one shows a (adaptive) domain model:
>>> java -jar CognescentCBIBrowser.jar
>>>
>>> If you checkout the sources and try to build yourself please look
>>> src/datasources.xml to see with which datasources you can play (under
>>> development).
>>>
>>> The application status is very immature yet but some parts ar taking up
>>> shape for the supporting framework of a BI application. Suggestions on
>>> which functionalities should be implemented are  very appreciated
>>>
>>> The application has an RDF/OWL server with an embedded Apache Fuseki
>>> endpoint allowing SPARQL queries. It also will offer an Apache Olingo OData
>>> v4 endpoint and will use OData URIs for semantic retrieveable resources,
>>> that's why I'm copying also to Olingo lists.
>>>
>>> Best regards,
>>> Sebastian Samaruga.
>>>
>>>
>>
>

Re: Semantic Web BI Application

Posted by Sebastian Samaruga <co...@gmail.com>.
Peter, sure I would be interested. The current scope of the project is to
have as many datasources as possible and also as many services as possible
to expose the underlying semantically merged model for consumption for as
many clients as possible.

I actually have RDF/OWL datasources, JDBC/Relational database datasources,
JSON datasources, CSV datasources, XML datasources and so on (i.e.: OLAP
datasource in progress).

And also I have OWL/RDF services layer, OData services layer (Olingo v4
work in progress) a SPARQL endpoint and working on many others.

Once I've developed the core of the application, which is to merge data
according to its semantic identity (i.e.: Fido: a.: My neighbour’s dog, The
canine animal that's crossing the street) via the distinction of Types and
Subjects, Values and Dimensions, and Entities or Properties which would
allow such merge, I'll need to find practical applications for this kind of
knowledge management such as: a Business Intelligence data discovery /
mining / drill or also a dynamic workflow application for business
processes augmented with semantic contextual information.

So, now, with a basic core work in progress, I would like to focus more on
applications and the resolution for some algorithms that I've leaved
'dummy' (hardcoded) as the URI identity resolution algorithm which now is
provided by a 'normalized terms' dictionary. I haven't found the way yet of
discovery of identity by an algorithm and that will be of much value for
the application.

Best regards,
Sebastian Samaruga.


On Tue, Feb 24, 2015 at 9:18 AM, Peter Lawrence <pe...@inova8.com>
wrote:

> Sebastian
>
> You might be interested in the Olingo2Sparql RDF provider for Odata that I
> have already created. Some details are here:
> http://inova8.com/joomla/index.php/blog
>
> This is based on Olingo2 that supports the Odata v2 specifications. I am
> currently upgrading to Olingo4 which supports the latest V4 specification,
> although Olingo4 is not yet stable. BTW I originally used Odata4j but that
> project seems to have lost steam.
>
> For the backend I originally used the Jena API, but I have recently
> completely refactored Olino2Sparl to used the OpenRdf API. The advantage of
> OpenRdf is that it allows Olingo2Sparql to publish any RDF repository
> including, but not limited to, SPARQL endpoints.
>
> To publish a RDF source, Olingo2Odata extracts the metamodel directly from
> the RDF source and publishes this via the Odata $metadata. To preserve some
> of the useful details contained in a RDF schema that are lost in a Odata
> metamodel, I include annotations in the $metadata, such as the actual URI
> of a property, association or class. This is consistent with the Odata
> specification.
>
> Olingo2Sparql is already in use in a proof-of-concept project, but the
> only reason I have not released it publicly is that it needs more test code
> and polish.
>
> If you feel that this would accelerate your project I would be happy to
> share the code with you,
>
> Best regards
>
> Peter
>
>
>
>
> *Peter J. Lawrence*
> *inova8*
> *Providing answers for users' information questions*
> *Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44 795
> 563 2824 |*Skype:* PeterJLawrence
> *Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
> *LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
> <http://www.linkedin.com/in/peterjohnlawrence>*
>
> On Mon, Feb 23, 2015 at 9:10 PM, Sebastian Samaruga <co...@gmail.com>
> wrote:
>
>> Hi,
>>
>> I would like to share a simple application for gathering data from
>> diverse datasources and merge them semantically due to identity criteria.
>> This could be useful in Business Intelligence (BI) cases where big amounts
>> of knowledge needs to be available and grouped for access.
>>
>> The application actually consumes data from configured datasources and
>> resolves type/instance identity equivalences. The current demo datasources
>> contains references to the same subject in multiple statements and merges
>> them into one and recognizes different vocabularies refering the same thing.
>>
>> Running the demo requires checking out the appication JARs (its a Java
>> application) and running them from the command line (needs JDK installed).
>>
>> The application is hosted at http://cognescent.googlecode.com . Checkout:
>> CognescentCBI.jar & CognescentCBIBrowser.jar in the repo root following
>> the instructions for source SVN checkout there and run them in your local
>> machine.
>>
>> The first application shows the internal data structures for debugging
>> and the other shows domain types/objects and their (inferred) properties.
>> java -jar CognescentCBI.jar
>>
>> The other one shows a (adaptive) domain model:
>> java -jar CognescentCBIBrowser.jar
>>
>> If you checkout the sources and try to build yourself please look
>> src/datasources.xml to see with which datasources you can play (under
>> development).
>>
>> The application status is very immature yet but some parts ar taking up
>> shape for the supporting framework of a BI application. Suggestions on
>> which functionalities should be implemented are  very appreciated
>>
>> The application has an RDF/OWL server with an embedded Apache Fuseki
>> endpoint allowing SPARQL queries. It also will offer an Apache Olingo OData
>> v4 endpoint and will use OData URIs for semantic retrieveable resources,
>> that's why I'm copying also to Olingo lists.
>>
>> Best regards,
>> Sebastian Samaruga.
>>
>>
>

Re: Semantic Web BI Application

Posted by Peter Lawrence <pe...@inova8.com>.
Sebastian

You might be interested in the Olingo2Sparql RDF provider for Odata that I
have already created. Some details are here:
http://inova8.com/joomla/index.php/blog

This is based on Olingo2 that supports the Odata v2 specifications. I am
currently upgrading to Olingo4 which supports the latest V4 specification,
although Olingo4 is not yet stable. BTW I originally used Odata4j but that
project seems to have lost steam.

For the backend I originally used the Jena API, but I have recently
completely refactored Olino2Sparl to used the OpenRdf API. The advantage of
OpenRdf is that it allows Olingo2Sparql to publish any RDF repository
including, but not limited to, SPARQL endpoints.

To publish a RDF source, Olingo2Odata extracts the metamodel directly from
the RDF source and publishes this via the Odata $metadata. To preserve some
of the useful details contained in a RDF schema that are lost in a Odata
metamodel, I include annotations in the $metadata, such as the actual URI
of a property, association or class. This is consistent with the Odata
specification.

Olingo2Sparql is already in use in a proof-of-concept project, but the only
reason I have not released it publicly is that it needs more test code and
polish.

If you feel that this would accelerate your project I would be happy to
share the code with you,

Best regards

Peter




*Peter J. Lawrence*
*inova8*
*Providing answers for users' information questions*
*Mobile:* +1 330 631 3772 | *Phone:* +1 330 342 0582 | *UK Cell*:+44 795
563 2824 |*Skype:* PeterJLawrence
*Email:* peter.lawrence@inova8.com | *Web:* www.inova8.com
*LinkedIn: **http://www.linkedin.com/in/peterjohnlawrence
<http://www.linkedin.com/in/peterjohnlawrence>*

On Mon, Feb 23, 2015 at 9:10 PM, Sebastian Samaruga <co...@gmail.com>
wrote:

> Hi,
>
> I would like to share a simple application for gathering data from diverse
> datasources and merge them semantically due to identity criteria. This
> could be useful in Business Intelligence (BI) cases where big amounts of
> knowledge needs to be available and grouped for access.
>
> The application actually consumes data from configured datasources and
> resolves type/instance identity equivalences. The current demo datasources
> contains references to the same subject in multiple statements and merges
> them into one and recognizes different vocabularies refering the same thing.
>
> Running the demo requires checking out the appication JARs (its a Java
> application) and running them from the command line (needs JDK installed).
>
> The application is hosted at http://cognescent.googlecode.com . Checkout:
> CognescentCBI.jar & CognescentCBIBrowser.jar in the repo root following
> the instructions for source SVN checkout there and run them in your local
> machine.
>
> The first application shows the internal data structures for debugging and
> the other shows domain types/objects and their (inferred) properties.
> java -jar CognescentCBI.jar
>
> The other one shows a (adaptive) domain model:
> java -jar CognescentCBIBrowser.jar
>
> If you checkout the sources and try to build yourself please look
> src/datasources.xml to see with which datasources you can play (under
> development).
>
> The application status is very immature yet but some parts ar taking up
> shape for the supporting framework of a BI application. Suggestions on
> which functionalities should be implemented are  very appreciated
>
> The application has an RDF/OWL server with an embedded Apache Fuseki
> endpoint allowing SPARQL queries. It also will offer an Apache Olingo OData
> v4 endpoint and will use OData URIs for semantic retrieveable resources,
> that's why I'm copying also to Olingo lists.
>
> Best regards,
> Sebastian Samaruga.
>
>