Content Negotiation and HTTP 303 Redirect Code Samples

View: New views
12 Messages — Rating Filter:   Alert me  

Content Negotiation and HTTP 303 Redirect Code Samples

by Juan Sequeda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Everybody,

In a recent thread there was a lot of discussion of how the content negotiation through .htaccess can be complicated. Several people started to send their solutions to this problem through PHP and Python scripts. I believe that these solutions are a very important resource for the whole LOD community. Hence, Tom and I have set up a section on linkeddata.org on Content Negotiation:

http://linkeddata.org/conneg-303-redirect-code-samples

Currently we have examples in PHP and Python. There is a RoR script on the way too! If anybody else has any other code examples of how to do Content Negotiation, please let me know so we can add your link on the website!

Thanks to everybody who has contributed!

Juan Sequeda, Ph.D Student
Dept. of Computer Sciences
The University of Texas at Austin
www.juansequeda.com
www.semanticwebaustin.org

Re: Content Negotiation and HTTP 303 Redirect Code Samples

by kidehen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Juan Sequeda wrote:

> Hi Everybody,
>
> In a recent thread there was a lot of discussion of how the content
> negotiation through .htaccess can be complicated. Several people
> started to send their solutions to this problem through PHP and Python
> scripts. I believe that these solutions are a very important resource
> for the whole LOD community. Hence, Tom and I have set up a section on
> linkeddata.org <http://linkeddata.org> on Content Negotiation:
>
> http://linkeddata.org/conneg-303-redirect-code-samples
>
> Currently we have examples in PHP and Python. There is a RoR script on
> the way too! If anybody else has any other code examples of how to do
> Content Negotiation, please let me know so we can add your link on the
> website!
>
> Thanks to everybody who has contributed!
>
> Juan Sequeda, Ph.D Student
> Dept. of Computer Sciences
> The University of Texas at Austin
> www.juansequeda.com <http://www.juansequeda.com>
> www.semanticwebaustin.org <http://www.semanticwebaustin.org>
Juan / Tom,

Nice addition.

Please make this an entry under "Guides & Tutorials". Otherwise, add a
"How-To" section.

Also, do clearly express that this is about "Linked Data Deployment"
using Apache.

Tom: I would also suggest inserting some RDFa into these pages i.e.
enhance the page metadata.

--


Regards,

Kingsley Idehen      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO
OpenLink Software     Web: http://www.openlinksw.com






Re: Content Negotiation and HTTP 303 Redirect Code Samples

by David Booth-6 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If you want to implement your own 303-redirect service, the full code
that is used to implement http://thing-described-by.org/ and
http://t-d-b.org/ can be viewed here:
http://thing-described-by.org/?showfile=.

David Booth

On Mon, 2009-07-06 at 15:58 +0200, Juan Sequeda wrote:

> Hi Everybody,
>
> In a recent thread there was a lot of discussion of how the content
> negotiation through .htaccess can be complicated. Several people
> started to send their solutions to this problem through PHP and Python
> scripts. I believe that these solutions are a very important resource
> for the whole LOD community. Hence, Tom and I have set up a section on
> linkeddata.org on Content Negotiation:
>
> http://linkeddata.org/conneg-303-redirect-code-samples
>
> Currently we have examples in PHP and Python. There is a RoR script on
> the way too! If anybody else has any other code examples of how to do
> Content Negotiation, please let me know so we can add your link on the
> website!
>
> Thanks to everybody who has contributed!
>
> Juan Sequeda, Ph.D Student
> Dept. of Computer Sciences
> The University of Texas at Austin
> www.juansequeda.com
> www.semanticwebaustin.org
--
David Booth, Ph.D.
Cleveland Clinic (contractor)

Opinions expressed herein are those of the author and do not necessarily
reflect those of Cleveland Clinic.



Re: Content Negotiation and HTTP 303 Redirect Code Samples

by Tom Heath :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Great work Juan, thanks. The community owes you a beer or ten :)

2009/7/6 Kingsley Idehen <kidehen@...>:

