You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
(6) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(1) |
Feb
(6) |
Mar
(35) |
Apr
(41) |
May
(19) |
Jun
(36) |
Jul
(56) |
Aug
(15) |
Sep
(12) |
Oct
(41) |
Nov
(7) |
Dec
(18) |
2008 |
Jan
(43) |
Feb
(99) |
Mar
(37) |
Apr
(23) |
May
(35) |
Jun
(45) |
Jul
(43) |
Aug
(20) |
Sep
(56) |
Oct
(131) |
Nov
(89) |
Dec
(97) |
2009 |
Jan
(78) |
Feb
(153) |
Mar
(80) |
Apr
(92) |
May
(129) |
Jun
(90) |
Jul
(56) |
Aug
(59) |
Sep
(154) |
Oct
(116) |
Nov
(138) |
Dec
(119) |
2010 |
Jan
(118) |
Feb
(201) |
Mar
(185) |
Apr
(94) |
May
(171) |
Jun
(104) |
Jul
(82) |
Aug
(132) |
Sep
(80) |
Oct
(76) |
Nov
(69) |
Dec
(96) |
2011 |
Jan
(113) |
Feb
(123) |
Mar
(99) |
Apr
(63) |
May
(121) |
Jun
(69) |
Jul
(46) |
Aug
(62) |
Sep
(35) |
Oct
(32) |
Nov
(42) |
Dec
(48) |
2012 |
Jan
(63) |
Feb
(65) |
Mar
(53) |
Apr
(71) |
May
(60) |
Jun
(50) |
Jul
(46) |
Aug
(24) |
Sep
(18) |
Oct
(43) |
Nov
(39) |
Dec
(61) |
2013 |
Jan
(99) |
Feb
(24) |
Mar
(99) |
Apr
(82) |
May
(55) |
Jun
(48) |
Jul
(44) |
Aug
(28) |
Sep
(61) |
Oct
(121) |
Nov
(104) |
Dec
(84) |
2014 |
Jan
(76) |
Feb
(132) |
Mar
(71) |
Apr
(119) |
May
(101) |
Jun
(73) |
Jul
(89) |
Aug
(39) |
Sep
(65) |
Oct
(58) |
Nov
(48) |
Dec
(36) |
2015 |
Jan
(48) |
Feb
(41) |
Mar
(61) |
Apr
(92) |
May
(36) |
Jun
(17) |
Jul
(11) |
Aug
(41) |
Sep
(62) |
Oct
(92) |
Nov
(71) |
Dec
(88) |
2016 |
Jan
(36) |
Feb
(66) |
Mar
(49) |
Apr
(39) |
May
(19) |
Jun
(18) |
Jul
(34) |
Aug
(49) |
Sep
(42) |
Oct
(42) |
Nov
(71) |
Dec
(21) |
2017 |
Jan
(36) |
Feb
(37) |
Mar
(40) |
Apr
(13) |
May
(20) |
Jun
(35) |
Jul
(8) |
Aug
(5) |
Sep
(38) |
Oct
(22) |
Nov
(29) |
Dec
(20) |
2018 |
Jan
(22) |
Feb
(26) |
Mar
(3) |
Apr
(7) |
May
(16) |
Jun
|
Jul
(6) |
Aug
(21) |
Sep
(25) |
Oct
(1) |
Nov
(12) |
Dec
(12) |
2019 |
Jan
(5) |
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
(4) |
Jun
(13) |
Jul
(5) |
Aug
|
Sep
(3) |
Oct
(4) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
(16) |
May
(1) |
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
(4) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(5) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
(1) |
From: Hugh W. <hwi...@op...> - 2023-12-01 17:17:40
|
Hi Mark, That old wiki document is indeed out of date as there is now a new “LDP enable/disable” checkbox option in the latest build for enabling LDP on WebDAV folders via the Conductor and not as an added WebDAV property as before, as detailed in this new community forum post we have created: https://community.openlinksw.com/t/using-virtuoso-as-ldp-client-and-server/4191 Note, there is also a fix for a missing “SPARQL_ADMIN” internal user account for DAV/LDP operations that has been made as detailed in following commit to the Virtuoso open source develop/7 branch: https://sourceforge.net/p/virtuoso/virtuoso-opensource/ci/eddfba1a074416d4c6d8b99521c768d0b4f1189c/ And thus we would recommend updating your binary to this latest build to get this and other fixes ... Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com Community Support: https://community.openlinksw.com Company Blog: https://medium.com/openlink-software-blog Virtuoso Blog: https://medium.com/virtuoso-blog Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 30 Nov 2023, at 12:24, Mark Wilkinson <mar...@up...> wrote: > > Dear Virtuoso team, > > Are the instructions on this page still valid? > > https://vos.openlinksw.com/owiki/wiki/VOS/VirtLDP > > I'm using the latest virtuoso-opensource docker image. By the time I get to step 3, it already doesn't match what I see on the screen. I have installed briefcase and framework vads. > > I have also tried what I have done on earlier versions of v-os docker, and that also doesn't work (a folder that is LDP enabled, says "406 not acceptable" if I GET turtle, and it thinks it is a SPARQL query if I POST an ldp:Container RDF to that folder... so it isn't behaving in the same way my previous version was...) > > Any advice is welcome! > > Mark > > > > > _______________________________________________ > Virtuoso-users mailing list > Vir...@li... > https://lists.sourceforge.net/lists/listinfo/virtuoso-users |
From: Mark W. <mar...@up...> - 2023-11-30 12:24:51
|
Dear Virtuoso team, Are the instructions on this page still valid? https://vos.openlinksw.com/owiki/wiki/VOS/VirtLDP I'm using the latest virtuoso-opensource docker image. By the time I get to step 3, it already doesn't match what I see on the screen. I have installed briefcase and framework vads. I have also tried what I have done on earlier versions of v-os docker, and that also doesn't work (a folder that is LDP enabled, says "406 not acceptable" if I GET turtle, and it thinks it is a SPARQL query if I POST an ldp:Container RDF to that folder... so it isn't behaving in the same way my previous version was...) Any advice is welcome! Mark |
From: ATEMEZING G. <Ghi...@er...> - 2023-11-28 16:05:21
|
Dear Hugh, Thank you for your message. 1. We'll investigate/test your work around solution you provided for our first issue. BTW, have you used our endpoint to collect data? We experienced sudden unusual traffic. Could you please confirm if someone in Dev at Openlink is using the endpoint? 2. I guess we need to live with until there is update from the dev team. Thank you. Best, Ghislain ________________________________ Ghislain ATEMEZING Operational Data Unit Project Officer Tel: +33 327096 500 Mobile: +33 0609242967 European Union Agency for Railways From: Hugh Williams <hwi...@op...> Sent: Tuesday, November 28, 2023 1:55 PM To: ATEMEZING Ghislain <Ghi...@er...> Cc: AGUADO Marina <Mar...@er...>; LUCAS RECHE David (DIGIT-EXT) <Dav...@ex...>; vir...@li...; Kingsley Idehen <ki...@op...>; Fainti, Anestis <af...@de...> Subject: Re: Virtuoso support for ERA - Virtuoso backend Hi Ghislain, Yes, I do remember from the publication office and Mondeca days, I am fine thanks and trust you are too ... The issues you report were logged as a support case#693<https://shop.openlinksw.com/support_system/customers/display_case.vsp?caseNumber=693> by Anestis from Deloitte (cc'ed in on this mail) who support the Virtuoso services hosted for EC Digit a few weeks ago. You can be given access to by Anestis the case owner, if you are registered on our support system, where such issues should always be logged so they can be managed and tracked centrally, rather than email threads. >From the support case#693<https://shop.openlinksw.com/support_system/customers/display_case.vsp?caseNumber=693> the following updates were provided last week: For Issue #1 - Wrong results for BIND depending on OPTIONAL/BIND order: I created Virtuoso SPARQL to SQL<https://vos.openlinksw.com/owiki/wiki/VOS/VirtTipsAndTricksAnalyzingSPARQLQuery> plans for the two queries to see how they differ when translated to SQL for execution for analysis by development who report, it is very hard to say what exactly happens to SPARQL to SQL translation especially when nesting subqueries in coalsece/case so on. And would suggest to modifying the queries to the following which returns the correct results when the optionals are specified with the respective bind calls: PREFIX eud: <http://data.europa.eu/949/> SELECT DISTINCT ?AA ?BB ?CC ?DD FROM <http://data.europa.eu/949/graph/rinf> WHERE { ?AA a eud:OperationalPoint. ?AA eud:uopid ?EE. FILTER(lcase(str(?EE)) = lcase("DEYBBMO")) ?AA eud:track ?BB. OPTIONAL { ?BB eud:demonstrationINF ?CC_direct } OPTIONAL { ?BB ?CC_tmp eud:demonstrationINF } BIND(COALESCE(?CC_direct,?CC_tmp,eud:notData) AS ?CC ) OPTIONAL { ?BB eud:verificationINF ?DD_direct. } OPTIONAL { ?BB ?DD_tmp eud:verificationINF } BIND(COALESCE(?DD_direct,?DD_tmp,eud:notData) AS ?DD) } LIMIT 10 TEST server Live Link<https://test.virtuoso.ecdp.tech.ec.europa.eu/sparql?default-graph-uri=&qtxt=PREFIX+eud%3A+%3Chttp%3A%2F%2Fdata.europa.eu%2F949%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3FAA+%3FBB+%3FCC+%3FDD+%0D%0AFROM+%3Chttp%3A%2F%2Fdata.europa.eu%2F949%2Fgraph%2Frinf%3E%0D%0AWHERE+%7B%0D%0A++%3FAA+a+eud%3AOperationalPoint.%0D%0A++%3FAA+eud%3Auopid+%3FEE.%0D%0A++FILTER%28lcase%28str%28%3FEE%29%29+%3D+lcase%28%22DEYBBMO%22%29%29%0D%0A%0D%0A++%3FAA+eud%3Atrack+%3FBB.%0D%0A%0D%0A++OPTIONAL+%7B+%3FBB+eud%3AdemonstrationINF+%3FCC_direct++%7D%0D%0A++OPTIONAL+%7B+%3FBB+%3FCC_tmp+eud%3AdemonstrationINF+%7D%0D%0A++BIND%28COALESCE%28%3FCC_direct%2C%3FCC_tmp%2Ceud%3AnotData%29+AS+%3FCC+%29%0D%0A%0D%0A++OPTIONAL+%7B+%3FBB+eud%3AverificationINF+%3FDD_direct.+%7D%0D%0A++OPTIONAL+%7B+%3FBB+%3FDD_tmp+eud%3AverificationINF+%7D%0D%0A++BIND%28COALESCE%28%3FDD_direct%2C%3FDD_tmp%2Ceud%3AnotData%29+AS+%3FDD%29%0D%0A%7D%0D%0A%0D%0ALIMIT+10+&should-sponge=&format=text%2Fhtml&timeout=30000> where we assume ?BB ?CC_tmp eud:demonstrationINF and ?BB ?DD_tmp eud:verificationINF could be either notApplicable/notYetAvailable or not exists , the BIND can be moved around and would works. Note the 'OPTIONAL { ?BB ?DD/CC_tmp eud:verificationINF }' simplification of 'COALESCE(IF EXISTS...))' in the revised query. Let us know if this works as expected ... Development are going to look into this issue with the optionals with both original queries should return the same results, and so we will be dumping some of the <http://data.europa.eu/949/graph/rinf> graph data to recreate locally. For issue #2 - Error in COALESCE division by zero: I checked with development and they indicate the Virtuoso COALESCE "Divide by Zero" issue is a known problem from sometime ago and cannot readily be fixed in the Virtuoso SQL engine where the function is implemented. Generally the trapping and supressing of errors in such SQL functions cannot readily be passed back to the SPARQL layer without significantly affecting performance. Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com<http://www.openlinksw.com/> Community Support: https://community.openlinksw.com<https://community.openlinksw.com/> Company Blog: https://medium.com/openlink-software-blog Virtuoso Blog: https://medium.com/virtuoso-blog Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers On 28 Nov 2023, at 07:55, ATEMEZING Ghislain <Ghi...@er...<mailto:Ghi...@er...>> wrote: Dear Hugh, I hope you are doing great. We had the chance to exchange last year during the benchmark of Virtuoso for Publications Office. I joined ERA in September, and we are using Virtuoso as backend for a railway infrastructure in Europe [1]. We have some problematic issues/queries for the application consuming RDF data stored in Virtuoo 1- Wrong results for BIND depending on OPTIONAL/BIND order We have the following query, where 2 different parameters are requested and we want to also check if they are NYA or NA, for both. # SPARQL query generated by ERA Search App SELECT DISTINCT ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15 ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659 FROM http://data.europa.eu/949/graph/rinf WHERE { ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e a http://data.europa.eu/949/OperationalPoint. ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/uopid ?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b. FILTER(lcase(str(?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b)) = lcase("DEYBBMO")) ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/track ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2. # Query part to get results for demonstrationINF OPTIONAL { ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/demonstrationINF ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15_direct. } BIND( COALESCE(?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15_direct, IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notYetAvailablehttp://data.europa.eu/949/demonstrationINF},http://data.europa.eu/949/notYetAvailable, ?unbound), IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notApplicablehttp://data.europa.eu/949/demonstrationINF},http://data.europa.eu/949/notApplicable, ?unbound), http://data.europa.eu/949/notData ) AS ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15). # Query part to get results for verificationINF OPTIONAL { ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/verificationINF ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659_direct. } BIND( COALESCE(?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659_direct, IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notYetAvailablehttp://data.europa.eu/949/verificationINF},http://data.europa.eu/949/notYetAvailable, ?unbound), IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notApplicablehttp://data.europa.eu/949/verificationINF},http://data.europa.eu/949/notApplicable, ?unbound), http://data.europa.eu/949/notData ) AS ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659). } LIMIT 10 For one of the parameters we get the expected results, for the other we are not getting anything (notData is just the last option of the COALESCE). If we execute the query with only one of the parameters, the results are the expected, but not with both at the same time. We can only get the expected results reordering the statements in the previous query, like this: # SPARQL query generated by ERA Search App SELECT DISTINCT ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15 ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659 FROM http://data.europa.eu/949/graph/rinf WHERE { ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e a http://data.europa.eu/949/OperationalPoint. ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/uopid ?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b. FILTER(lcase(str(?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b)) = lcase("DEYBBMO")) OPTIONALs can be on top of BINDs or the other way around, both cases work, but not in between. 2- Error in COALESCE division by zero The following query does not give the expected results. SELECT ?test WHERE { BIND (COALESCE(1/0,3) AS ?test) } Virtuoso 22012 Error SR084: Division by 0. * Related: https://github.com/openlink/virtuoso-opensource/issues/309 * https://github.com/openlink/virtuoso-opensource/issues/140 Do you know if you can have a look on the above issues? Thank you in advance, Best regards, Ghislain [1] https://data-interop.era.europa.eu/endpoint Ghislain ATEMEZING Operational Data Unit Project Officer [cid:image001.png@01DA221C.E4C86D20] [cid:image002.png@01DA221C.E4C86D20] European Union Agency for Railways 120 rue Marc Lefrancq BP 20392 FR-59307 Valenciennes Cedex Visit our website: www.era.europa.eu<http://www.era.europa.eu/> E-mail: Ghi...@er...<mailto:Ghi...@er...> Mobile: +33 0609242967 Tel: +33 327096 500 [cid:image003.png@01DA221C.E4C86D20] This message is intended for the use of the addressee only and may contain information that is privileged and/or confidential information. If you are not the intended recipient, you are informed that any dissemination or other use of this message is strictly prohibited. If you have received this message in error, please inform the European Union Agency for Railways immediately by returning it and then delete the material. The European Union Agency for Railways endeavours to keep its network free of viruses; however you are strongly advised to check this e-mail and any attachments for viruses. The European Union Agency for Railways accepts no responsibility with regard to any computer virus transferred by way of this e-mail. ________________________________ Please consider the environment before deciding to print this email |
From: Hugh W. <hwi...@op...> - 2023-11-28 13:21:56
|
Hi Ghislain, Yes, I do remember from the publication office and Mondeca days, I am fine thanks and trust you are too … The issues you report were logged as a support case#693 <https://shop.openlinksw.com/support_system/customers/display_case.vsp?caseNumber=693> by Anestis from Deloitte (cc’ed in on this mail) who support the Virtuoso services hosted for EC Digit a few weeks ago. You can be given access to by Anestis the case owner, if you are registered on our support system, where such issues should always be logged so they can be managed and tracked centrally, rather than email threads. From the support case#693 <https://shop.openlinksw.com/support_system/customers/display_case.vsp?caseNumber=693> the following updates were provided last week: For Issue #1 - Wrong results for BIND depending on OPTIONAL/BIND order: I created Virtuoso SPARQL to SQL <https://vos.openlinksw.com/owiki/wiki/VOS/VirtTipsAndTricksAnalyzingSPARQLQuery> plans for the two queries to see how they differ when translated to SQL for execution for analysis by development who report, it is very hard to say what exactly happens to SPARQL to SQL translation especially when nesting subqueries in coalsece/case so on. And would suggest to modifying the queries to the following which returns the correct results when the optionals are specified with the respective bind calls: PREFIX eud: <http://data.europa.eu/949/> SELECT DISTINCT ?AA ?BB ?CC ?DD FROM <http://data.europa.eu/949/graph/rinf> WHERE { ?AA a eud:OperationalPoint. ?AA eud:uopid ?EE. FILTER(lcase(str(?EE)) = lcase("DEYBBMO")) ?AA eud:track ?BB. OPTIONAL { ?BB eud:demonstrationINF ?CC_direct } OPTIONAL { ?BB ?CC_tmp eud:demonstrationINF } BIND(COALESCE(?CC_direct,?CC_tmp,eud:notData) AS ?CC ) OPTIONAL { ?BB eud:verificationINF ?DD_direct. } OPTIONAL { ?BB ?DD_tmp eud:verificationINF } BIND(COALESCE(?DD_direct,?DD_tmp,eud:notData) AS ?DD) } LIMIT 10 TEST server Live Link <https://test.virtuoso.ecdp.tech.ec.europa.eu/sparql?default-graph-uri=&qtxt=PREFIX+eud%3A+%3Chttp%3A%2F%2Fdata.europa.eu%2F949%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3FAA+%3FBB+%3FCC+%3FDD+%0D%0AFROM+%3Chttp%3A%2F%2Fdata.europa.eu%2F949%2Fgraph%2Frinf%3E%0D%0AWHERE+%7B%0D%0A++%3FAA+a+eud%3AOperationalPoint.%0D%0A++%3FAA+eud%3Auopid+%3FEE.%0D%0A++FILTER%28lcase%28str%28%3FEE%29%29+%3D+lcase%28%22DEYBBMO%22%29%29%0D%0A%0D%0A++%3FAA+eud%3Atrack+%3FBB.%0D%0A%0D%0A++OPTIONAL+%7B+%3FBB+eud%3AdemonstrationINF+%3FCC_direct++%7D%0D%0A++OPTIONAL+%7B+%3FBB+%3FCC_tmp+eud%3AdemonstrationINF+%7D%0D%0A++BIND%28COALESCE%28%3FCC_direct%2C%3FCC_tmp%2Ceud%3AnotData%29+AS+%3FCC+%29%0D%0A%0D%0A++OPTIONAL+%7B+%3FBB+eud%3AverificationINF+%3FDD_direct.+%7D%0D%0A++OPTIONAL+%7B+%3FBB+%3FDD_tmp+eud%3AverificationINF+%7D%0D%0A++BIND%28COALESCE%28%3FDD_direct%2C%3FDD_tmp%2Ceud%3AnotData%29+AS+%3FDD%29%0D%0A%7D%0D%0A%0D%0ALIMIT+10+&should-sponge=&format=text%2Fhtml&timeout=30000> where we assume ?BB ?CC_tmp eud:demonstrationINF and ?BB ?DD_tmp eud:verificationINF could be either notApplicable/notYetAvailable or not exists , the BIND can be moved around and would works. Note the 'OPTIONAL { ?BB ?DD/CC_tmp eud:verificationINF }' simplification of 'COALESCE(IF EXISTS...))' in the revised query. Let us know if this works as expected ... Development are going to look into this issue with the optionals with both original queries should return the same results, and so we will be dumping some of the <http://data.europa.eu/949/graph/rinf> graph data to recreate locally. For issue #2 - Error in COALESCE division by zero: I checked with development and they indicate the Virtuoso COALESCE "Divide by Zero" issue is a known problem from sometime ago and cannot readily be fixed in the Virtuoso SQL engine where the function is implemented. Generally the trapping and supressing of errors in such SQL functions cannot readily be passed back to the SPARQL layer without significantly affecting performance. Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com Community Support: https://community.openlinksw.com Company Blog: https://medium.com/openlink-software-blog Virtuoso Blog: https://medium.com/virtuoso-blog Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 28 Nov 2023, at 07:55, ATEMEZING Ghislain <Ghi...@er...> wrote: > > Dear Hugh, > I hope you are doing great. > > We had the chance to exchange last year during the benchmark of Virtuoso for Publications Office. > I joined ERA in September, and we are using Virtuoso as backend for a railway infrastructure in Europe [1]. > > We have some problematic issues/queries for the application consuming RDF data stored in Virtuoo > > 1- Wrong results for BIND depending on OPTIONAL/BIND order > > We have the following query, where 2 different parameters are requested and we want to also check if they are NYA or NA, for both. > > # SPARQL query generated by ERA Search App > > SELECT DISTINCT > ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e > ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 > ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15 > ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659 > > FROM http://data.europa.eu/949/graph/rinf > > WHERE { > > ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e a http://data.europa.eu/949/OperationalPoint. > > ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/uopid ?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b. > > FILTER(lcase(str(?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b)) = lcase("DEYBBMO")) > > ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/track ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2. > > > > # Query part to get results for demonstrationINF > OPTIONAL { > ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/demonstrationINF ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15_direct. > } > > BIND( > COALESCE(?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15_direct, > IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notYetAvailablehttp://data.europa.eu/949/demonstrationINF},http://data.europa.eu/949/notYetAvailable, ?unbound), > IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notApplicablehttp://data.europa.eu/949/demonstrationINF},http://data.europa.eu/949/notApplicable, ?unbound), > http://data.europa.eu/949/notData ) > AS ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15). > > > > # Query part to get results for verificationINF > > OPTIONAL { > ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/verificationINF ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659_direct. > } > > BIND( > COALESCE(?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659_direct, > IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notYetAvailablehttp://data.europa.eu/949/verificationINF},http://data.europa.eu/949/notYetAvailable, ?unbound), > IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notApplicablehttp://data.europa.eu/949/verificationINF},http://data.europa.eu/949/notApplicable, ?unbound), > http://data.europa.eu/949/notData ) > AS ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659). > } > > LIMIT 10 > > For one of the parameters we get the expected results, for the other we are not getting anything (notData is just the last option of the COALESCE). > If we execute the query with only one of the parameters, the results are the expected, but not with both at the same time. > We can only get the expected results reordering the statements in the previous query, like this: > > # SPARQL query generated by ERA Search App > > SELECT DISTINCT > ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e > ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 > ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15 > ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659 > > FROM http://data.europa.eu/949/graph/rinf > > WHERE { > > ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e a http://data.europa.eu/949/OperationalPoint. > > ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/uopid ?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b. > > FILTER(lcase(str(?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b)) = lcase("DEYBBMO")) > > > OPTIONALs can be on top of BINDs or the other way around, both cases work, but not in between. > > 2- Error in COALESCE division by zero > The following query does not give the expected results. > > SELECT ?test > WHERE { > BIND (COALESCE(1/0,3) AS ?test) > } > Virtuoso 22012 Error SR084: Division by 0. > > Related: https://github.com/openlink/virtuoso-opensource/issues/309 > https://github.com/openlink/virtuoso-opensource/issues/140 > > Do you know if you can have a look on the above issues? > Thank you in advance, > Best regards, > Ghislain > [1] https://data-interop.era.europa.eu/endpoint > > Ghislain ATEMEZING > Operational Data Unit > Project Officer >   > European Union Agency for Railways > 120 rue Marc Lefrancq > BP 20392 > FR-59307 Valenciennes Cedex > Visit our website: www.era.europa.eu <http://www.era.europa.eu/> > E-mail: Ghi...@er... <mailto:Ghi...@er...> > Mobile: +33 0609242967 > Tel: +33 327096 500 >  > <https://www.youtube.com/watch?v=6S3xD6Oc_64> <https://www.youtube.com/watch?v=6S3xD6Oc_64> <https://www.sifer-expo.com/en-gb.html> <https://www.era.europa.eu/content/european-rail-safety-days-2023> > <https://www.era.europa.eu/content/era-multimodal-conference-2023-hamburg-germany> <https://www.era.europa.eu/content/join-us-era-multimodal-conference-2023-hamburg> > This message is intended for the use of the addressee only and may contain information that is privileged and/or confidential information. If you are not the intended recipient, you are informed that any dissemination or other use of this message is strictly prohibited. If you have received this message in error, please inform the European Union Agency for Railways immediately by returning it and then delete the material. > > The European Union Agency for Railways endeavours to keep its network free of viruses; however you are strongly advised to check this e-mail and any attachments for viruses. The European Union Agency for Railways accepts no responsibility with regard to any computer virus transferred by way of this e-mail. > Please consider the environment before deciding to print this email |
From: ATEMEZING G. <Ghi...@er...> - 2023-11-28 08:30:49
|
Dear Hugh, I hope you are doing great. We had the chance to exchange last year during the benchmark of Virtuoso for Publications Office. I joined ERA in September, and we are using Virtuoso as backend for a railway infrastructure in Europe [1]. We have some problematic issues/queries for the application consuming RDF data stored in Virtuoo 1- Wrong results for BIND depending on OPTIONAL/BIND order We have the following query, where 2 different parameters are requested and we want to also check if they are NYA or NA, for both. # SPARQL query generated by ERA Search App SELECT DISTINCT ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15 ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659 FROM http://data.europa.eu/949/graph/rinf WHERE { ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e a http://data.europa.eu/949/OperationalPoint. ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/uopid ?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b. FILTER(lcase(str(?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b)) = lcase("DEYBBMO")) ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/track ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2. # Query part to get results for demonstrationINF OPTIONAL { ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/demonstrationINF ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15_direct. } BIND( COALESCE(?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15_direct, IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notYetAvailable http://data.europa.eu/949/demonstrationINF}, http://data.europa.eu/949/notYetAvailable, ?unbound), IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notApplicable http://data.europa.eu/949/demonstrationINF}, http://data.europa.eu/949/notApplicable, ?unbound), http://data.europa.eu/949/notData ) AS ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15). # Query part to get results for verificationINF OPTIONAL { ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/verificationINF ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659_direct. } BIND( COALESCE(?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659_direct, IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notYetAvailable http://data.europa.eu/949/verificationINF}, http://data.europa.eu/949/notYetAvailable, ?unbound), IF(EXISTS{?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 http://data.europa.eu/949/notApplicable http://data.europa.eu/949/verificationINF}, http://data.europa.eu/949/notApplicable, ?unbound), http://data.europa.eu/949/notData ) AS ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659). } LIMIT 10 For one of the parameters we get the expected results, for the other we are not getting anything (notData is just the last option of the COALESCE). If we execute the query with only one of the parameters, the results are the expected, but not with both at the same time. We can only get the expected results reordering the statements in the previous query, like this: # SPARQL query generated by ERA Search App SELECT DISTINCT ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e ?5611b111a3e8b6a75f9cf140ebfc88a2400da808384163a68f6ea2b27feae0a2 ?7c9eedbe297dee33d5692bb017576d5f90128c5a57245968861342c5d938bc15 ?068c016b70a3e345e79f2c917aa68e82e0a103ed4a2d3a377fc7e6d65298e659 FROM http://data.europa.eu/949/graph/rinf WHERE { ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e a http://data.europa.eu/949/OperationalPoint. ?e2e8d0ff44169432a9b6a49d415768b6aeb230e6e308eacd14c58203edec7c1e http://data.europa.eu/949/uopid ?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b. FILTER(lcase(str(?bed82d131276294cde9b33e06fc5540daf5ce0a0ca03c6428b296bff9ff8e95b)) = lcase("DEYBBMO")) OPTIONALs can be on top of BINDs or the other way around, both cases work, but not in between. 2- Error in COALESCE division by zero The following query does not give the expected results. SELECT ?test WHERE { BIND (COALESCE(1/0,3) AS ?test) } Virtuoso 22012 Error SR084: Division by 0. * Related: https://github.com/openlink/virtuoso-opensource/issues/309 * https://github.com/openlink/virtuoso-opensource/issues/140 Do you know if you can have a look on the above issues? Thank you in advance, Best regards, Ghislain [1] https://data-interop.era.europa.eu/endpoint Ghislain ATEMEZING Operational Data Unit Project Officer [cid:ERA-Left_7a09af29-d0d3-4fd4-afaa-996961d7f8a5.png] [cid:ERA-Right_5537eff3-85dc-40ff-b716-c4f1f445a7a6.png] European Union Agency for Railways 120 rue Marc Lefrancq BP 20392 FR-59307 Valenciennes Cedex Visit our website: www.era.europa.eu<http://www.era.europa.eu> E-mail: Ghi...@er...<mailto:Ghi...@er...> Mobile: +33 0609242967 Tel: +33 327096 500 [cid:QR440828e1-a813-4075-85ad-e9a07d558b46.png] <https://www.youtube.com/watch?v=6S3xD6Oc_64><https://www.youtube.com/watch?v=6S3xD6Oc_64><https://www.sifer-expo.com/en-gb.html><https://www.era.europa.eu/content/european-rail-safety-days-2023> <https://www.era.europa.eu/content/era-multimodal-conference-2023-hamburg-germany><https://www.era.europa.eu/content/join-us-era-multimodal-conference-2023-hamburg> This message is intended for the use of the addressee only and may contain information that is privileged and/or confidential information. If you are not the intended recipient, you are informed that any dissemination or other use of this message is strictly prohibited. If you have received this message in error, please inform the European Union Agency for Railways immediately by returning it and then delete the material. The European Union Agency for Railways endeavours to keep its network free of viruses; however you are strongly advised to check this e-mail and any attachments for viruses. The European Union Agency for Railways accepts no responsibility with regard to any computer virus transferred by way of this e-mail. ________________________________ Please consider the environment before deciding to print this email |
From: Elton S. <el...@ib...> - 2023-04-26 20:02:20
|
Is there any way to ingest a payload in NQuad format via REST in Virtuoso? According to https://etl.linkedpipes.com/tutorials/how-to/load_data_to_virtuoso: “... You can load data to Virtuoso by its bulk loader. This is a Virtuoso-specific solution. However, the standards-based SPARQL 1.1 Graph Store HTTP Protocol does not support loading data in quad-based RDF syntaxes that specify named graphs. Instead, named graph IRIs must be provided by a query parameter. If you want to load multiple files into multiple named graphs, the Virtuoso bulk loader can do it for you ...” Nonetheless, I need to be able to send the Quads as a payload in REST request. As I haven't yet found an alternative in the official documentation and was wondering if this feature is indeed not available in Virtuoso. If not, it might be of interest to include this in the development roadmap, since that same feature is available in other triplestores, such as Jena Fuseki, AllegroGraph, BlazeGraph, GraphDB and RDFox. Also posted at: https://github.com/openlink/virtuoso-opensource/issues/1142 |
From: Elton S. <el...@ib...> - 2023-04-26 19:34:07
|
Is there any way to create RDF repositories/databases/datasets/datastores via the REST API? A similar feature is available in other triplestores, such as Jena Fuseki, AllegroGraph, BlazeGraph, GraphDB and RDFox. This is somewhat similar to an SQL database in which all the triples can be stored in a default graph or in a named graph. Thus, we can have multiple "databases" and isolate the RDF graph management within those. Also posted at: https://github.com/openlink/virtuoso-opensource/issues/1143 |
From: Jishnu R. P. <jis...@ii...> - 2022-11-18 00:05:01
|
Thank you for the information. Regards, On Thu, Nov 17, 2022 at 4:08 PM Hugh Williams <hwi...@op...> wrote: > Hi Jishnu, > > Yes, that is correct as detailed in the following White paper on > implementation: > > > https://virtuoso.openlinksw.com/whitepapers/SPARQL%20RDF%20Store%20using%20SQL-ORDBMS.pdf > > Best Regards > Hugh Williams > Professional Services > OpenLink Software > Home Page: http://www.openlinksw.com > Community Support: https://community.openlinksw.com > Company Blog: https://medium.com/openlink-software-blog > Virtuoso Blog: https://medium.com/virtuoso-blog > Data Access Drivers Blog: > https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > Twitter -- http://twitter.com/OpenLink > Google+ -- http://plus.google.com/100570109519069333827/ > Facebook -- http://www.facebook.com/OpenLinkSoftware > Universal Data Access, Integration, and Management Technology Providers > > > > > > On 16 Nov 2022, at 13:10, Jishnu Raj Parashar <jis...@ii...> > wrote: > > Thank you for your response. > Correct me If I am wrong, the RDF store is built within Virtuoso's own > implementation of an SQL database. Is that correct? > Regards, > > On Wed, Nov 16, 2022 at 3:52 PM Hugh Williams <hwi...@op...> > wrote: > >> Hi Jishnu, >> >> What is the SQL database being used as RDF Store currently ? >> >> With the Virtuoso commercially licensed edition its virtual database >> engine can be used to generate transient or persisted RDF views of data >> stored in ODBC or JDBC accessible relational databases as detailed at: >> >> https://medium.com/virtuoso-blog/rdf-views-generate-b0538101a724 >> https://vos.openlinksw.com/owiki/wiki/VOS/VirtRdb2RDFViewsGeneration >> >> Also, if the current RDF Store as the ability to dump its RDF data to >> datasets in one of the standard data representations ie turtle, N-triple, >> NQuad, RDF/XML, as most do then those dataset can be bulk load directly >> into the Virtuoso commercial or open source product offerings as detailed >> at: >> >> https://vos.openlinksw.com/owiki/wiki/VOS/VirtBulkRDFLoader >> >> Note, the first method of creating RDF Views of the relational data >> cannot be done with the open source product as the virtual database engine >> required is a commercial only feature ... >> >> Best Regards >> Hugh Williams >> Professional Services >> OpenLink Software >> Home Page: http://www.openlinksw.com >> Community Support: https://community.openlinksw.com >> Company Blog: https://medium.com/openlink-software-blog >> Virtuoso Blog: https://medium.com/virtuoso-blog >> Data Access Drivers Blog: >> https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers >> LinkedIn -- http://www.linkedin.com/company/openlink-software/ >> Twitter -- http://twitter.com/OpenLink >> Google+ -- http://plus.google.com/100570109519069333827/ >> Facebook -- http://www.facebook.com/OpenLinkSoftware >> Universal Data Access, Integration, and Management Technology Providers >> >> >> >> >> >> On 14 Nov 2022, at 16:02, Jishnu Raj Parashar <jis...@ii...> >> wrote: >> >> Hello, >> We were looking to work on migrating the current sql-based database(used >> for the RDF store) to a different one as an experiment for our ongoing >> project. We wanted to ask if it was possible for you to direct us to the >> files which deal with managing connection to the sql database. The database >> we are looking to migrate to is also sql based, so that would be good >> enough to get us started. >> Thanks, >> -- >> Jishnu Raj Parashar >> CSE Senior Undergrad | IIIT-Delhi >> _______________________________________________ >> Virtuoso-users mailing list >> Vir...@li... >> https://lists.sourceforge.net/lists/listinfo/virtuoso-users >> >> >> > > -- > Jishnu Raj Parashar > CSE Senior Undergrad | IIIT-Delhi > > > -- Jishnu Raj Parashar CSE Senior Undergrad | IIIT-Delhi |
From: Hugh W. <hwi...@op...> - 2022-11-17 10:38:29
|
Hi Jishnu, Yes, that is correct as detailed in the following White paper on implementation: https://virtuoso.openlinksw.com/whitepapers/SPARQL%20RDF%20Store%20using%20SQL-ORDBMS.pdf Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com <http://www.openlinksw.com/> Community Support: https://community.openlinksw.com <https://community.openlinksw.com/> Company Blog: https://medium.com/openlink-software-blog <https://medium.com/openlink-software-blog> Virtuoso Blog: https://medium.com/virtuoso-blog <https://medium.com/virtuoso-blog> Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers <https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers> LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Google+ -- http://plus.google.com/100570109519069333827/ Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 16 Nov 2022, at 13:10, Jishnu Raj Parashar <jis...@ii...> wrote: > > Thank you for your response. > Correct me If I am wrong, the RDF store is built within Virtuoso's own implementation of an SQL database. Is that correct? > Regards, > > On Wed, Nov 16, 2022 at 3:52 PM Hugh Williams <hwi...@op... <mailto:hwi...@op...>> wrote: > Hi Jishnu, > > What is the SQL database being used as RDF Store currently ? > > With the Virtuoso commercially licensed edition its virtual database engine can be used to generate transient or persisted RDF views of data stored in ODBC or JDBC accessible relational databases as detailed at: > > https://medium.com/virtuoso-blog/rdf-views-generate-b0538101a724 <https://medium.com/virtuoso-blog/rdf-views-generate-b0538101a724> > https://vos.openlinksw.com/owiki/wiki/VOS/VirtRdb2RDFViewsGeneration <https://vos.openlinksw.com/owiki/wiki/VOS/VirtRdb2RDFViewsGeneration> > > Also, if the current RDF Store as the ability to dump its RDF data to datasets in one of the standard data representations ie turtle, N-triple, NQuad, RDF/XML, as most do then those dataset can be bulk load directly into the Virtuoso commercial or open source product offerings as detailed at: > > https://vos.openlinksw.com/owiki/wiki/VOS/VirtBulkRDFLoader <https://vos.openlinksw.com/owiki/wiki/VOS/VirtBulkRDFLoader> > > Note, the first method of creating RDF Views of the relational data cannot be done with the open source product as the virtual database engine required is a commercial only feature ... > > Best Regards > Hugh Williams > Professional Services > OpenLink Software > Home Page: http://www.openlinksw.com <http://www.openlinksw.com/> > Community Support: https://community.openlinksw.com <https://community.openlinksw.com/> > Company Blog: https://medium.com/openlink-software-blog <https://medium.com/openlink-software-blog> > Virtuoso Blog: https://medium.com/virtuoso-blog <https://medium.com/virtuoso-blog> > Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers <https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers> > LinkedIn -- http://www.linkedin.com/company/openlink-software/ <http://www.linkedin.com/company/openlink-software/> > Twitter -- http://twitter.com/OpenLink <http://twitter.com/OpenLink> > Google+ -- http://plus.google.com/100570109519069333827/ <http://plus.google.com/100570109519069333827/> > Facebook -- http://www.facebook.com/OpenLinkSoftware <http://www.facebook.com/OpenLinkSoftware> > Universal Data Access, Integration, and Management Technology Providers > > > > > >> On 14 Nov 2022, at 16:02, Jishnu Raj Parashar <jis...@ii... <mailto:jis...@ii...>> wrote: >> >> Hello, >> We were looking to work on migrating the current sql-based database(used for the RDF store) to a different one as an experiment for our ongoing project. We wanted to ask if it was possible for you to direct us to the files which deal with managing connection to the sql database. The database we are looking to migrate to is also sql based, so that would be good enough to get us started. >> Thanks, >> -- >> Jishnu Raj Parashar >> CSE Senior Undergrad | IIIT-Delhi >> _______________________________________________ >> Virtuoso-users mailing list >> Vir...@li... <mailto:Vir...@li...> >> https://lists.sourceforge.net/lists/listinfo/virtuoso-users <https://lists.sourceforge.net/lists/listinfo/virtuoso-users> > > > > -- > Jishnu Raj Parashar > CSE Senior Undergrad | IIIT-Delhi |
From: Jishnu R. P. <jis...@ii...> - 2022-11-16 13:11:09
|
Thank you for your response. Correct me If I am wrong, the RDF store is built within Virtuoso's own implementation of an SQL database. Is that correct? Regards, On Wed, Nov 16, 2022 at 3:52 PM Hugh Williams <hwi...@op...> wrote: > Hi Jishnu, > > What is the SQL database being used as RDF Store currently ? > > With the Virtuoso commercially licensed edition its virtual database > engine can be used to generate transient or persisted RDF views of data > stored in ODBC or JDBC accessible relational databases as detailed at: > > https://medium.com/virtuoso-blog/rdf-views-generate-b0538101a724 > https://vos.openlinksw.com/owiki/wiki/VOS/VirtRdb2RDFViewsGeneration > > Also, if the current RDF Store as the ability to dump its RDF data to > datasets in one of the standard data representations ie turtle, N-triple, > NQuad, RDF/XML, as most do then those dataset can be bulk load directly > into the Virtuoso commercial or open source product offerings as detailed > at: > > https://vos.openlinksw.com/owiki/wiki/VOS/VirtBulkRDFLoader > > Note, the first method of creating RDF Views of the relational data cannot > be done with the open source product as the virtual database engine > required is a commercial only feature ... > > Best Regards > Hugh Williams > Professional Services > OpenLink Software > Home Page: http://www.openlinksw.com > Community Support: https://community.openlinksw.com > Company Blog: https://medium.com/openlink-software-blog > Virtuoso Blog: https://medium.com/virtuoso-blog > Data Access Drivers Blog: > https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > Twitter -- http://twitter.com/OpenLink > Google+ -- http://plus.google.com/100570109519069333827/ > Facebook -- http://www.facebook.com/OpenLinkSoftware > Universal Data Access, Integration, and Management Technology Providers > > > > > > On 14 Nov 2022, at 16:02, Jishnu Raj Parashar <jis...@ii...> > wrote: > > Hello, > We were looking to work on migrating the current sql-based database(used > for the RDF store) to a different one as an experiment for our ongoing > project. We wanted to ask if it was possible for you to direct us to the > files which deal with managing connection to the sql database. The database > we are looking to migrate to is also sql based, so that would be good > enough to get us started. > Thanks, > -- > Jishnu Raj Parashar > CSE Senior Undergrad | IIIT-Delhi > _______________________________________________ > Virtuoso-users mailing list > Vir...@li... > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > > > -- Jishnu Raj Parashar CSE Senior Undergrad | IIIT-Delhi |
From: Hugh W. <hwi...@op...> - 2022-11-16 10:47:48
|
Hi Jishnu, What is the SQL database being used as RDF Store currently ? With the Virtuoso commercially licensed edition its virtual database engine can be used to generate transient or persisted RDF views of data stored in ODBC or JDBC accessible relational databases as detailed at: https://medium.com/virtuoso-blog/rdf-views-generate-b0538101a724 https://vos.openlinksw.com/owiki/wiki/VOS/VirtRdb2RDFViewsGeneration Also, if the current RDF Store as the ability to dump its RDF data to datasets in one of the standard data representations ie turtle, N-triple, NQuad, RDF/XML, as most do then those dataset can be bulk load directly into the Virtuoso commercial or open source product offerings as detailed at: https://vos.openlinksw.com/owiki/wiki/VOS/VirtBulkRDFLoader Note, the first method of creating RDF Views of the relational data cannot be done with the open source product as the virtual database engine required is a commercial only feature ... Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com <http://www.openlinksw.com/> Community Support: https://community.openlinksw.com <https://community.openlinksw.com/> Company Blog: https://medium.com/openlink-software-blog <https://medium.com/openlink-software-blog> Virtuoso Blog: https://medium.com/virtuoso-blog <https://medium.com/virtuoso-blog> Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers <https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers> LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Google+ -- http://plus.google.com/100570109519069333827/ Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 14 Nov 2022, at 16:02, Jishnu Raj Parashar <jis...@ii...> wrote: > > Hello, > We were looking to work on migrating the current sql-based database(used for the RDF store) to a different one as an experiment for our ongoing project. We wanted to ask if it was possible for you to direct us to the files which deal with managing connection to the sql database. The database we are looking to migrate to is also sql based, so that would be good enough to get us started. > Thanks, > -- > Jishnu Raj Parashar > CSE Senior Undergrad | IIIT-Delhi > _______________________________________________ > Virtuoso-users mailing list > Vir...@li... > https://lists.sourceforge.net/lists/listinfo/virtuoso-users |
From: Jishnu R. P. <jis...@ii...> - 2022-11-14 17:09:54
|
Hello, We were looking to work on migrating the current sql-based database(used for the RDF store) to a different one as an experiment for our ongoing project. We wanted to ask if it was possible for you to direct us to the files which deal with managing connection to the sql database. The database we are looking to migrate to is also sql based, so that would be good enough to get us started. Thanks, -- Jishnu Raj Parashar CSE Senior Undergrad | IIIT-Delhi |
From: Nandika J. <nan...@ii...> - 2022-10-04 19:39:29
|
Hi I am doing a research project analysing various triple stores, and Virtuoso is one of them. Could you provide details on the indexing of Virtuoso and its architecture. Also, it would be great if you could attach any documents related to the triple store that might help in understanding the index structure of Virtuoso. Thank you -- Nandika Jain CSE Senior Undergrad | IIIT-Delhi |
From: Hugh W. <hwi...@op...> - 2022-05-11 11:25:14
|
Hi Luís, I would suggest reporting this issue on the Virtuoso open source git issue tracker at: https://github.com/openlink/virtuoso-opensource/issues which is where most now report issues or ask questions since we move to using git ... Also, do you have a minimal test case for recreating the issue, as if so that should be provided as well ... Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com <http://www.openlinksw.com/> Community Support: https://community.openlinksw.com <https://community.openlinksw.com/> Company Blog: https://medium.com/openlink-software-blog <https://medium.com/openlink-software-blog> Virtuoso Blog: https://medium.com/virtuoso-blog <https://medium.com/virtuoso-blog> Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers <https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers> LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Google+ -- http://plus.google.com/100570109519069333827/ Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 11 May 2022, at 10:56, Luís Moreira de Sousa via Virtuoso-users <vir...@li...> wrote: > > Dear all, > > after a few more tests it is starting to look like the problem is actually with the geof:buffer function. A full example is at the of this message. Whatever the function is returning, it is certainly not a 10 metre buffer around the point. > > What could be going wrong here? If it is relevant the version I am using is 07.20.3233. > > Thank you. > > > SPARQL > PREFIX geo: <http://www.opengis.net/ont/geosparql# <http://www.opengis.net/ont/geosparql#>> > PREFIX geof: <http://www.opengis.net/def/function/geosparql/ <http://www.opengis.net/def/function/geosparql/>> > PREFIX ex: <https://example.com <https://example.com/>#> > > SELECT geof:buffer(?lit_b, 10, <http://www.opengis.net/def/uom/OGC/1.0/metre <http://www.opengis.net/def/uom/OGC/1.0/metre>>) > FROM <https://example.com <https://example.com/>#> > WHERE { > ex:point_b geo:asWKT ?lit_b . > }; > Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> callret-0 > LONG VARCHAR > _______________________________________________________________________________ > > POLYGON((61 51,60.807852804032 49.049096779839,60.238795325113 47.173165676349,59.314696123025 45.444297669804,58.071067811865 43.928932188135,56.555702330196 42.685303876975,54.826834323651 41.761204674887,52.950903220161 41.192147195968,51 41,49.049096779839 41.192147195968,47.173165676349 41.761204674887,45.444297669804 42.685303876975,43.928932188135 43.928932188135,42.685303876975 45.444297669804,41.761204674887 47.173165676349,41.192147195968 49.049096779839,41 51,41.192147195968 52.950903220161,41.761204674887 54.826834323651,42.685303876975 56.555702330196,43.928932188134 58.071067811865,45.444297669804 59.314696123025,47.173165676349 60.238795325113,49.049096779839 60.807852804032,51 61,52.950903220161 60.807852804032,54.826834323651 60.238795325113,56.555702330196 59.314696123025,58.071067811865 58.071067811865,59.314696123025 56.555702330196,60.238795325113 54.826834323651,60.807852804032 52.950903220161,61 51)) > > 1 Rows. -- 29 msec. > > > -- > Luís > ------- Original Message ------- > On Tuesday, May 10th, 2022 at 9:25 AM, Luís Moreira de Sousa via Virtuoso-users <vir...@li...> wrote: > >> Dear all, >> >> I am currently unable to use the geof:sfIntersects function as it produces unexpected results. As an example consider the following graph: >> >> @prefix geo: <http://www.opengis.net/ont/geosparql# <http://www.opengis.net/ont/geosparql#>> . >> @prefix ex: <https://example.com <https://example.com/>#> . >> >> ex:point_a a geo:Point ; >> geo:asWKT "POINT(50 50)"^^geo:wktLiteral . >> >> ex:point_b a geo:Point ; >> geo:asWKT "POINT(51 51)"^^geo:wktLiteral . >> >> >> The use case is to identify points that lay within a certain distance from each other. This can be obtained with a query like: >> >> SPARQL >> PREFIX geo: <http://www.opengis.net/ont/geosparql# <http://www.opengis.net/ont/geosparql#>> >> PREFIX geof: <http://www.opengis.net/def/function/geosparql/ <http://www.opengis.net/def/function/geosparql/>> >> PREFIX ex: <https://example.com <https://example.com/>#> >> >> SELECT geo:sfIntersects(?lit_a, geof:buffer(?lit_b, 10, <http://www.opengis.net/def/uom/OGC/1.0/metre <http://www.opengis.net/def/uom/OGC/1.0/metre>>)) >> FROM <https://example.com <https://example.com/>#> >> WHERE { >> ex:point_a geo:asWKT ?lit_a . >> ex:point_b geo:asWKT ?lit_b . >> }; >> >> Which produces the following result: >> >> INTEGER NOT NULL >> _______________________________________________________________________________ >> >> 1 >> >> 1 Rows. -- 6 msec. >> >> >> One obvious problem is the return type, it should be a xsd:boolean literal (OGC 11-052r4 >> Table 5), but is an integer instead (also not xsd:integer). But beyond that, it seems to point to a "true", whereas those two points lay much farther apart than 10 metres. >> >> As a sanity check, with a buffer of width zero the result is 0 (again integer type): >> >> SQL> SPARQL >> PREFIX geo: <http://www.opengis.net/ont/geosparql# <http://www.opengis.net/ont/geosparql#>> >> PREFIX geof: <http://www.opengis.net/def/function/geosparql/ <http://www.opengis.net/def/function/geosparql/>> >> PREFIX ex: <https://example.com <https://example.com/>#> >> >> SELECT geo:sfIntersects(?lit_a, geof:buffer(?lit_b, 0, <http://www.opengis.net/def/uom/OGC/1.0/metre <http://www.opengis.net/def/uom/OGC/1.0/metre>>)) >> FROM <https://example.com <https://example.com/>#> >> WHERE { >> ex:point_a geo:asWKT ?lit_a . >> ex:point_b geo:asWKT ?lit_b . >> }; >> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> callret-0 >> INTEGER NOT NULL >> _______________________________________________________________________________ >> >> 0 >> >> 1 Rows. -- 5 msec. >> >> Looks like something is going wrong. How can I obtain a correct result from geof:sfIntersects? >> >> Thank you. >> >> -- >> Luís >> > > _______________________________________________ > Virtuoso-users mailing list > Vir...@li... > https://lists.sourceforge.net/lists/listinfo/virtuoso-users |
From: Luís M. de S. <lui...@pr...> - 2022-05-11 09:57:04
|
Dear all, after a few more tests it is starting to look like the problem is actually with the geof:buffer function. A full example is at the of this message. Whatever the function is returning, it is certainly not a 10 metre buffer around the point. What could be going wrong here? If it is relevant the version I am using is 07.20.3233. Thank you. SPARQL PREFIX geo: <http://www.opengis.net/ont/geosparql#> PREFIX geof: <http://www.opengis.net/def/function/geosparql/> PREFIX ex: <https://example.com#> SELECT geof:buffer(?lit_b, 10, <http://www.opengis.net/def/uom/OGC/1.0/metre>) FROM <https://example.com#> WHERE { ex:point_b geo:asWKT ?lit_b . }; Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> callret-0 LONG VARCHAR _______________________________________________________________________________ POLYGON((61 51,60.807852804032 49.049096779839,60.238795325113 47.173165676349,59.314696123025 45.444297669804,58.071067811865 43.928932188135,56.555702330196 42.685303876975,54.826834323651 41.761204674887,52.950903220161 41.192147195968,51 41,49.049096779839 41.192147195968,47.173165676349 41.761204674887,45.444297669804 42.685303876975,43.928932188135 43.928932188135,42.685303876975 45.444297669804,41.761204674887 47.173165676349,41.192147195968 49.049096779839,41 51,41.192147195968 52.950903220161,41.761204674887 54.826834323651,42.685303876975 56.555702330196,43.928932188134 58.071067811865,45.444297669804 59.314696123025,47.173165676349 60.238795325113,49.049096779839 60.807852804032,51 61,52.950903220161 60.807852804032,54.826834323651 60.238795325113,56.555702330196 59.314696123025,58.071067811865 58.071067811865,59.314696123025 56.555702330196,60.238795325113 54.826834323651,60.807852804032 52.950903220161,61 51)) 1 Rows. -- 29 msec. -- Luís ------- Original Message ------- On Tuesday, May 10th, 2022 at 9:25 AM, Luís Moreira de Sousa via Virtuoso-users <vir...@li...> wrote: > Dear all, > > I am currently unable to use the geof:sfIntersects function as it produces unexpected results. As an example consider the following graph: > > @prefix geo: <http://www.opengis.net/ont/geosparql#> . > @prefix ex: <https://example.com#> . > > ex:point_a a geo:Point ; > geo:asWKT "POINT(50 50)"^^geo:wktLiteral . > > ex:point_b a geo:Point ; > geo:asWKT "POINT(51 51)"^^geo:wktLiteral . > > The use case is to identify points that lay within a certain distance from each other. This can be obtained with a query like: > > SPARQL > PREFIX geo: <http://www.opengis.net/ont/geosparql#> > PREFIX geof: <http://www.opengis.net/def/function/geosparql/> > PREFIX ex: <https://example.com#> > > SELECT geo:sfIntersects(?lit_a, geof:buffer(?lit_b, 10, <http://www.opengis.net/def/uom/OGC/1.0/metre>)) > FROM <https://example.com#> > WHERE { > ex:point_a geo:asWKT ?lit_a . > ex:point_b geo:asWKT ?lit_b . > }; > > Which produces the following result: > > INTEGER NOT NULL > _______________________________________________________________________________ > > 1 > > 1 Rows. -- 6 msec. > > One obvious problem is the return type, it should be a xsd:boolean literal (OGC 11-052r4 > Table 5), but is an integer instead (also not xsd:integer). But beyond that, it seems to point to a "true", whereas those two points lay much farther apart than 10 metres. > > As a sanity check, with a buffer of width zero the result is 0 (again integer type): > > SQL> SPARQL > PREFIX geo: <http://www.opengis.net/ont/geosparql#> > PREFIX geof: <http://www.opengis.net/def/function/geosparql/> > PREFIX ex: <https://example.com#> > > SELECT geo:sfIntersects(?lit_a, geof:buffer(?lit_b, 0, <http://www.opengis.net/def/uom/OGC/1.0/metre>)) > FROM <https://example.com#> > WHERE { > ex:point_a geo:asWKT ?lit_a . > ex:point_b geo:asWKT ?lit_b . > }; > Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> callret-0 > INTEGER NOT NULL > _______________________________________________________________________________ > > 0 > > 1 Rows. -- 5 msec. > Looks like something is going wrong. How can I obtain a correct result from geof:sfIntersects? > > Thank you. > > -- > Luís |
From: Luís M. de S. <lui...@pr...> - 2022-05-10 07:25:30
|
Dear all, I am currently unable to use the geof:sfIntersects function as it produces unexpected results. As an example consider the following graph: @prefix geo: <http://www.opengis.net/ont/geosparql#> . @prefix ex: <https://example.com#> . ex:point_a a geo:Point ; geo:asWKT "POINT(50 50)"^^geo:wktLiteral . ex:point_b a geo:Point ; geo:asWKT "POINT(51 51)"^^geo:wktLiteral . The use case is to identify points that lay within a certain distance from each other. This can be obtained with a query like: SPARQL PREFIX geo: <http://www.opengis.net/ont/geosparql#> PREFIX geof: <http://www.opengis.net/def/function/geosparql/> PREFIX ex: <https://example.com#> SELECT geo:sfIntersects(?lit_a, geof:buffer(?lit_b, 10, <http://www.opengis.net/def/uom/OGC/1.0/metre>)) FROM <https://example.com#> WHERE { ex:point_a geo:asWKT ?lit_a . ex:point_b geo:asWKT ?lit_b . }; Which produces the following result: INTEGER NOT NULL _______________________________________________________________________________ 1 1 Rows. -- 6 msec. One obvious problem is the return type, it should be a xsd:boolean literal (OGC 11-052r4 Table 5), but is an integer instead (also not xsd:integer). But beyond that, it seems to point to a "true", whereas those two points lay much farther apart than 10 metres. As a sanity check, with a buffer of width zero the result is 0 (again integer type): SQL> SPARQL PREFIX geo: <http://www.opengis.net/ont/geosparql#> PREFIX geof: <http://www.opengis.net/def/function/geosparql/> PREFIX ex: <https://example.com#> SELECT geo:sfIntersects(?lit_a, geof:buffer(?lit_b, 0, <http://www.opengis.net/def/uom/OGC/1.0/metre>)) FROM <https://example.com#> WHERE { ex:point_a geo:asWKT ?lit_a . ex:point_b geo:asWKT ?lit_b . }; Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> Type the rest of statement, end with a semicolon (;)> callret-0 INTEGER NOT NULL _______________________________________________________________________________ 0 1 Rows. -- 5 msec. Looks like something is going wrong. How can I obtain a correct result from geof:sfIntersects? Thank you. -- Luís |
From: Luís M. de S. <lui...@pr...> - 2022-05-09 11:54:48
|
Thank you Patrick and Hugh for the replies, both informative. Best regards. -- Luís ------- Original Message ------- On Wednesday, May 4th, 2022 at 1:06 PM, Hugh Williams via Virtuoso-users <vir...@li...> wrote: > Hi Luís, > > Methods for listing RDF graphs in Virtuoso are documented at: > > http://vos.openlinksw.com/owiki/wiki/VOS/VirtTipsAndTricksGuideAllGraphs > > Best Regards > Hugh Williams > Professional Services > OpenLink Software > Home Page:http://www.openlinksw.com > Community Support:https://community.openlinksw.com > Company Blog:https://medium.com/openlink-software-blog > Virtuoso Blog:https://medium.com/virtuoso-blog > Data Access Drivers Blog:https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > Twitter -- http://twitter.com/OpenLink > Google+ -- http://plus.google.com/100570109519069333827/ > Facebook -- http://www.facebook.com/OpenLinkSoftware > Universal Data Access, Integration, and Management Technology Providers > >> On 4 May 2022, at 08:58, Luís de Sousa <lui...@is...> wrote: >> >> Hi there, >> >> is there any isql command to list the URIs of the knowledge graphs currently in triple store? There are instructions to load and delete graphs, but I cannot find one to list those currently loaded. >> >> Thank you. >> >> LUÍS MOREIRA DE SOUSA | GeoInformatics >> ISRIC - World Soil Information >> Wageningen, Netherlands >> +31 643 84 40 91 >> isric.org >> >> _______________________________________________ >> Virtuoso-users mailing list >> Vir...@li... >> https://lists.sourceforge.net/lists/listinfo/virtuoso-users |
From: Hugh W. <hwi...@op...> - 2022-05-04 11:33:20
|
Hi Luís, Methods for listing RDF graphs in Virtuoso are documented at: http://vos.openlinksw.com/owiki/wiki/VOS/VirtTipsAndTricksGuideAllGraphs Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com <http://www.openlinksw.com/> Community Support: https://community.openlinksw.com <https://community.openlinksw.com/> Company Blog: https://medium.com/openlink-software-blog <https://medium.com/openlink-software-blog> Virtuoso Blog: https://medium.com/virtuoso-blog <https://medium.com/virtuoso-blog> Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers <https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers> LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Google+ -- http://plus.google.com/100570109519069333827/ Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 4 May 2022, at 08:58, Luís de Sousa <lui...@is...> wrote: > > Hi there, > > is there any isql command to list the URIs of the knowledge graphs currently in triple store? There are instructions to load and delete graphs, but I cannot find one to list those currently loaded. > > Thank you. > > LUÍS MOREIRA DE SOUSA | GeoInformatics > ISRIC - World Soil Information > Wageningen, Netherlands > +31 643 84 40 91 > isric.org > > > > > _______________________________________________ > Virtuoso-users mailing list > Vir...@li... > https://lists.sourceforge.net/lists/listinfo/virtuoso-users |
From: Patrick v. K. <pk...@op...> - 2022-05-04 11:03:24
|
Hi, > is there any isql command to list the URIs of the knowledge graphs currently in triple store? There are instructions to load and delete graphs, but I cannot find one to list those currently loaded. > You can try the following command in isql: SQL> sparql select distinct ?g where {graph ?g {?s ?p ?o}}; Patrick — OpenLink Software |
From: Luís de S. <lui...@is...> - 2022-05-04 10:26:53
|
Hi there, is there any isql command to list the URIs of the knowledge graphs currently in triple store? There are instructions to load and delete graphs, but I cannot find one to list those currently loaded. Thank you. LUÍS MOREIRA DE SOUSA | GeoInformatics ISRIC - World Soil Information Wageningen, Netherlands +31 643 84 40 91 isric.org |
From: Hugh W. <hwi...@op...> - 2021-07-19 12:10:43
|
Hi Tom, The Virtuoso built-in inferencing available in the open source product does not support owl:unionOf, and owl:intersectionOf. In the Virtuoso 8+ commercial edition support for the creation of custom inference rules of any type is support new custom inferencing engine available in this release as detailed at: https://medium.com/virtuoso-blog/magic-sets-and-custom-inference-rules-in-virtuoso-8-x-db783f8d98d2 https://medium.com/virtuoso-blog/virtuoso-8-0-creating-a-custom-inference-rules-using-spin-vocabulary-d7a060f859ef Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com <http://www.openlinksw.com/> Community Support: https://community.openlinksw.com <https://community.openlinksw.com/> Company Blog: https://medium.com/openlink-software-blog <https://medium.com/openlink-software-blog> Virtuoso Blog: https://medium.com/virtuoso-blog <https://medium.com/virtuoso-blog> Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers <https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers> LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Google+ -- http://plus.google.com/100570109519069333827/ Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 18 Jul 2021, at 22:35, tom huyghe <tom...@gm...> wrote: > > Hi everyone, > > I'm using Virtuoso open-source v7.2.6.1 on a Linux fedora34 system and I want to know if it's possible to create inference rules with owl:unionOf, owl:intersectionOf. Or even use an external reasoner with Virtuoso open-source (like Fact++) that supports OWL DL reasoning. > > I saw on the documentation that it was possible to create custom inference rules (http://docs.openlinksw.com/virtuoso/rdfsparqlruleintro/ <http://docs.openlinksw.com/virtuoso/rdfsparqlruleintro/>) but if I'm not mistaken those are limited to " rdfs:subClassOf, rdfs:subPropertyOf, owl:sameAs, owl:equivalentClass and owl:equivalentProperty " . I tried to use rdfs_rule_set() to create inference rules for owl:unionOf, and then use it in a sparql request (for instance) : > > > define input:inference "myRuleSet" > > prefix : <https://stackoverflow.com/q/21092246/1281433/data.owl# <https://stackoverflow.com/q/21092246/1281433/data.owl#>> > prefix rdfs: <http://www.w3.org/2000/01/rdf-schema# <http://www.w3.org/2000/01/rdf-schema#>> > prefix owl: <http://www.w3.org/2002/07/owl# <http://www.w3.org/2002/07/owl#>> > prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns# <http://www.w3.org/1999/02/22-rdf-syntax-ns#>> > > SELECT ?x > WHERE { > ?x rdf:type <http://www.co-ode.org/ontologies/ont.owl#Demand_poi <http://www.co-ode.org/ontologies/ont.owl#DP_315000448311>nt> > } > > > But it's not working, it didn't found any triple. I didn't find any tutorial or documentation that explain how to do it, so i guess it's not possible. And i don't know if it's possible to use an external reasoner with Virtuoso Open-source. > > here is an example of a class that I'm using ( There are more complex class in my Ontologie using owl:intersectionOf and even owl:someValuesFrom) > > Class rdf:about="http://www.co-ode.org/ontologies/ont.owl#Demand_point <http://www.co-ode.org/ontologies/ont.owl#Demand_point>"> > <equivalentClass> > <Class> > <unionOf rdf:parseType="Collection"> > <rdf:Description rdf:about="http://www.co-ode.org/ontologies/ont.owl#Infrastructure_aggregation <http://www.co-ode.org/ontologies/ont.owl#Infrastructure_aggregation>"/> > <rdf:Description rdf:about="http://www.semanticweb.org/tomhu/ontologies/2021/1/untitled-ontology-7#Infrastructure <http://www.semanticweb.org/tomhu/ontologies/2021/1/untitled-ontology-7#Infrastructure>"/> > </unionOf> > </Class> > </equivalentClass> > <rdfs:comment xml:lang="en">A demand point is an infrastructure that must be evacuated.</rdfs:comment> > <rdfs:comment xml:lang="fr">Un point de demande est une infrastructure qu'il faut évacuer.</rdfs:comment> > <rdfs:label xml:lang="en">Demand point</rdfs:label> > <rdfs:label xml:lang="fr">Point de demande</rdfs:label> > </Class> > _______________________________________________ > Virtuoso-users mailing list > Vir...@li... > https://lists.sourceforge.net/lists/listinfo/virtuoso-users |
From: tom h. <tom...@gm...> - 2021-07-18 21:36:19
|
Hi everyone, I'm using Virtuoso open-source v7.2.6.1 on a Linux fedora34 system and I want to know if it's possible to create inference rules with owl:unionOf, owl:intersectionOf. Or even use an external reasoner with Virtuoso open-source (like Fact++) that supports OWL DL reasoning. I saw on the documentation that it was possible to create custom inference rules (http://docs.openlinksw.com/virtuoso/rdfsparqlruleintro/) but if I'm not mistaken those are limited to " *rdfs:subClassOf*, *rdfs:subPropertyOf, owl:sameAs, owl:equivalentClass and owl:equivalentProperty " **. *I tried to use rdfs_rule_set() to create inference rules for owl:unionOf, and then use it in a sparql request (for instance) : define input:inference "myRuleSet" prefix : <https://stackoverflow.com/q/21092246/1281433/data.owl#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix owl: <http://www.w3.org/2002/07/owl#> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?x WHERE { ?x rdf:type <http://www.co-ode.org/ontologies/ont.owl#Demand_poi <http://www.co-ode.org/ontologies/ont.owl#DP_315000448311>nt> } But it's not working, it didn't found any triple. I didn't find any tutorial or documentation that explain how to do it, so i guess it's not possible. And i don't know if it's possible to use an external reasoner with Virtuoso Open-source. here is an example of a class that I'm using ( There are more complex class in my Ontologie using owl:intersectionOf and even owl:someValuesFrom) Class rdf:about="http://www.co-ode.org/ontologies/ont.owl#Demand_point"> <equivalentClass> <Class> <unionOf rdf:parseType="Collection"> <rdf:Description rdf:about=" http://www.co-ode.org/ontologies/ont.owl#Infrastructure_aggregation"/> <rdf:Description rdf:about=" http://www.semanticweb.org/tomhu/ontologies/2021/1/untitled-ontology-7#Infrastructure "/> </unionOf> </Class> </equivalentClass> <rdfs:comment xml:lang="en">A demand point is an infrastructure that must be evacuated.</rdfs:comment> <rdfs:comment xml:lang="fr">Un point de demande est une infrastructure qu'il faut évacuer.</rdfs:comment> <rdfs:label xml:lang="en">Demand point</rdfs:label> <rdfs:label xml:lang="fr">Point de demande</rdfs:label> </Class> |
From: tom h. <tom...@gm...> - 2021-07-14 16:42:42
|
Hi everyone, I'm using Virtuoso open-source v7.2.6.1 on a Linux fedora34 system and I want to know if it's possible to create inference rules with owl:unionOf, owl:intersectionOf. Or even use an external reasoner with Virtuoso open-source (like Fact++) that supports OWL DL reasoning. I saw on the documentation that it was possible to create custom inference rules (http://docs.openlinksw.com/virtuoso/rdfsparqlruleintro/) but if I'm not mistaken those are limited to " *rdfs:subClassOf*, *rdfs:subPropertyOf, owl:sameAs, owl:equivalentClass and owl:equivalentProperty " **. *I tried to use rdfs_rule_set() to create inference rules for owl:unionOf, and then use it in a sparql request (for instance) : define input:inference "myRuleSet" prefix : <https://stackoverflow.com/q/21092246/1281433/data.owl#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix owl: <http://www.w3.org/2002/07/owl#> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?x WHERE { ?x rdf:type <http://www.co-ode.org/ontologies/ont.owl#Demand_poi <http://www.co-ode.org/ontologies/ont.owl#DP_315000448311>nt> } But it's not working, it didn't found any triple. I didn't find any tutorial or documentation that explain how to do it, so i guess it's not possible. And i don't know if it's possible to use an external reasoner with Virtuoso Open-source. here is an example of a class that I'm using ( There are more complex class in my Ontologie using owl:intersectionOf and even owl:someValuesFrom) [image: image.png] Thank you Tom |
From: Alfredo S. <se...@gm...> - 2021-04-30 14:28:44
|
...moreover I find useful to adopt the encoded version, more or less this way: $ curl -X POST \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept:text/csv" \ --data-urlencode "SELECT DISTINCT ?Concept WHERE { [] a ?Concept } LIMIT 100" \ --data-urlencode "default-graph-uri=https://example.org/mygraph" \ "http://localhost:8890/sparql" best, Alfredo Il giorno ven 30 apr 2021 alle ore 16:13 jerven Bolleman <jerven.bolleman@sib.swiss> ha scritto: > Hi Luis, Roel, > > The --data section should start with query= > > curl -X POST -vH "Accept:application/sparql-results+xml" --data > "query=select distinct ?Concept where {[] a ?Concept} LIMIT 100" > http://localhost:8890/sparql > > For the rest using a response type other than HTML is recommended > e.g. the sparql-results in xml I added. > > Regards, > Jerven > > On 30/04/2021 15:29, Roel Janssen wrote: > > Hi, > > > > On Fri, 2021-04-30 at 13:24 +0000, Luís Moreira de Sousa via Virtuoso- > > users wrote: > >> Hi all, > >> > >> I would like to submit queries to the SPARQL endpoint using the POST > >> method to avoid payload limits with GET. For some reason, Virtuoso is > >> not able to identify the query in the message body. An example: > >> > >> $ curl -X POST -H "Accept:text/html" --data "select distinct ?Concept > >> where {[] a ?Concept} LIMIT 100" http://localhost:8890/sparql > >> Virtuoso 22023 Error The request does not contain text of SPARQL > >> > >> Am I doing something wrong here? Or should I use a different method? > > > > Try adding another header with: -H "Content-Type: application/sparql- > > update". > > > > Kind regards, > > Roel Janssen > > > > > > > > > > _______________________________________________ > > Virtuoso-users mailing list > > Vir...@li... > > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > > > > -- > > *Jerven Tjalling Bolleman* > Principal Software Developer > *SIB | Swiss Institute of Bioinformatics* > 1, rue Michel Servet - CH 1211 Geneva 4 - Switzerland > t +41 22 379 58 85 > Jerven.Bolleman@sib.swiss - www.sib.swiss > > > > _______________________________________________ > Virtuoso-users mailing list > Vir...@li... > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > |
From: jerven B. <jer...@si...> - 2021-04-30 14:13:45
|
Hi Luis, Roel, The --data section should start with query= curl -X POST -vH "Accept:application/sparql-results+xml" --data "query=select distinct ?Concept where {[] a ?Concept} LIMIT 100" http://localhost:8890/sparql For the rest using a response type other than HTML is recommended e.g. the sparql-results in xml I added. Regards, Jerven On 30/04/2021 15:29, Roel Janssen wrote: > Hi, > > On Fri, 2021-04-30 at 13:24 +0000, Luís Moreira de Sousa via Virtuoso- > users wrote: >> Hi all, >> >> I would like to submit queries to the SPARQL endpoint using the POST >> method to avoid payload limits with GET. For some reason, Virtuoso is >> not able to identify the query in the message body. An example: >> >> $ curl -X POST -H "Accept:text/html" --data "select distinct ?Concept >> where {[] a ?Concept} LIMIT 100" http://localhost:8890/sparql >> Virtuoso 22023 Error The request does not contain text of SPARQL >> >> Am I doing something wrong here? Or should I use a different method? > > Try adding another header with: -H "Content-Type: application/sparql- > update". > > Kind regards, > Roel Janssen > > > > > _______________________________________________ > Virtuoso-users mailing list > Vir...@li... > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > -- *Jerven Tjalling Bolleman* Principal Software Developer *SIB | Swiss Institute of Bioinformatics* 1, rue Michel Servet - CH 1211 Geneva 4 - Switzerland t +41 22 379 58 85 Jerven.Bolleman@sib.swiss - www.sib.swiss |