Hi Dennis,

Unfortunately one of the much discussed topics about SPARQL endpoints is how
it might be possible to authenticate users so they can query over all the
RDF they are permitted to access.  RDF data is commonly added to
triplestores that back SPARQL endpoints as graphs, (individual RDF files).
In the case of myExperiment, these graphs would be sufficiently atomic that
each user would have permission to access an exact subset of these graphs.
SPARQL provides a facility to only query over specific graphs but I don't
think anyone has ever tested this with a subset of graphs as large (i.e. in
the thousands) as would be required here.  If this was possible I would
still be nervous that users may have access to RDF data they are not
permitted to see, until I had performed significant testing.  

A simpler and more robust solution would be to provide users with a service
that would allow they to download all the myExperiment RDF they were
permitted to access (zipped this would be quite small) that they could then
manage their own SPARQL endpoint.  This would have the disadvantage of
requiring a script on a cron job to regularly update their triplestore.  It
might be possible for myExperiment to provide a trial service that would
allow users to request their up-to-date RDF subset be put in a
myExperiment-hosted triplestore that they could they query through a SPARQL
endpoint only they can access.  I will give this some further thought.

Regards

David Newman


-----Original Message-----
From: Dennis Neumann [mailto:[email protected]] 
Sent: 20 July 2010 11:19
To: List for general discussion and hacking of the Taverna project
Subject: Re: [Taverna-hackers] MyExperiment workflow ID

Hi, and thanks for your answers!

I got it to work now, but only for public workflows. For the non-rdf API, I
would use preemptive authentication like this to get a private workflow:

                String urlString =
"http://www.myexperiment.org/workflows.xml?id=12345";;
                HttpClient client = new HttpClient();

                client.getParams().setAuthenticationPreemptive(true);
                client.getState().setCredentials(
                                new AuthScope("www.myexperiment.org", 80),
                                new UsernamePasswordCredentials("user",
"password"));

                GetMethod get = new GetMethod(urlString);
                get.setDoAuthentication(true);
                        
                client.executeMethod(get);


I tried a similar thing for the rdf API, but it doesn't work. I get an empty
xml result if the workflow requires authentication. So, the uri from David:

http://rdf.myexperiment.org/sparql?query=PREFIX+mecontrib%3A+%3Chttp%3A%
2F%2Frdf.myexperiment.org%2Fontologies%2Fcontributions%2F%3E%0D%0APREFIX
+rdf%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%
0D%0APREFIX+mecomp%3A+%3Chttp%3A%2F%2Frdf.myexperiment.org%2Fontologies%
2Fcomponents%2F%3E%0D%0APREFIX+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%
2Fterms%2F%3E%0D%0ASELECT+%3Fworkflow%0D%0AWHERE+%7B+%0D%0A++%3Fdataflow
+dcterms%3Aidentifier+%3Fidentifier+.%0D%0A++%3Fworkflow+mecomp%
3Aexecutes-dataflow+%3Fdataflow+%3B%0D%0A++++rdf%3Atype+mecontrib%
3AWorkflow%0D%0A++FILTER+regex%28%3Fidentifier%2C%
273bd356a4-fc82-4ec8-8fcb-5960f40b2e8f%27%29%0D%0A%7D

works fine, but if I replace the id with one of my own, then it doesn't find
the workflow.
So the question is: Can I use the rdf API to retrieve an id of a private
workflow?

Regards,
Dennis




----------------------------------------------------------------------------
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
taverna-hackers mailing list
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/
Developers Guide: http://www.taverna.org.uk/developers/


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
taverna-hackers mailing list
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/
Developers Guide: http://www.taverna.org.uk/developers/

Reply via email to