> Juan Sequeda wrote:
>>
>> Hi Everybody,
>>
>> In a recent thread there was a lot of discussion of how the content
>> negotiation through .htaccess can be complicated. Several people started to
>> send their solutions to this problem through PHP and Python scripts. I
>> believe that these solutions are a very important resource for the whole LOD
>> community. Hence, Tom and I have set up a section on linkeddata.org
>> <http://linkeddata.org> on Content Negotiation:
>>
>> http://linkeddata.org/conneg-303-redirect-code-samples
>>
>> Currently we have examples in PHP and Python. There is a RoR script on the
>> way too! If anybody else has any other code examples of how to do Content
>> Negotiation, please let me know so we can add your link on the website!
>>
>> Thanks to everybody who has contributed!
>>
>> Juan Sequeda, Ph.D Student
>> Dept. of Computer Sciences
>> The University of Texas at Austin
>> www.juansequeda.com <http://www.juansequeda.com>
>> www.semanticwebaustin.org <http://www.semanticwebaustin.org>
>
> Juan / Tom,

Hi Kingsley,

> Nice addition.

Thanks. Juan did the work, I just greased the wheels :)

> Please make this an entry under "Guides & Tutorials". Otherwise, add a
> "How-To" section.

If someone wants to write a language-neutral guide to using these code
snippets that would be great, and would make a good entry in the
Guides and Tutorials section. Until then I'll leave the code samples
under Tools, as putting them under Guides without the guide bit would
probably only make the situation worse.

> Also, do clearly express that this is about "Linked Data Deployment" using Apache.

Is this actually the case? I would assume that the majority of the
code is reusable as-is on other web servers that support the language
in question, with just a small amount of porting required to adapt the
.htaccess specifics.

> Tom: I would also suggest inserting some RDFa into these pages i.e. enhance the page metadata.

Yes, this would be good. I'll find a moment to explore the RDF modules
for Drupal and take appropriate actions.

Regards,

Tom.


Re: Content Negotiation and HTTP 303 Redirect Code Samples

by kidehen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tom Heath wrote:

> Great work Juan, thanks. The community owes you a beer or ten :)
>
> 2009/7/6 Kingsley Idehen <kidehen@...>:
>  
>> Juan Sequeda wrote:
>>    
>>> Hi Everybody,
>>>
>>> In a recent thread there was a lot of discussion of how the content
>>> negotiation through .htaccess can be complicated. Several people started to
>>> send their solutions to this problem through PHP and Python scripts. I
>>> believe that these solutions are a very important resource for the whole LOD
>>> community. Hence, Tom and I have set up a section on linkeddata.org
>>> <http://linkeddata.org> on Content Negotiation:
>>>
>>> http://linkeddata.org/conneg-303-redirect-code-samples
>>>
>>> Currently we have examples in PHP and Python. There is a RoR script on the
>>> way too! If anybody else has any other code examples of how to do Content
>>> Negotiation, please let me know so we can add your link on the website!
>>>
>>> Thanks to everybody who has contributed!
>>>
>>> Juan Sequeda, Ph.D Student
>>> Dept. of Computer Sciences
>>> The University of Texas at Austin
>>> www.juansequeda.com <http://www.juansequeda.com>
>>> www.semanticwebaustin.org <http://www.semanticwebaustin.org>
>>>      
>> Juan / Tom,
>>    
>
> Hi Kingsley,
>
>  
>> Nice addition.
>>    
>
> Thanks. Juan did the work, I just greased the wheels :)
>
>  
>> Please make this an entry under "Guides & Tutorials". Otherwise, add a
>> "How-To" section.
>>    
>
> If someone wants to write a language-neutral guide to using these code
> snippets that would be great, and would make a good entry in the
> Guides and Tutorials section. Until then I'll leave the code samples
> under Tools, as putting them under Guides without the guide bit would
> probably only make the situation worse.
>
>  
Okay, lets try: Linked Data Deployment utlilities or scripts.

We are both seeking clarity.

