From: Rob V. <rv...@do...> - 2010-04-28 15:47:02
|
Hi Koos Ok I have now made further changes to the SparqlRemoteEndpoint class so there are SetProxyCredentials() methods for setting credentials on a proxy server provided you've already set a proxy server. If your credentials for the request and the proxy are the same you can set the UseCredentialsForProxy property to indicate that the same credentials are used. If you think it'd be useful I'll add some more overloads which set the Proxy and Credentials at the same time? With regards to SPARQL endpoints it may depend on the query and how you've configured your endpoint to operate plus what your backing store is. Firstly the SPARQL engine in dotNetRDF passes all but 5 of the official SPARQL test suite, 3 fails are regarding unicode normalization behaviour and 2 are regarding very complex joins. So it is possible that your queries fall into one of these categories or that SemWeb itself is less closely aligned to the official SPARQL specification (I've never tested this so don't know) and so it's answers include incorrect things that dotNetRDF excludes. The other possibility is to do with endpoint configuration, for example if you have a SQL backed store and have set the load behaviour to be asynchronous the endpoint will answer queries before the data has fully loaded so you will get incomplete results until the endpoint has fully loaded the data. Also if you haven't set the load mode it defaults to OnDemand which means it only loads data as it thinks it needs it so your queries may not be causing it to load all the relevant data or it may not load any data at all. The third possibility is that if you've populated a SQL store your data may be incomplete depending on how you've done this. A lot of the writing to the store is done in the background and while the code is designed to ensure it finishes writing depending on how your program was terminated you may not write all data to the database. If you could send me some test cases i.e. example queries, data and web.config file snippets (with anything sensitive removed/obfustucated) then I could give you a better answer on this. Regards, Rob Vesse ---------------------------------------- From: "Strydom, Koos" <jst...@ha...> Sent: 28 April 2010 11:52 To: rv...@do... Subject: RE: [dotNetRDF-bugs] RdfXmlParser error with Root Element not found Hi Rob, Thanks for that, it helped heaps. One thing you need to add to that is you'll need credentials in most cases for a proxy server. I did came over some things where I query our old SemWeb sparql endpoint with a specific sparql query and it returned the expected results, but if I query my new dotnetRDF endpoint I do not get the same results. Both triple stores were populated with the same generated rdf and the respective parsers. Is that possible or where should I look for the problem. Regards, Koos ---------------------------------------- From: Rob Vesse [mailto:rv...@do...] Sent: Wednesday, 28 April 2010 2:23 AM To: Strydom, Koos Subject: RE: [dotNetRDF-bugs] RdfXmlParser error with Root Element not found Hi Koos I've committed a change to the repository which instead adds SetCredentials(), ClearCredentials(), SetProxy() and ClearProxy() methods which let you set/unset credentials and proxy server as required. The credentials and/or proxy are stored as member variables in the SparqlRemoteEndpoint instance. Then I add some stuff to the impementation of the ExecuteQuery() method so that it just adds this information to the request as is necessary. This avoids adding too many overloads to the API and means you don't have to specify credentials/proxy for every single request. Hope that helps Rob Vesse ---------------------------------------- From: "Strydom, Koos" <jst...@ha...> Sent: 26 April 2010 23:17 To: rv...@do..., "dotNetRDF Bug Report tracking and resolution" <dot...@li...> Subject: RE: [dotNetRDF-bugs] RdfXmlParser error with Root Element not found Hi Rob, Thanks for the reply. I'll put a test case together and forward it to you. In the meantime I came across another opportunity :) I need remote SparqlEndpoint authentication and in some cases also WebProxy support. We do access a fair number of remote Sparql endpoints most of which require authentication and some need to be able to query endpoints from behind firewalls. I've started to create some overloads for the ExecuteQuery(), QueryInternal(), QueryWithResultSet() and QueryWithResultGraph() methods to include NetworkCredentials and another set also including proxy server information and Credentials. I'm not sure if that is the best way to implement authentication but initial testing suggest that it should work just fine. Regards, Koos ---------------------------------------- From: Rob Vesse [mailto:rv...@do...] Sent: Tuesday, 27 April 2010 7:58 AM To: dotNetRDF Bug Report tracking and resolution Subject: Re: [dotNetRDF-bugs] RdfXmlParser error with Root Element not found Hi Koos I will go ahead and add a similar method to SVN once I have proper internet again. Flew out to states today for a conference and the hotel wi-fi can't cope this time of day with all the techies trying to use the wi-fi at the same time. If you have a minimal test case example that reproduces the issue so I could look into why the bug happens and potentially fix it that would be very helpful. Yes I have made a start on Sparql Update support, not sure how quickly that'll progress as only really done initial backend API outlines at the moment and haven't started properly on parser and execution support Thanks, Rob ---------------------------------------- From: "Strydom, Koos" <jst...@ha...> Sent: Sunday, April 25, 2010 5:05 AM To: dot...@li... Subject: [dotNetRDF-bugs] RdfXmlParser error with Root Element not found Hi Rob, As I mentioned to you before I'm actively in the process to implement your library in our open source project. In doing so I came across an issue where I could not parse an rdf document that's been generated dynamically, because it returned with the error "Root element not found" although the RDF document were valid. So to solve my problem I added a method to the RdfXmlParser class like follow public void Load(IGraph g, XmlDocument document) { try { RdfXmlParserContext context = new RdfXmlParserContext(g, document, this._traceparsing); this.Parse(context); }........ This did the trick for me. Also I noticed that you've started on implementing Sparql Update in the library. That's very exciting. Best Regards, Koos Strydom ---------------------------------------- N O T I C E - This message from Hatch is intended only for the use of the individual or entity to which it is addressed and may contain information which is privileged, confidential or proprietary. Internet communications cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, arrive late or contain viruses. By communicating with us via e-mail, you accept such risks. When addressed to our clients, any information, drawings, opinions or advice (collectively, "information") contained in this e-mail is subject to the terms and conditions expressed in the governing agreements. Where no such agreement exists, the recipient shall neither rely upon nor disclose to others, such information without our written consent. Unless otherwise agreed, we do not assume any liability with respect to the accuracy or completeness of the information set out in this e-mail. If you have received this message in error, please notify us immediately by return e-mail and destroy and delete the message from your computer. ---------------------------------------- |