|
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.
----------------------------------------
|