Inadvertently conflating PHP scripts, Apache etc.. with the generic
concept of "Linked Data Deployment" simply doesn't solve anything, really.
>> Also, do clearly express that this is about "Linked Data Deployment" using Apache.
>>    
>
> Is this actually the case? I would assume that the majority of the
> code is reusable as-is on other web servers that support the language
> in question, with just a small amount of porting required to adapt the
> .htaccess specifics.
>  
As you've stated: "..with just a small amount of porting required to
adapt the .htaccess specifics." which implies inadvertent conflation.

Since these scripts are fundamentally about dealing with ".htaccess"
simply make this crystal clear.
>  
>> Tom: I would also suggest inserting some RDFa into these pages i.e. enhance the page metadata.
>>    
>
> Yes, this would be good. I'll find a moment to explore the RDF modules
> for Drupal and take appropriate actions.
>  

Okay, assuming you can't do this by hand short-term.
> Regards,
>
> Tom.
>
>  


--


Regards,

Kingsley Idehen      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO
OpenLink Software     Web: http://www.openlinksw.com






Re: Content Negotiation and HTTP 303 Redirect Code Samples

by Tom Heath :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Kingsley,

2009/7/6 Kingsley Idehen <kidehen@...>:

> Tom Heath wrote:
>>
>> Great work Juan, thanks. The community owes you a beer or ten :)
>>
>> 2009/7/6 Kingsley Idehen <kidehen@...>:
>>
>>>
>>> Juan Sequeda wrote:
>>>
>>>>
>>>> Hi Everybody,
>>>>
>>>> In a recent thread there was a lot of discussion of how the content
>>>> negotiation through .htaccess can be complicated. Several people started
>>>> to
>>>> send their solutions to this problem through PHP and Python scripts. I
>>>> believe that these solutions are a very important resource for the whole
>>>> LOD
>>>> community. Hence, Tom and I have set up a section on linkeddata.org
>>>> <http://linkeddata.org> on Content Negotiation:
>>>>
>>>> http://linkeddata.org/conneg-303-redirect-code-samples
>>>>
>>>> Currently we have examples in PHP and Python. There is a RoR script on
>>>> the
>>>> way too! If anybody else has any other code examples of how to do
>>>> Content
>>>> Negotiation, please let me know so we can add your link on the website!
>>>>
>>>> Thanks to everybody who has contributed!
>>>>
>>>> Juan Sequeda, Ph.D Student
>>>> Dept. of Computer Sciences
>>>> The University of Texas at Austin
>>>> www.juansequeda.com <http://www.juansequeda.com>
>>>> www.semanticwebaustin.org <http://www.semanticwebaustin.org>
>>>>
>>>
>>> Juan / Tom,
>>>
>>
>> Hi Kingsley,
>>
>>
>>>
>>> Nice addition.
>>>
>>
>> Thanks. Juan did the work, I just greased the wheels :)
>>
>>
>>>
>>> Please make this an entry under "Guides & Tutorials". Otherwise, add a
>>> "How-To" section.
>>>
>>
>> If someone wants to write a language-neutral guide to using these code
>> snippets that would be great, and would make a good entry in the
>> Guides and Tutorials section. Until then I'll leave the code samples
>> under Tools, as putting them under Guides without the guide bit would
>> probably only make the situation worse.
>>
>>
>
> Okay, lets try: Linked Data Deployment utlilities or scripts.
>
> We are both seeking clarity.

No argument there! :)

The line above ("Linked Data Deployment utlilities or scripts"), is
this a suggestion for a new name for the
"conneg-303-redirect-code-samples" node?
If so then I think this fails the Ronseal [a] test. If could just as
easily refer to a shell script to post static file to a Web server.
Lets keep things specific for now. Either way, I'm not sure
"information architecture by mailing list" is fair on other list
members.

[1] http://en.wikipedia.org/wiki/Does_exactly_what_it_says_on_the_tin

> Inadvertently conflating PHP scripts, Apache etc.. with the generic concept
> of "Linked Data Deployment" simply doesn't solve anything, really.
>>>
>>> Also, do clearly express that this is about "Linked Data Deployment"
>>> using Apache.
>>>
>>
>> Is this actually the case? I would assume that the majority of the
>> code is reusable as-is on other web servers that support the language
>> in question, with just a small amount of porting required to adapt the
>> .htaccess specifics.
>>
> As you've stated: "..with just a small amount of porting required to adapt
> the .htaccess specifics." which implies inadvertent conflation.

