W3C home > Mailing lists > Public > public-lod@w3.org > January 2010

Re: PHP RDF fetching code

From: Nathan <nathan@webr3.org>
Date: Mon, 25 Jan 2010 22:35:42 +0000
Message-ID: <4B5E1CBE.3020506@webr3.org>
To: Hugh Glaser <hg@ecs.soton.ac.uk>
CC: Mischa Tuffield <mmt04r@ecs.soton.ac.uk>, "public-lod@w3.org" <public-lod@w3.org>
Hi Hugh,

Been meaning to knock up a proper class for this for ages; here's one I
just made that should do the trick for you; supports GET & POST + params
+ any headers you like (attached w/ example). Will flesh it out a bit
and create an open source documented class in the near future.

Hope it's of some use.

Many Regards,

Nathan

ps: I've been doing masses of RDF + SPARQL w/ PHP so if you get stuck
with anything give me a shout for pointers :) happy to help.

Hugh Glaser wrote:
> Thanks mate.
> 
> On 25/01/2010 20:01, "Mischa Tuffield" <mmt04r@ecs.soton.ac.uk> wrote:
> 
>> Hi Hugh, 
>>
>> The code you posted seems sane to me. It is very similar to the php we use to
>> make sparql-queries. My only comment being that you probably want to have a
>> line which closes curl connection after you have used it.
>>
>> something like : 
>>
>> <!--
>> curl_close($ch);
>> -->
>>
>> You could also set a User Agent, to identify your self to the website's you
>> are fetching RDF from, you would do it like so :
>>
>> <!--
>> curl_setopt($ch, CURLOPT_USERAGENT, "hugh's crawler 0.1");
>> -->
>>
>> I hope this helps,
>>
>> Mischa
>>
>> On 25 Jan 2010, at 18:10, Hugh Glaser wrote:
>>
>>> OK, herešs some fun for you...
>>> (Excuse me if it has been discussed before, and just point me at it :-) )
>>>
>>>
>>> Having struggled through the php manual for cURL, I have come up with the
>>> following draft for getting an RDF document, given a URI.
>>>
>>>                        $ch = curl_init();
>>>                        curl_setopt($ch, CURLOPT_URL, $_REQUEST['uri']);
>>>                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
>>>                        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
>>>                        curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept:
>>> application/rdf+xml, text/n3, text/rdf+n3, text/turtle, application/x-turtle,
>>> application/turtle, text/plain"));
>>>                        $data = curl_exec($ch);
>>>                        $info = curl_getinfo($ch);
>>>
>>>                        if ($data === FALSE || $info['http_code'] != 200) {
>>>
>>> What does anyone think?
>>> Išm sure there are a bunch of improvements/corrections.
>>>
>>> As a (hopefully) separate issue, the MIME types will probably generate some
>>> discussion, but it is the PHP I am primarily asking about at the moment.
>>>
>>> Best
>>> Hugh
>>>
>> _________________________________
>> Mischa Tuffield
>> ECS - http://www.ecs.soton.ac.uk/
>> Homepage - http://users.ecs.soton.ac.uk/mmt04r/
>> Identity - http://id.ecs.soton.ac.uk/person/6914
>> WebID - http://mmt.me.uk/foaf.rdf#mischa
>>
>>
>>
>>
>>
> 
> 
> 
> 



Received on Monday, 25 January 2010 22:37:08 UTC

This archive was generated by hypermail 2.3.1 : Sunday, 31 March 2013 14:24:24 UTC