You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
|
Feb
|
Mar
(1) |
Apr
(3) |
May
(2) |
Jun
(2) |
Jul
|
Aug
(2) |
Sep
(1) |
Oct
|
Nov
(9) |
Dec
(4) |
2011 |
Jan
(1) |
Feb
(6) |
Mar
(9) |
Apr
(9) |
May
(20) |
Jun
(1) |
Jul
(2) |
Aug
(1) |
Sep
(6) |
Oct
(3) |
Nov
(13) |
Dec
(1) |
2012 |
Jan
(1) |
Feb
(12) |
Mar
(5) |
Apr
(8) |
May
|
Jun
(25) |
Jul
(7) |
Aug
(4) |
Sep
(14) |
Oct
(5) |
Nov
(22) |
Dec
(6) |
2013 |
Jan
(18) |
Feb
(28) |
Mar
(11) |
Apr
(18) |
May
(4) |
Jun
|
Jul
(9) |
Aug
(6) |
Sep
(4) |
Oct
(4) |
Nov
(6) |
Dec
(7) |
2014 |
Jan
(9) |
Feb
(15) |
Mar
(14) |
Apr
(7) |
May
(5) |
Jun
(15) |
Jul
(2) |
Aug
(6) |
Sep
(5) |
Oct
(7) |
Nov
(9) |
Dec
(16) |
2015 |
Jan
(4) |
Feb
(5) |
Mar
(1) |
Apr
(2) |
May
(2) |
Jun
(15) |
Jul
(8) |
Aug
|
Sep
(4) |
Oct
|
Nov
(4) |
Dec
(4) |
2016 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
(5) |
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Rob V. <rv...@do...> - 2015-07-28 14:54:08
|
Ashley I have resolved this issue on the default branch and a 1.0.9 release with the fix is now available on NuGet It exposes a protected virtual ApplyCustomRequestOptions() method on BaseEndpoint (and thus on both SparqlRemoteEndpoint and SparqlRemoteUpdateEndpoint) so you can now extend both those classes and override that method to add the necessary custom OAuth headers to requests Hope this allows you to resolve your issue, Rob >> >>On 24/06/2015 06:51, "Noble, Ashley (AS01)" <Ash...@ho...> >>wrote: >> >>>Hi Rob, >>>Thanks, when I get blocked by this in a few weeks I'll send a pull >>>request (or equivalent) if that works for you. >>> >>>As an aside, I tried to register on the issue tracker site to leave a >>>comment along those lines, but it didn't seem to register me. Not sure >>>if register is working, or if it's just me. >>> >>>Cheers, >>>Ash. >>> >>>-----Original Message----- >>>Date: Mon, 15 Jun 2015 10:36:28 +0100 >>>From: Rob Vesse <rv...@do...> >>>Subject: Re: [dotNetRDF-Support] ReadWriteSparqlConnector OAuth >>> authentication >>>To: dotNetRDF User Help and Support >>> <dot...@li...> >>>Message-ID: <D1A458C9.4E42A%rv...@do...> >>>Content-Type: text/plain; charset="utf-8" >>> >>>Ash >>> >>>Right now you can't easily do this. >>> >>>Assuming you can encapsulate the logic to do the OAuth authentication >>>and >>>get whatever tokens you need to add in the header then the best way to >>>do >>>this would be to extend both SparlRemoteEndpoint and >>>SparlRemoteUpdateEndpoint. Both of these provide a protected >>>ApplyRequestOptions(HttpWebRequest) method (which they inherit from the >>>common base class BaseEndpoint) that you can override and modify the >>>HttpWebRequest as needed. >>> >>>Unfortunately this is currently not virtual so can't be overridden so >>>this approach won't work right now, I've filed CORE-448 [1] to track >>>this >>>request >>> >>>The other approach you could use (but would require significantly more >>>effort) would be to create an IStorageProvider specifically for >>>BlazeGraph so you would have full control over the HTTP requests being >>>made but you'd have to implement a lot from scratch which I assume is >>>what you are trying to avoid if at all possible >>> >>>Rob >>> >>>[1] http://dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=448 >>> >>> >>>------------------------------------------------------------------------ >>>- >>>- >>>---- >>>Monitor 25 network devices or servers for free with OpManager! >>>OpManager is web-based network management software that monitors >>>network devices and physical & virtual servers, alerts via email & sms >>>for fault. Monitor 25 devices for free with no restriction. Download now >>>http://ad.doubleclick.net/ddm/clk/292181274;119417398;o >>>_______________________________________________ >>>dotNetRDF-Support mailing list >>>dot...@li... >>>https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support >> >> >> >> > |
From: Rob V. <rv...@do...> - 2015-07-28 14:43:53
|
Did you try reading the documentation on creating SPARQL Endpoints https://bitbucket.org/dotnetrdf/dotnetrdf/wiki/UserGuide/ASP/Creating%20SPAR QL%20Endpoints If there are specific things you don't understand or are unclear then please ask specific questions Regards, Rob From: Blerta Grajçevci <ble...@gm...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Tuesday, 16 June 2015 13:46 To: <dot...@li...> Subject: [dotNetRDF-Support] (no subject) > Hi! > > I'm new to the DotNetRDF, and I have to create a SPARQL endpoint in C# but I > don't know HOW? Can you help me please? Or can you send me some tutorials? > On dotnetrdf.org <http://dotnetrdf.org> I found some tutorials but they are > too confused. > -- > Me respekt | Best regards > > Bsc.Eng. Blerta Grajçevci > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li...https://lists.sourceforge.net/lists/lis > tinfo/dotnetrdf-support |
From: Giblett, I. <ian...@ea...> - 2015-07-27 14:05:45
|
Hello, Yes! It works! I was indeed assigning the base URI to the wrong graph. (Sorry for leaving the details out earlier, I’m always conscious in asking for help that providing too much information and pages of code can obscure where the problem lies.) Anyway, thanks for your help, it’s very much appreciated. Kind Regards, Ian From: Rob Vesse [mailto:rv...@do...] Sent: 27 July 2015 14:30 To: dotNetRDF User Help and Support Subject: Re: [dotNetRDF-Support] Help Resolving Name Space issue Ian The fact that you need authentication was a fairly major thing to leave out, details do matter. The stack trace of the error would also be useful information. UriLoader only does simple HTTP GET requests so relies on the resource being accessible. There is some caching involved so it is possible that the cached copy could be empty. Caching should only happen if the request succeeds, unfortunately many poorly configured HTTP servers send back a regular HTML login page with a 200 OK rather than a proper HTTP 401 thus it appears as if the request succeeded when it did not. This means we can try and parse RDFa out of that HTML login page resulting in caching an empty graph for the URI which would explain the behaviour you describe. Are you sure you assigned the Base URI to the correct graph? Looking at your code snippet you define a Graph called triplesGraph but you parse into a different graph GraphOfFolders The other thing that may be causing the issue is that your code as it stands forces the library to use DOM based parsing and it may be that there is a bug in the default Base URI handling for DOM based parsing. Remove the lines that create the XmlDocument locally and instead try the following: p.Load(graph, new StringReader(data)); This will instead allow the library to use streaming parsing of the RDF/XML which may not exhibit the issue, if it does resolve the issue then please let us know as it would imply the presence of a bug in the DOM based parsing mode. Rob From: "Giblett, Ian" <ian...@ea...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Monday, 27 July 2015 13:50 To: dotNetRDF User Help and Support <dot...@li...> Subject: Re: [dotNetRDF-Support] Help Resolving Name Space issue Hi Rob. Thanks for your quick reply! I tried the URIloader, but it only returns to me an empty graph. Is the URILoader supposed to perform a web request on a URL or is it working exclusively with cached data? If it is doing a request over the web, I don’t see how it could work since I didn’t enter any header information, username or password. (the _webclient in my example takes care of all that. My reason for working with the xml was solely a means of retrieving the information from an HTTP Get before I work on the data. Regarding the BaseUri, I have tried setting the BaseUri property but it makes no difference, I get exactly the same result. Do you have any further suggestions? Kind Regards, Ian From: Rob Vesse [mailto:rv...@do...] Sent: 27 July 2015 12:08 To: dotNetRDF User Help and Support Subject: Re: [dotNetRDF-Support] Help Resolving Name Space issue Ian A default Base URI is only assigned to the target graph under certain circumstances, typically this is when you load the data explicitly through something like FileLoader or UriLoader where it knows something about where the data originates from. The parsers themselves simply use the Base URI of the input graph as the default Base URI assuming the graph comes with one. In your example you do not assign a URI to the graph so there is no default Base URI for the parser to use. Note that you can simplify your code to the following (assuming you don't need the XML elsewhere): Graph tripleGraph = new Graph(); UriLoader.Load(tripleGraph, new Uri(URL)); If you do need to keep the XML around simply assign the Base URI to the graph before you call the parser: tripleGraph.BaseUri = new Uri(URL); Hope this helps, Rob From: "Giblett, Ian" <ian...@ea...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Monday, 27 July 2015 11:27 To: <dot...@li...> Subject: [dotNetRDF-Support] Help Resolving Name Space issue Hello, I’m having trouble parsing some rdf that I’ve received from IBM Doors. (I’m trying to write an OSLC consumer application.) When I try to load my graph and xml into my RdfXmlParser I get an error message which says “Cannot resolve a Relative Namespace since there is no in-scope Base URI. Does anyone know what is going on here? I was under the impression that if no Base URI was present, a default one would be assigned. Since I am getting the xml straight from the tool, is there some parsing technique I can employ to get around this without having to modify the xml? (See attached for xml.) The code I’m using to parse is: String URL; Graph tripleGraph = new Graph(); var ServiceProvder_Response = _webClient.DownloadString(URL); XmlDocument ServiceProviderXML = new XmlDocument(); ServiceProviderXML.LoadXml(ServiceProvder_Response.ToString()); RdfXmlParser p = new RdfXmlParser(); p.Load(GraphOfFolders, ServiceProviderXML); //This line causes the error Kind Regards, Ian ------------------------------------------------------------------------------ _______________________________________________ dotNetRDF-Support mailing list dot...@li... https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support ------------------------------------------------------------------------------ _______________________________________________ dotNetRDF-Support mailing list dot...@li... https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Rob V. <rv...@do...> - 2015-07-27 13:30:45
|
Ian The fact that you need authentication was a fairly major thing to leave out, details do matter. The stack trace of the error would also be useful information. UriLoader only does simple HTTP GET requests so relies on the resource being accessible. There is some caching involved so it is possible that the cached copy could be empty. Caching should only happen if the request succeeds, unfortunately many poorly configured HTTP servers send back a regular HTML login page with a 200 OK rather than a proper HTTP 401 thus it appears as if the request succeeded when it did not. This means we can try and parse RDFa out of that HTML login page resulting in caching an empty graph for the URI which would explain the behaviour you describe. Are you sure you assigned the Base URI to the correct graph? Looking at your code snippet you define a Graph called triplesGraph but you parse into a different graph GraphOfFolders The other thing that may be causing the issue is that your code as it stands forces the library to use DOM based parsing and it may be that there is a bug in the default Base URI handling for DOM based parsing. Remove the lines that create the XmlDocument locally and instead try the following: p.Load(graph, new StringReader(data)); This will instead allow the library to use streaming parsing of the RDF/XML which may not exhibit the issue, if it does resolve the issue then please let us know as it would imply the presence of a bug in the DOM based parsing mode. Rob From: "Giblett, Ian" <ian...@ea...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Monday, 27 July 2015 13:50 To: dotNetRDF User Help and Support <dot...@li...> Subject: Re: [dotNetRDF-Support] Help Resolving Name Space issue > Hi Rob. Thanks for your quick reply! > > I tried the URIloader, but it only returns to me an empty graph. > Is the URILoader supposed to perform a web request on a URL or is it working > exclusively with cached data? > If it is doing a request over the web, I don’t see how it could work since I > didn’t enter any header information, username or password. > (the _webclient in my example takes care of all that. > My reason for working with the xml was solely a means of retrieving the > information from an HTTP Get before I work on the data. > > Regarding the BaseUri, I have tried setting the BaseUri property but it makes > no difference, I get exactly the same result. > Do you have any further suggestions? > > Kind Regards, > > Ian > > > > From: Rob Vesse [mailto:rv...@do...] > Sent: 27 July 2015 12:08 > To: dotNetRDF User Help and Support > Subject: Re: [dotNetRDF-Support] Help Resolving Name Space issue > > > Ian > > > > A default Base URI is only assigned to the target graph under certain > circumstances, typically this is when you load the data explicitly through > something like FileLoader or UriLoader where it knows something about where > the data originates from. The parsers themselves simply use the Base URI of > the input graph as the default Base URI assuming the graph comes with one. > > > > In your example you do not assign a URI to the graph so there is no default > Base URI for the parser to use. > > > > Note that you can simplify your code to the following (assuming you don't need > the XML elsewhere): > > > > Graph tripleGraph = new Graph(); > > UriLoader.Load(tripleGraph, new Uri(URL)); > > > > If you do need to keep the XML around simply assign the Base URI to the graph > before you call the parser: > > > > tripleGraph.BaseUri = new Uri(URL); > > > > Hope this helps, > > > > Rob > > > > From: "Giblett, Ian" <ian...@ea...> > Reply-To: dotNetRDF User Help and Support > <dot...@li...> > Date: Monday, 27 July 2015 11:27 > To: <dot...@li...> > Subject: [dotNetRDF-Support] Help Resolving Name Space issue > > >> >> Hello, >> >> I’m having trouble parsing some rdf that I’ve received from IBM Doors. >> (I’m trying to write an OSLC consumer application.) >> >> When I try to load my graph and xml into my RdfXmlParser I get an error >> message which says “Cannot resolve a Relative Namespace since there is no >> in-scope Base URI. Does anyone know what is going on here? >> I was under the impression that if no Base URI was present, a default one >> would be assigned. >> >> Since I am getting the xml straight from the tool, is there some parsing >> technique I can employ to get around this without having to modify the xml? >> (See attached for xml.) >> >> The code I’m using to parse is: >> >> String URL; >> Graph tripleGraph = new Graph(); >> >> var ServiceProvder_Response = _webClient.DownloadString(URL); >> >> XmlDocument ServiceProviderXML = new XmlDocument(); >> ServiceProviderXML.LoadXml(ServiceProvder_Response.ToString()); >> >> RdfXmlParser p = new RdfXmlParser(); >> p.Load(GraphOfFolders, ServiceProviderXML); //This line causes >> the error >> >> >> >> Kind Regards, >> >> Ian >> >> >> ----------------------------------------------------------------------------- >> - _______________________________________________ dotNetRDF-Support mailing >> list dot...@li... >> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Giblett, I. <ian...@ea...> - 2015-07-27 13:12:52
|
Hi Rob. Thanks for your quick reply! I tried the URIloader, but it only returns to me an empty graph. Is the URILoader supposed to perform a web request on a URL or is it working exclusively with cached data? If it is doing a request over the web, I don’t see how it could work since I didn’t enter any header information, username or password. (the _webclient in my example takes care of all that. My reason for working with the xml was solely a means of retrieving the information from an HTTP Get before I work on the data. Regarding the BaseUri, I have tried setting the BaseUri property but it makes no difference, I get exactly the same result. Do you have any further suggestions? Kind Regards, Ian From: Rob Vesse [mailto:rv...@do...] Sent: 27 July 2015 12:08 To: dotNetRDF User Help and Support Subject: Re: [dotNetRDF-Support] Help Resolving Name Space issue Ian A default Base URI is only assigned to the target graph under certain circumstances, typically this is when you load the data explicitly through something like FileLoader or UriLoader where it knows something about where the data originates from. The parsers themselves simply use the Base URI of the input graph as the default Base URI assuming the graph comes with one. In your example you do not assign a URI to the graph so there is no default Base URI for the parser to use. Note that you can simplify your code to the following (assuming you don't need the XML elsewhere): Graph tripleGraph = new Graph(); UriLoader.Load(tripleGraph, new Uri(URL)); If you do need to keep the XML around simply assign the Base URI to the graph before you call the parser: tripleGraph.BaseUri = new Uri(URL); Hope this helps, Rob From: "Giblett, Ian" <ian...@ea...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Monday, 27 July 2015 11:27 To: <dot...@li...> Subject: [dotNetRDF-Support] Help Resolving Name Space issue Hello, I’m having trouble parsing some rdf that I’ve received from IBM Doors. (I’m trying to write an OSLC consumer application.) When I try to load my graph and xml into my RdfXmlParser I get an error message which says “Cannot resolve a Relative Namespace since there is no in-scope Base URI. Does anyone know what is going on here? I was under the impression that if no Base URI was present, a default one would be assigned. Since I am getting the xml straight from the tool, is there some parsing technique I can employ to get around this without having to modify the xml? (See attached for xml.) The code I’m using to parse is: String URL; Graph tripleGraph = new Graph(); var ServiceProvder_Response = _webClient.DownloadString(URL); XmlDocument ServiceProviderXML = new XmlDocument(); ServiceProviderXML.LoadXml(ServiceProvder_Response.ToString()); RdfXmlParser p = new RdfXmlParser(); p.Load(GraphOfFolders, ServiceProviderXML); //This line causes the error Kind Regards, Ian ------------------------------------------------------------------------------ _______________________________________________ dotNetRDF-Support mailing list dot...@li... https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Rob V. <rv...@do...> - 2015-07-27 11:08:22
|
Ian A default Base URI is only assigned to the target graph under certain circumstances, typically this is when you load the data explicitly through something like FileLoader or UriLoader where it knows something about where the data originates from. The parsers themselves simply use the Base URI of the input graph as the default Base URI assuming the graph comes with one. In your example you do not assign a URI to the graph so there is no default Base URI for the parser to use. Note that you can simplify your code to the following (assuming you don't need the XML elsewhere): Graph tripleGraph = new Graph(); UriLoader.Load(tripleGraph, new Uri(URL)); If you do need to keep the XML around simply assign the Base URI to the graph before you call the parser: tripleGraph.BaseUri = new Uri(URL); Hope this helps, Rob From: "Giblett, Ian" <ian...@ea...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Monday, 27 July 2015 11:27 To: <dot...@li...> Subject: [dotNetRDF-Support] Help Resolving Name Space issue > Hello, > > I’m having trouble parsing some rdf that I’ve received from IBM Doors. > (I’m trying to write an OSLC consumer application.) > > When I try to load my graph and xml into my RdfXmlParser I get an error > message which says “Cannot resolve a Relative Namespace since there is no > in-scope Base URI. Does anyone know what is going on here? > I was under the impression that if no Base URI was present, a default one > would be assigned. > > Since I am getting the xml straight from the tool, is there some parsing > technique I can employ to get around this without having to modify the xml? > (See attached for xml.) > > The code I’m using to parse is: > > String URL; > Graph tripleGraph = new Graph(); > > var ServiceProvder_Response = _webClient.DownloadString(URL); > > XmlDocument ServiceProviderXML = new XmlDocument(); > ServiceProviderXML.LoadXml(ServiceProvder_Response.ToString()); > > RdfXmlParser p = new RdfXmlParser(); > p.Load(GraphOfFolders, ServiceProviderXML); //This line causes > the error > > > > Kind Regards, > > Ian > > > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Noble, A. (AS01) <Ash...@ho...> - 2015-06-24 05:52:04
|
Hi Rob, Thanks, when I get blocked by this in a few weeks I'll send a pull request (or equivalent) if that works for you. As an aside, I tried to register on the issue tracker site to leave a comment along those lines, but it didn't seem to register me. Not sure if register is working, or if it's just me. Cheers, Ash. -----Original Message----- Date: Mon, 15 Jun 2015 10:36:28 +0100 From: Rob Vesse <rv...@do...> Subject: Re: [dotNetRDF-Support] ReadWriteSparqlConnector OAuth authentication To: dotNetRDF User Help and Support <dot...@li...> Message-ID: <D1A458C9.4E42A%rv...@do...> Content-Type: text/plain; charset="utf-8" Ash Right now you can't easily do this. Assuming you can encapsulate the logic to do the OAuth authentication and get whatever tokens you need to add in the header then the best way to do this would be to extend both SparlRemoteEndpoint and SparlRemoteUpdateEndpoint. Both of these provide a protected ApplyRequestOptions(HttpWebRequest) method (which they inherit from the common base class BaseEndpoint) that you can override and modify the HttpWebRequest as needed. Unfortunately this is currently not virtual so can't be overridden so this approach won't work right now, I've filed CORE-448 [1] to track this request The other approach you could use (but would require significantly more effort) would be to create an IStorageProvider specifically for BlazeGraph so you would have full control over the HTTP requests being made but you'd have to implement a lot from scratch which I assume is what you are trying to avoid if at all possible Rob [1] http://dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=448 |
From: Rob V. <rv...@do...> - 2015-06-22 15:30:15
|
Without seeing any code we can only guess. Parsing does a fair bit of buffering so it is possible allocating lots of buffers is causing contention on the heap though I would be very surprised if this was the culprit. RDF/XML is generally speaking much more costly to parse than other RDF serialisations because it requires a lot of state to be tracked but again not so much that I'd expect it to be the source of the problem. For all formats we try and intern URIs to keep the memory footprint down which uses a globally shared data structure which does involve locking for thread-safety. It is possible that you are getting a lot of contention on that data structure especially if your graphs all use the same vocabularies. Try changing the following setting and running your application: Options.InternUris = false; If this does make a clear difference please let us know as that data structure used internally for interning comes from another external library and we'd need to report the bug upstream to that library for addressing there. Without seeing any code we can't really do anything further to investigate this. So if this doesn't solve the issue please provide a minimal test case that demonstrates the issue Rob From: Sebastien De Greef <se...@ho...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Saturday, 20 June 2015 21:49 To: "dot...@li..." <dot...@li...> Subject: [dotNetRDF-Support] Reader/Writer performance in multithreaded setup > Hi all, > > I'm writing an app that will act as a consolidator of Graphs. > I do receive the graphs as RdfXml to local files or in memory strings. > > Using a single thread I can achieve one file read or write within 1 or 2 > seconds per file (600kb/file approx.). > > Once I start to run 2/4 concurrent readers ( each with its own Graphs, Parser > and Files) the read time per file gets multiplied by 10. > > I can't understand where the 'contention' happends, I'm running this on Mono > and dotnetrdf version 1.0.8.3533 > Apparently I do have these issues at the write side too, but can't be sure as > the reading issue clutters the entire app for now. > > Any idea or options i should search for for tuning the read/write ops ? > > Thank you in advance. > Kind Regards > > > > > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Rob V. <rv...@do...> - 2015-06-22 15:14:41
|
Michael No such method exists in the library because a nodes value is a possibly complex and compound value. Really it depends what you want to do, if you need to specifically act upon the value somehow then generally speaking you do something like the following: switch (subject.NodeType) { case NodeType.Uri: Uri u = ((IUriNode)subject).Uri; // Act on the URI break; case NodeType.Literal: String value = ((ILiteralNode)subject).Value; // Act on the value break; // And so on } If you just need a textual value for display you can just call ToString() or if you want a slightly more standard textual representation you can use a INodeFormatter instead e.g. NTriplesNodeFormatter formatter = new NTriplesNodeFormatter(); String text = formatter.Format(subject); Hope this helps, Rob PS This is a subscription based list, your email was moderated through and your email CC'd on this reply this time. Please subscribe at https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support if you want to ask further questions From: "Yuqian (Michael) Lu" <yl...@au...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Wednesday, 17 June 2015 03:01 To: <dot...@li...> Subject: [dotNetRDF-Support] dotNetRDF how to get the value from a INode > Hi dotNetRDF Team, > > I am using dotNetRDF library to process my ontology in RDF/XML format. > > Following the tutorials on your website, I can easily get a triple from my > graph and further get the INode I am interested in. Then I would like to > retrieve the actual value from the resultant INode no matter it is actually a > UriNode or a LiteralNode. So I was wondering if there is some method in > dotNetRDF that I can use to extract the value from INode? > > Below is the code: > IUriNode rdfType = g.CreateUriNode("rdf:type"); > IUriNode projectType = g.CreateUriNode("ms:Project"); > IEnumerable<Triple> ts = g.GetTriplesWithPredicateObject(rdfType, > projectType); > foreach (var triple in ts) > { > //UriNode is in the format of [PrefixNamespaceURI]value. > //LiteralNode is in the format of > value^^[URIoftheBuiltinDataType] > INode subject = triple.Subject; > //Here I need some method to extract the value only > …………………………………… > } > > It would be much appreciated if you could provide some information on this. > > I am looking forward to hearing from you. > > Best regards, > > Michael > > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Sebastien De G. <se...@ho...> - 2015-06-20 20:49:35
|
Hi all, I'm writing an app that will act as a consolidator of Graphs.I do receive the graphs as RdfXml to local files or in memory strings. Using a single thread I can achieve one file read or write within 1 or 2 seconds per file (600kb/file approx.). Once I start to run 2/4 concurrent readers ( each with its own Graphs, Parser and Files) the read time per file gets multiplied by 10. I can't understand where the 'contention' happends, I'm running this on Mono and dotnetrdf version 1.0.8.3533Apparently I do have these issues at the write side too, but can't be sure as the reading issue clutters the entire app for now. Any idea or options i should search for for tuning the read/write ops ? Thank you in advance.Kind Regards |
From: Yuqian (M. L. <yl...@au...> - 2015-06-17 02:24:08
|
Hi dotNetRDF Team, I am using dotNetRDF library to process my ontology in RDF/XML format. Following the tutorials on your website, I can easily get a triple from my graph and further get the INode I am interested in. Then I would like to retrieve the actual value from the resultant INode no matter it is actually a UriNode or a LiteralNode. So I was wondering if there is some method in dotNetRDF that I can use to extract the value from INode? Below is the code: IUriNode rdfType = g.CreateUriNode("rdf:type"); IUriNode projectType = g.CreateUriNode("ms:Project"); IEnumerable<Triple> ts = g.GetTriplesWithPredicateObject(rdfType, projectType); foreach (var triple in ts) { * //UriNode is in the format of [PrefixNamespaceURI]value.* * //LiteralNode is in the format of value^^[URIoftheBuiltinDataType]* INode subject = triple.Subject; * //Here I need some method to extract the value only* * ……………………………………* } It would be much appreciated if you could provide some information on this. I am looking forward to hearing from you. Best regards, Michael |
From: Blerta G. <ble...@gm...> - 2015-06-16 12:46:37
|
Hi! I'm new to the DotNetRDF, and I have to create a SPARQL endpoint in C# but I don't know HOW? Can you help me please? Or can you send me some tutorials? On dotnetrdf.org I found some tutorials but they are too confused. -- Me respekt | Best regards Bsc.Eng. Blerta Grajçevci |
From: Rob V. <rv...@do...> - 2015-06-15 09:37:13
|
Ash Right now you can't easily do this. Assuming you can encapsulate the logic to do the OAuth authentication and get whatever tokens you need to add in the header then the best way to do this would be to extend both SparlRemoteEndpoint and SparlRemoteUpdateEndpoint. Both of these provide a protected ApplyRequestOptions(HttpWebRequest) method (which they inherit from the common base class BaseEndpoint) that you can override and modify the HttpWebRequest as needed. Unfortunately this is currently not virtual so can't be overridden so this approach won't work right now, I've filed CORE-448 [1] to track this request The other approach you could use (but would require significantly more effort) would be to create an IStorageProvider specifically for BlazeGraph so you would have full control over the HTTP requests being made but you'd have to implement a lot from scratch which I assume is what you are trying to avoid if at all possible Rob [1] http://dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=448 From: "Noble, Ashley (AS01)" <Ash...@ho...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Friday, 12 June 2015 06:36 To: "dot...@li..." <dot...@li...> Subject: [dotNetRDF-Support] ReadWriteSparqlConnector OAuth authentication > Hi All, > I’m trying to use the ReadWriteSparqlConnector to connect to a BlazeGraph > store that is authenticated with OAuth (Azure Active Directory). Generally > making OAuth calls I add an Authorization header to the request, but with the > SparqlRemoteEndpoint the only thing I can set is the NetworkCredential which > can’t handle OAuth. > > Is there any suggested way to be able to add a header to the rest calls that > ReadWriteSparqlConnector makes? > > Here is a working example of what I’m doing with Basic auth, but I need to > update it to talk OAuth: > > var networkCredential = > newNetworkCredential(_rdfServerConfig.UserName, _rdfServerConfig.Password); > var endpointUri = > newUri(string.Format("{0}/bigdata/namespace/{1}/sparql", > _rdfServerConfig.RdfServer,_rdfServerConfig.DefaultDb)); > var queryEndpoint = newSparqlRemoteEndpoint(endpointUri) { > Credentials = networkCredential }; > var updateEndpoint = newSparqlRemoteUpdateEndpoint(endpointUri) { > Credentials = networkCredential }; > VDS.RDF.Options.ForceHttpBasicAuth = true; > > returnnewReadWriteSparqlConnector(queryEndpoint, updateEndpoint); > > Cheers, > Ash. > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Rob V. <rv...@do...> - 2015-06-15 09:19:14
|
Ivan This sounds like a question for the BrightstarDB folks dotNetRDF can write to stores for which there is an appropriate writable IStorageProvider available. Providing one for BrightstarDB would be something the BrightstarDB folks would need to do. Also BrightstarDB may expose its own APIs that allow you to do this in some store specific way Rob From: Iván Palomares <iva...@gm...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Monday, 8 June 2015 10:33 To: <dot...@li...> Subject: [dotNetRDF-Support] Write onto native Brighstar triplestore > Dear all, > > from what I read and used in practice in dotnetRdf, I have been capable of > querying both local and remote triplestores from BrighstarDB, loading the > associated graphs onto my program to deal with it. > > However, I'm not sure about the other way round: I would like to upload a > graph or set of triples created by myself from mapping a relational DB, into > my BrighstarDB triplestore. Is this possible? does dotNetRdf actually support > writing in native queriable triplestores? The reading part is clearly > possible, but I couldn't completely figure out from the documentation whether > writing is really possible or not. > > thanks, > Iván > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Rob V. <rv...@do...> - 2015-06-15 09:14:23
|
Take a look at BrightstarDB which sounds like it would do what you want: http://brightstardb.com Rob From: manuel <man...@ho...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Friday, 5 June 2015 15:23 To: "dot...@li..." <dot...@li...> Subject: [dotNetRDF-Support] code generator for ontology > Dear all, > > do you know if there is any tool that, given an ontology (owl\rsf) as input, > create a set of C# files which represent the same object model of the ontology > and which store data into an rdf store on the basis of the library dotnetrdf? > Regards > Manuel > > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Noble, A. (AS01) <Ash...@ho...> - 2015-06-12 05:37:17
|
Hi All, I'm trying to use the ReadWriteSparqlConnector to connect to a BlazeGraph store that is authenticated with OAuth (Azure Active Directory). Generally making OAuth calls I add an Authorization header to the request, but with the SparqlRemoteEndpoint the only thing I can set is the NetworkCredential which can't handle OAuth. Is there any suggested way to be able to add a header to the rest calls that ReadWriteSparqlConnector makes? Here is a working example of what I'm doing with Basic auth, but I need to update it to talk OAuth: var networkCredential = new NetworkCredential(_rdfServerConfig.UserName, _rdfServerConfig.Password); var endpointUri = new Uri(string.Format("{0}/bigdata/namespace/{1}/sparql", _rdfServerConfig.RdfServer,_rdfServerConfig.DefaultDb)); var queryEndpoint = new SparqlRemoteEndpoint(endpointUri) { Credentials = networkCredential }; var updateEndpoint = new SparqlRemoteUpdateEndpoint(endpointUri) { Credentials = networkCredential }; VDS.RDF.Options.ForceHttpBasicAuth = true; return new ReadWriteSparqlConnector(queryEndpoint, updateEndpoint); Cheers, Ash. |
From: Николаенко <nik...@ki...> - 2015-06-09 08:44:59
|
Thanks for what you are doing. |
From: Iván P. <iva...@gm...> - 2015-06-08 09:33:37
|
Dear all, from what I read and used in practice in dotnetRdf, I have been capable of querying both local and remote triplestores from BrighstarDB, loading the associated graphs onto my program to deal with it. However, I'm not sure about the other way round: I would like to upload a graph or set of triples created by myself from mapping a relational DB, into my BrighstarDB triplestore. Is this possible? does dotNetRdf actually support writing in native queriable triplestores? The reading part is clearly possible, but I couldn't completely figure out from the documentation whether writing is really possible or not. thanks, Iván |
From: manuel <man...@ho...> - 2015-06-05 14:23:54
|
Dear all, do you know if there is any tool that, given an ontology (owl\rsf) as input, create a set of C# files which represent the same object model of the ontology and which store data into an rdf store on the basis of the library dotnetrdf? Regards Manuel |
From: Rajendra S. <raj...@ya...> - 2015-06-01 14:11:23
|
Hi Rob, Thanks for your response. I will look at the previous threads you sent me. -- Rajendra Singh On Monday, June 1, 2015 8:33 AM, Rob Vesse <rv...@do...> wrote: Rajendra I will point you to some previous threads on this: http://sourceforge.net/p/dotnetrdf/mailman/message/32563380/http://sourceforge.net/p/dotnetrdf/mailman/message/32848471/ Basically what these thread says is that no you cannot make dotNetRDF produce a particular RDF/XML output because we intentionally provide limited configurability over the compression options in order to prefer correctness. If you want to generate a particular RDF output then what you actually need to do is to construct an appropriate graph. For example to get a <cim:ACLineSegment> element rather than a <rdf:Description> element then your graph needs to contain appropriate rdf:type statements The focus for any RDF producing/consuming application should be what triples need to be expressed and not the serialisation (RDF/XML in your question) since that is irrelevant to the actual problem (and if it is relevant then your RDF system is IMO poorly designed) Rob From: Rajendra Singh <raj...@ya...> Reply-To: Rajendra Singh <raj...@ya...>, dotNetRDF User Help and Support <dot...@li...> Date: Friday, 29 May 2015 14:53 To: "dot...@li..." <dot...@li...> Subject: [dotNetRDF-Support] Some more examples please Hi Support Personnel, I am very new to using dotNetRDF and have read the user guide provided. I was looking for more examples as the user guide just has a HelloWorld example. Could you please provide me with more examples or send me a link to examples. I am looking for RDF Serialization of the following kind:<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2013/CIM-schema-cim16#" xmlns:entsoe="http://entsoe.eu/Secretariat/2013/ProfileExtension/3#" xmlns:md="http://iec.ch/TC57/61970-552/ModelDescription/1#"> <cim:ACLineSegment rdf:ID="_05b8bc87-9572-b819-9a7e-da38c51c67e9"> <cim:ACLineSegment.bch>9.22521e-005</cim:ACLineSegment.bch> <cim:ACLineSegment.gch>0</cim:ACLineSegment.gch> <cim:ACLineSegment.r>2.13202</cim:ACLineSegment.r> <cim:ACLineSegment.x>68.5707</cim:ACLineSegment.x> <cim:ConductingEquipment.BaseVoltage rdf:resource="#_1e505647-8161-652e-e505-01d6b51bcce1" /> <cim:Conductor.length>22</cim:Conductor.length> <cim:IdentifiedObject.name>N2X2</cim:IdentifiedObject.name> </cim:ACLineSegment> ... I don't know how to write the code to produce such RDF, all I get is of the form: <?xml version="1.0" encoding="utf-8"?><!DOCTYPE rdf:RDF [ <!ENTITY cim 'http://iec.ch/TC57/2013/CIM-schema-cim16#'> <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'> <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>]><rdf:RDF xml:base="http://www.example.org/" xmlns:cim="http://iec.ch/TC57/2013/CIM-schema-cim16#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="cim:AClineSegment"> <ns0:says xmlns:ns0="Hello">http://example.org/">Hello World</ns0:says> </rdf:Description>... How do I replace rdf:Description rdf:about=..., with more meaningful cim:ACLineSegment rdf:ID=... Any help would be much appreciated. -- Rajendra------------------------------------------------------------------------------_______________________________________________dotNetRDF-Support mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support ------------------------------------------------------------------------------ _______________________________________________ dotNetRDF-Support mailing list dot...@li... https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Rob V. <rv...@do...> - 2015-06-01 13:33:58
|
Rajendra I will point you to some previous threads on this: http://sourceforge.net/p/dotnetrdf/mailman/message/32563380/ http://sourceforge.net/p/dotnetrdf/mailman/message/32848471/ Basically what these thread says is that no you cannot make dotNetRDF produce a particular RDF/XML output because we intentionally provide limited configurability over the compression options in order to prefer correctness. If you want to generate a particular RDF output then what you actually need to do is to construct an appropriate graph. For example to get a <cim:ACLineSegment> element rather than a <rdf:Description> element then your graph needs to contain appropriate rdf:type statements The focus for any RDF producing/consuming application should be what triples need to be expressed and not the serialisation (RDF/XML in your question) since that is irrelevant to the actual problem (and if it is relevant then your RDF system is IMO poorly designed) Rob From: Rajendra Singh <raj...@ya...> Reply-To: Rajendra Singh <raj...@ya...>, dotNetRDF User Help and Support <dot...@li...> Date: Friday, 29 May 2015 14:53 To: "dot...@li..." <dot...@li...> Subject: [dotNetRDF-Support] Some more examples please > Hi Support Personnel, > > I am very new to using dotNetRDF and have read the user guide provided. I was > looking for more examples as the user guide just has a HelloWorld example. > Could you please provide me with more examples or send me a link to examples. > > I am looking for RDF Serialization of the following kind: > <?xml version="1.0" encoding="UTF-8"?> > <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > xmlns:cim="http://iec.ch/TC57/2013/CIM-schema-cim16#" > xmlns:entsoe="http://entsoe.eu/Secretariat/2013/ProfileExtension/3#" > xmlns:md="http://iec.ch/TC57/61970-552/ModelDescription/1#"> > > <cim:ACLineSegment rdf:ID="_05b8bc87-9572-b819-9a7e-da38c51c67e9"> > <cim:ACLineSegment.bch>9.22521e-005</cim:ACLineSegment.bch> > <cim:ACLineSegment.gch>0</cim:ACLineSegment.gch> > <cim:ACLineSegment.r>2.13202</cim:ACLineSegment.r> > <cim:ACLineSegment.x>68.5707</cim:ACLineSegment.x> > <cim:ConductingEquipment.BaseVoltage > rdf:resource="#_1e505647-8161-652e-e505-01d6b51bcce1" /> > <cim:Conductor.length>22</cim:Conductor.length> > <cim:IdentifiedObject.name>N2X2</cim:IdentifiedObject.name> > </cim:ACLineSegment> > ... > > > I don't know how to write the code to produce such RDF, all I get is of the > form: > > <?xml version="1.0" encoding="utf-8"?> > <!DOCTYPE rdf:RDF [ > <!ENTITY cim 'http://iec.ch/TC57/2013/CIM-schema-cim16#'> > <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> > <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'> > <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'> > ]> > <rdf:RDF xml:base="http://www.example.org/" > xmlns:cim="http://iec.ch/TC57/2013/CIM-schema-cim16#" > xmlns:xsd="http://www.w3.org/2001/XMLSchema#" > xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> > > <rdf:Description rdf:about="cim:AClineSegment"> > <ns0:says xmlns:ns0="http://example.org/">Hello World</ns0:says> > </rdf:Description> > ... > > > How do I replace rdf:Description rdf:about=..., with more meaningful > cim:ACLineSegment rdf:ID=... > > Any help would be much appreciated. > > -- > Rajendra > ------------------------------------------------------------------------------ > _______________________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |
From: Rajendra S. <raj...@ya...> - 2015-05-29 13:56:04
|
Hi Support Personnel, I am very new to using dotNetRDF and have read the user guide provided. I was looking for more examples as the user guide just has a HelloWorld example. Could you please provide me with more examples or send me a link to examples. I am looking for RDF Serialization of the following kind:<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2013/CIM-schema-cim16#" xmlns:entsoe="http://entsoe.eu/Secretariat/2013/ProfileExtension/3#" xmlns:md="http://iec.ch/TC57/61970-552/ModelDescription/1#"> <cim:ACLineSegment rdf:ID="_05b8bc87-9572-b819-9a7e-da38c51c67e9"> <cim:ACLineSegment.bch>9.22521e-005</cim:ACLineSegment.bch> <cim:ACLineSegment.gch>0</cim:ACLineSegment.gch> <cim:ACLineSegment.r>2.13202</cim:ACLineSegment.r> <cim:ACLineSegment.x>68.5707</cim:ACLineSegment.x> <cim:ConductingEquipment.BaseVoltage rdf:resource="#_1e505647-8161-652e-e505-01d6b51bcce1" /> <cim:Conductor.length>22</cim:Conductor.length> <cim:IdentifiedObject.name>N2X2</cim:IdentifiedObject.name> </cim:ACLineSegment> ... I don't know how to write the code to produce such RDF, all I get is of the form: <?xml version="1.0" encoding="utf-8"?><!DOCTYPE rdf:RDF [ <!ENTITY cim 'http://iec.ch/TC57/2013/CIM-schema-cim16#'> <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'> <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>]><rdf:RDF xml:base="http://www.example.org/" xmlns:cim="http://iec.ch/TC57/2013/CIM-schema-cim16#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="cim:AClineSegment"> <ns0:says xmlns:ns0="http://example.org/">Hello World</ns0:says> </rdf:Description>... How do I replace rdf:Description rdf:about=..., with more meaningful cim:ACLineSegment rdf:ID=... Any help would be much appreciated. -- Rajendra |
From: Rajendra S. <raj...@ya...> - 2015-05-08 15:15:05
|
Hello, I am very new to dotNetRdf. I would like to generate uuid for each resource on-the-fly in my code. So the RDF looks like: <cim:LineSegment rdf:ID="_05b8bc87-9572-b819-9a7e-da38c51c67e9"> <cim:LineSegment.bch>9.22521e-005</cim:LineSegment.bch> <cim:ConductingEquipment.BaseVoltage rdf:resource="#_1e505647-8161-652e-e505-01d6b51bcce1" /> </cim:LineSegment> <cim:LineSegment rdf:ID="_4914e998-45ca-3aa1-b737-1d1719c1dedb"> <cim:LineSegment.bch>2.59313e-005</cim:LineSegment.bch> <cim:ConductingEquipment.BaseVoltage rdf:resource="#_b9e6b7fd-abca-1ccf-1a79-55a4680b4a5c" /> </cim:LineSegment> Could you give me an example of how to create rdf:ID please. Thanks, -- Rajendra Singh |
From: Rob V. <rv...@do...> - 2015-04-09 13:30:28
|
Mark Comments inline: From: Mark D Wood <mar...@ko...> Reply-To: dotNetRDF User Help and Support <dot...@li...> Date: Thursday, 9 April 2015 14:04 To: "dot...@li..." <dot...@li...> Subject: [dotNetRDF-Support] SparqlQueryProcessor > I have the following SPARQL query which Apache Fuseki evaluates just fine, but > which dotNetRDF throws an exception in method ParseInternal in > SparqlQueryParser if I try to parse it locally. > > This query, borrowing from someone’s kind example > <http://stackoverflow.com/questions/11040274/custom-functions-in-sparql-with-t > he-jena-api> on Stack Overflow, computes an average and standard deviation > value using a Jena-specific built-in function. > > PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> > PREFIX sem: <http://ns.kodak.com/sem/1.0/> > PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> > > SELECT ( afn:sqrt( sum( (?fVal - ?ave) * (?fVal - ?ave) ) / (COUNT(?fv) - 1) > ) as ?stddev ) (avg(?fVal) as ?a) > FROM <urn:guid:mdw> > WHERE { > ?pic sem:MyPredicate ?fv . > BIND (xsd:float(?fv ) AS ?fVal) > { > SELECT (AVG(?fVal2) AS ?ave) (COUNT(?fVal2) as ?cnt) WHERE > { > ?pic sem:MyPredicate ?fvi . > BIND (xsd:float(?fvi ) AS ?fVal2) > } > } > } > > The SPARQL 1.1 specification does say in Section 1.1 > > In aggregate queries and sub-queries, variables that appear in the query > pattern, but are not in the GROUP BY clause, can only be projected or used in > select expressions if they are aggregated. The SAMPLE aggregate may be used > for this purpose. For details see the section on Projection Restrictions > <http://www.w3.org/TR/sparql11-query/#aggregateRestrictions> . No this query is valid SPARQL 1.1 our parser is just being overly strict. Since there is no GROUP BY there is an implicit group of all solutions so any result variable is legal > > so it would appear that Fuseki is supporting something here that goes beyond > the standard? (If so, it is a nice extension as otherwise I don’t know how > I’d compute a standard deviation.) No we're just being too strict in this case > > I believe the exception is generated in the following line of code: > > //Check that either there are no Aggregates used or > only Aggregates used > if > (SparqlSpecsHelper.IsSelectQuery(context.Query.QueryType) && > (context.Query.IsAggregate && context.Query.GroupBy == null && > context.Query.Variables.Any(v => v.IsResultVariable && !v.IsAggregate))) > { > thrownewRdfParseException("The Select Query is > invalid since it contains both Aggregates and Variables in the SELECT Clause > but it does not contain a GROUP BY clause"); > } > > Is there a way to get dotNetRDF to pass this query along to Fuseki? I am > using SparqlConnector.Query. Yes: connector.SkipLocalParsing = true; Rob > > Thanks, > -Mark > > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own > process in accordance with the BPMN 2 standard Learn Process modeling best > practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF________ > _______________________________________ dotNetRDF-Support mailing list > dot...@li... > https://lists.sourceforge.net/lists/listinfo/dotnetrdf-support |