I don't understand what the beef is here. Surely a note to the effect
that "some code samples describe deployment in an Apache environment
but may be applicable to other Web servers" would be adequate.

> Since these scripts are fundamentally about dealing with ".htaccess" simply
> make this crystal clear.

Fundamentally these scripts are dealing with content negotiation and
HTTP redirects. The thread may have emerged in response to .htaccess
recipes, but the principles are largely generic.

>>> Tom: I would also suggest inserting some RDFa into these pages i.e.
>>> enhance the page metadata.
>>>
>>
>> Yes, this would be good. I'll find a moment to explore the RDF modules
>> for Drupal and take appropriate actions.
>>
>
> Okay, assuming you can't do this by hand short-term.

Afraid not, got far too much on to start hacking this by hand.

Cheers,

Tom.


Re: Content Negotiation and HTTP 303 Redirect Code Samples

by Juan Sequeda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



>
> Okay, assuming you can't do this by hand short-term.

Afraid not, got far too much on to start hacking this by hand.

I could do this, however, what vocabularies should be used?


Cheers,

Tom.


Re: Content Negotiation and HTTP 303 Redirect Code Samples

by kidehen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

David Booth wrote:
> If you want to implement your own 303-redirect service, the full code
> that is used to implement http://thing-described-by.org/ and
> http://t-d-b.org/ can be viewed here:
> http://thing-described-by.org/?showfile=.
>  
David,

In a sense we are now clearly unveiling a functional partition within
the general scope of Linked Data Deployment i.e.,  the disambiguation of
a Resource URI and the URI of its Metadata doc is distinct from the
deployment of HTTP URIs published in line with the Linked Data meme.

Personally, I find the above extremely important re. overall Linked Data
meme comprehension.

Juan/Tom: I assume Davids service will be added to an appropriate
location within the <http://linkeddata.org> data space ?

All:

As you can see we can sanely describe the Linked Data meme without
wandering down the information resource and non information resource
comprehension cul-de-sac. Ditto examples that inaccurately use "Document
vs Real World Things" anecdotes,  when documents are themselves "Things"
worthy of description via associated metadata.

Metadata has been with us for eons, so lets use it to bring brevity and
broad comprehension to our messaging.

FWIW - binding Metadata docs to their subjects via HTTP  URIs is
basically what the Linked Data meme fundamentally addresses in a novel way.

Kingsley

> David Booth
>
> On Mon, 2009-07-06 at 15:58 +0200, Juan Sequeda wrote:
>  
>> Hi Everybody,
>>
>> In a recent thread there was a lot of discussion of how the content
>> negotiation through .htaccess can be complicated. Several people
>> started to send their solutions to this problem through PHP and Python
>> scripts. I believe that these solutions are a very important resource
>> for the whole LOD community. Hence, Tom and I have set up a section on
>> linkeddata.org on Content Negotiation:
>>
>> http://linkeddata.org/conneg-303-redirect-code-samples
>>
>> Currently we have examples in PHP and Python. There is a RoR script on
>> the way too! If anybody else has any other code examples of how to do
>> Content Negotiation, please let me know so we can add your link on the
>> website!
>>
>> Thanks to everybody who has contributed!
>>
>> Juan Sequeda, Ph.D Student
>> Dept. of Computer Sciences
>> The University of Texas at Austin
>> www.juansequeda.com
>> www.semanticwebaustin.org
>>    


--


Regards,

Kingsley Idehen      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO
OpenLink Software     Web: http://www.openlinksw.com






Re: Content Negotiation and HTTP 303 Redirect Code Samples

by kidehen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tom Heath wrote:

