Hi Kingsley,

Thanks!
I'm trying this approach but it's not working for me somehow.
I have reloaded r2rml script using Conductor UI to http://localhost:8890/r2rml#
I have also checked <Create RDB2RDF Triggers> and <Enable Data Syncs with 
Physical Quad Store> options.
It has executed with no errors, but when I'm trying to query 
<urn:localhost:8890:r2rml> I get nothing.
I also don't see this Physical graph in the list of Graphs in Conductor.
However if I try querying remote graph, I get the query running forever 
(actually it's the problem I started with).

Should I wait until Virtuoso finishes sync to Physical Quad Store?
Is there a way to keep track of the current progress?
Is there a way to trigger sync to start right away?
Sorry, a lot of questions.
Thanks for all your help in this.

Best regards,
Alexander Efimov.

From: Kingsley Idehen [mailto:kide...@openlinksw.com]
Sent: Wednesday, December 16, 2015 3:51 PM
To: virtuoso-users@lists.sourceforge.net
Subject: Re: [Virtuoso-users] Find out which SQL query is generated from my 
SPARQL

On 12/16/15 4:33 AM, Efimov, Alexander wrote:
Hi Kingsley,

Do you mean that if I modify the query in a following way it should work 
without any problem?

PREFIX:  sq:<http://our_schema><http://our_schema>

SELECT *
FROM  <http://this_is_the_graph_name >
WHERE
{
    ?customer sq:hasOrder ?order .
    ?order sq:hasGoods ?goods .
    ?goods sq:Name ?goodsName . FILTER (?goodsName in ('Name1', 'Name2')) .
    ?goods sq:hasSubCategory ?subCategory . #note that subcategory is IRI
    ?subCategory sq:hasParentCategory ?category #note that category is IRI
};

It will work better (fewer costly joins re. instanceOf handling).  Ultimately, 
for massive amounts of data, you really want to implement the virtual->physical 
sync option. Then you have the ability to explore data with more flexibility 
(different rdf views for different purposes) and scalability (instanceOf 
relations, inference and reasoning etc..).

Kingsley

Thank you.
Best regards,
Alexander Efimov.

From: Kingsley Idehen [mailto:kide...@openlinksw.com]
Sent: Monday, December 14, 2015 11:49 PM
To: 
virtuoso-users@lists.sourceforge.net<mailto:virtuoso-users@lists.sourceforge.net>
Subject: Re: [Virtuoso-users] Find out which SQL query is generated from my 
SPARQL

On 12/14/15 11:34 AM, Efimov, Alexander wrote:
Hi Kingsley,

The idea is that our concept model I map to with R2RML is not the same as 
source tables.
So just  using output from Generate RDF Views would not work.
I write custom R2RML code which maps from flat DB model to graph concept model

For example:

Let it be the following tables:


1.       Goods

a.       ID Integer

b.      Name String

c.       Category String

d.      SubCategory String



2.       Customer

a.       ID Integer

b.      Name String



3.       Order

a.       ID Integer

b.      Goods ID Integer

c.       Customer ID Integer

These three tables map to our Concept model which is a bit different from table 
structure and I'm executing SPARQL Query like this:

PREFIX:  sq:<http://our_schema><http://our_schema>

SELECT *
FROM  <http://this_is_the_graph_name >
WHERE
{
    ?customer sq:hasOrder ?order .
    ?order sq:hasGoods ?goods .
    ?goods sq:Name ?goodsName . FILTER (?goodsName in ('Name1', 'Name2')) .
    ?goods sq:hasSubCategory ?subCategory . #note that subcategory is IRI
    ?subCategory a sq:SubCategory .
    ?subCategory sq:hasParentCategory ?category #note that category is IRI
    ?subCategory a sq:Category .
};

In my particular case I map data from ~10 views to ~13 classes in our concept 
model and WHERE statement is a bit longer.



You have a number of rdf:type relations in your query which pose problems 
unless you leverage the use of physical triples sync'd with transient triples 
(the product of loading your r2rml mappings).

Command:

RDF_VIEW_SYNC_TO_PHYSICAL ('{virtual-triples-named-graph-iri}', 1, 
'{physical-triples-named-graph-iri}');

Example:

Given a named-graph containing virtual triples (result of loading your r2rml 
declarations) identified by the IRI 
<http://demo.openlinksw.com/SQLServer#><http://demo.openlinksw.com/SQLServer>, 
you could make the physical sync replica using a named-graph that holds 
physical triples identified by the IRI: <urn:demo.openlinksw.com:SQLServer> 
using the command:

RDF_VIEW_SYNC_TO_PHYSICAL 
('http://demo.openlinksw.com/SQLServer#<http://demo.openlinksw.com/SQLServer>', 
1, 'urn:demo.openlinksw.com:SQLServer');

Virtuoso will keep <urn:demo.openlinksw.com:SQLServer> in sync with 
<http://demo.openlinksw.com/SQLServer#><http://demo.openlinksw.com/SQLServer> 
and that named graph should be the target of queries that are scoped to 
rdf:type relations.

Links:

[1] 
http://kidehen.blogspot.com/2015/07/conceptual-data-virtualization-across.html
[2] http://docs.openlinksw.com/virtuoso/fn_rdf_view_sync_to_physical.html  .





--

Regards,



Kingsley Idehen

Founder & CEO

OpenLink Software

Company Web: http://www.openlinksw.com

Personal Weblog 1: http://kidehen.blogspot.com

Personal Weblog 2: 
http://www.openlinksw.com/blog/~kidehen<http://www.openlinksw.com/blog/%7Ekidehen>

Twitter Profile: https://twitter.com/kidehen

Google+ Profile: https://plus.google.com/+KingsleyIdehen/about

LinkedIn Profile: http://www.linkedin.com/in/kidehen

Personal WebID: http://kingsley.idehen.net/dataspace/person/kidehen#this




------------------------------------------------------------------------------




_______________________________________________

Virtuoso-users mailing list

Virtuoso-users@lists.sourceforge.net<mailto:Virtuoso-users@lists.sourceforge.net>

https://lists.sourceforge.net/lists/listinfo/virtuoso-users




--

Regards,



Kingsley Idehen

Founder & CEO

OpenLink Software

Company Web: http://www.openlinksw.com

Personal Weblog 1: http://kidehen.blogspot.com

Personal Weblog 2: http://www.openlinksw.com/blog/~kidehen

Twitter Profile: https://twitter.com/kidehen

Google+ Profile: https://plus.google.com/+KingsleyIdehen/about

LinkedIn Profile: http://www.linkedin.com/in/kidehen

Personal WebID: http://kingsley.idehen.net/dataspace/person/kidehen#this
------------------------------------------------------------------------------
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to