> Hi Kingsley,
>
> 2009/7/6 Kingsley Idehen <kidehen@...>:
>  
>> Tom Heath wrote:
>>    
>>> Great work Juan, thanks. The community owes you a beer or ten :)
>>>
>>> 2009/7/6 Kingsley Idehen <kidehen@...>:
>>>
>>>      
>>>> Juan Sequeda wrote:
>>>>
>>>>        
>>>>> Hi Everybody,
>>>>>
>>>>> In a recent thread there was a lot of discussion of how the content
>>>>> negotiation through .htaccess can be complicated. Several people started
>>>>> to
>>>>> send their solutions to this problem through PHP and Python scripts. I
>>>>> believe that these solutions are a very important resource for the whole
>>>>> LOD
>>>>> community. Hence, Tom and I have set up a section on linkeddata.org
>>>>> <http://linkeddata.org> on Content Negotiation:
>>>>>
>>>>> http://linkeddata.org/conneg-303-redirect-code-samples
>>>>>
>>>>> Currently we have examples in PHP and Python. There is a RoR script on
>>>>> the
>>>>> way too! If anybody else has any other code examples of how to do
>>>>> Content
>>>>> Negotiation, please let me know so we can add your link on the website!
>>>>>
>>>>> Thanks to everybody who has contributed!
>>>>>
>>>>> Juan Sequeda, Ph.D Student
>>>>> Dept. of Computer Sciences
>>>>> The University of Texas at Austin
>>>>> www.juansequeda.com <http://www.juansequeda.com>
>>>>> www.semanticwebaustin.org <http://www.semanticwebaustin.org>
>>>>>
>>>>>          
>>>> Juan / Tom,
>>>>
>>>>        
>>> Hi Kingsley,
>>>
>>>
>>>      
>>>> Nice addition.
>>>>
>>>>        
>>> Thanks. Juan did the work, I just greased the wheels :)
>>>
>>>
>>>      
>>>> Please make this an entry under "Guides & Tutorials". Otherwise, add a
>>>> "How-To" section.
>>>>
>>>>        
>>> If someone wants to write a language-neutral guide to using these code
>>> snippets that would be great, and would make a good entry in the
>>> Guides and Tutorials section. Until then I'll leave the code samples
>>> under Tools, as putting them under Guides without the guide bit would
>>> probably only make the situation worse.
>>>
>>>
>>>      
>> Okay, lets try: Linked Data Deployment utlilities or scripts.
>>
>> We are both seeking clarity.
>>    
>
> No argument there! :)
>
> The line above ("Linked Data Deployment utlilities or scripts"), is
> this a suggestion for a new name for the
> "conneg-303-redirect-code-samples" node?
>  
> If so then I think this fails the Ronseal [a] test. If could just as
> easily refer to a shell script to post static file to a Web server.
> Lets keep things specific for now. Either way, I'm not sure
> "information architecture by mailing list" is fair on other list
> members.
>
> [1] http://en.wikipedia.org/wiki/Does_exactly_what_it_says_on_the_tin
>  
Tom,

I don't really want to open up a can of worms here, but are you saying
that <http://linkeddata.org> in general actually passes the
aforementioned test?

At the end of the day, you own the domain, so you can apply what ever
subjectivity you desire. In actual fact, here is a classic example of
what the "Linked Data meme" fundamentally addresses: the ability to deal
with the subjectivity inherent to all information produced by humans.

Here is what I've set up on <http://del.icio.us/kidehen> which is just
another data space on the Web that is easily RDFized etc:

1. http://delicious.com/kidehen/linked_data_utils - bookmarks that
address what I seek re. clarity based on my "world view"


Kingsley

>  
>> Inadvertently conflating PHP scripts, Apache etc.. with the generic concept
>> of "Linked Data Deployment" simply doesn't solve anything, really.
>>    
>>>> Also, do clearly express that this is about "Linked Data Deployment"
>>>> using Apache.
>>>>
>>>>        
>>> Is this actually the case? I would assume that the majority of the
>>> code is reusable as-is on other web servers that support the language
>>> in question, with just a small amount of porting required to adapt the
>>> .htaccess specifics.
>>>
>>>      
>> As you've stated: "..with just a small amount of porting required to adapt
>> the .htaccess specifics." which implies inadvertent conflation.
>>    
>
> I don't understand what the beef is here. Surely a note to the effect
> that "some code samples describe deployment in an Apache environment
> but may be applicable to other Web servers" would be adequate.
>
>  
>> Since these scripts are fundamentally about dealing with ".htaccess" simply
>> make this crystal clear.
>>    
>
> Fundamentally these scripts are dealing with content negotiation and
> HTTP redirects. The thread may have emerged in response to .htaccess
> recipes, but the principles are largely generic.
>
>  
>>>> Tom: I would also suggest inserting some RDFa into these pages i.e.
>>>> enhance the page metadata.
>>>>
>>>>        
>>> Yes, this would be good. I'll find a moment to explore the RDF modules
>>> for Drupal and take appropriate actions.
>>>
>>>      
>> Okay, assuming you can't do this by hand short-term.
>>    
>
> Afraid not, got far too much on to start hacking this by hand.
>
> Cheers,
>
> Tom.
>
>  


--


Regards,

Kingsley Idehen      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO
OpenLink Software     Web: http://www.openlinksw.com






Re: Content Negotiation and HTTP 303 Redirect Code Samples

by kidehen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Juan Sequeda wrote:

>
>
>     >
>     > Okay, assuming you can't do this by hand short-term.
>
>     Afraid not, got far too much on to start hacking this by hand.
>
>
> I could do this, however, what vocabularies should be used?
>
>
>
>     Cheers,
>
>     Tom.
>
>
Most basic step would be to tag things using Common Tags vocabulary i.e.
literal tags to URI mappings. Basically a two-fer since you get a
CommonTags and RDFa usecase demo all in one.

--


Regards,

Kingsley Idehen      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO
OpenLink Software     Web: http://www.openlinksw.com






Contd: Content Negotiation and HTTP 303 Redirect Code Samples

by kidehen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tom Heath wrote:
> Hi Kingsley,
>
> [SNIP]
>  
<<
I don't understand what the beef is here. Surely a note to the effect
that "some code samples describe deployment in an Apache environment
but may be applicable to other Web servers" would be adequate.
>>

No beef, just clarity pursuit. As stated in my response to David Booth, we are partitioning the disambiguation component of Linked Data deployment i.e. separating this function from the actual server that publishes the Linked Data.

Thus, "applicable to other Web Servers" is fine, but try to associate this with the likes of Pubby and Virtuoso which also offer similar capabilities to Document Web Servers.

> > Since these scripts are fundamentally about dealing with ".htaccess" simply
> > make this crystal clear.
>  

<<
Fundamentally these scripts are dealing with content negotiation and
HTTP redirects. The thread may have emerged in response to .htaccess
recipes, but the principles are largely generic.

>>

See my comment above re. the functional separation. Also note, "303 redirection" is the mechanism for disambiguating between Resource Identifier and Resource Metadata via a single generic HTTP URI that is slash terminated.

The sooner we demote "303 redirection" to the "mechanics and detail aspect" of the Linked Data meme, the better.


--


Regards,

Kingsley Idehen      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO
OpenLink Software     Web: http://www.openlinksw.com






Re: Content Negotiation and HTTP 303 Redirect Code Samples

by PeterAnsell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/7/6 Juan Sequeda <juanfederico@...>:

> Hi Everybody,
>
> In a recent thread there was a lot of discussion of how the content
> negotiation through .htaccess can be complicated. Several people started to
> send their solutions to this problem through PHP and Python scripts. I
> believe that these solutions are a very important resource for the whole LOD
> community. Hence, Tom and I have set up a section on linkeddata.org on
> Content Negotiation:
>
> http://linkeddata.org/conneg-303-redirect-code-samples
>
> Currently we have examples in PHP and Python. There is a RoR script on the
> way too! If anybody else has any other code examples of how to do Content
> Negotiation, please let me know so we can add your link on the website!
>
> Thanks to everybody who has contributed!

There is some java code from the pubby part of the dbpedia project at
[1] that I have successfully used and adapted for my projects. It
could be adapted as an example I think.

Cheers,

Peter

[1] http://dbpedia.svn.sourceforge.net/viewvc/dbpedia/pubby/src/de/fuberlin/wiwiss/pubby/negotiation/