SeparateDocumentsForLongPropertyLists

From W3C Wiki

The Problem

LinkedData calls for publishing descriptions of resources as RDF on the Web. But the description of a resource might contain a lot of information that is not useful in the general case, but increases the size of the description. For example, not every consumer of a FOAF file might be interested in all publications of the described person; a client accessing New York at DBpedia might not be interested in all the people born there; and someone looking for information about a senator at GovTrack.us might not be interested in the senator's entire voting history. Shipping all this information to everyone who accesses the resources incurs bandwidth costs, reduces response times, and increases processing costs on the client.

Example

Dereferencing `:NYC` yields these triples:


:NYC a ns:City .
:NYC rdfs:label "New York City" .
:NYC ns:country :US .

:Carl_Sagan ns:birthPlace :NYC .
:Herman_Melville ns:birthPlace :NYC .
:Paris_Hilton ns:birthPlace :NYC .


We don't want all the `ns:birthPlace` triples in the `:NYC` description, to improve performance.

Approach

  1. Move all triples that use a certain property from the resource description to a separate RDF document.
  2. Link to that document from the main description.
  3. Do the link in a way that allows clients to figure out that they should retrieve the document if they are looking for statements with a certain property.

The `ns:birthPlace` triples would be moved into a separate document, e.g. `<NYC/birthPlace.rdf>`:


:Carl_Sagan ns:birthPlace :NYC .
:Herman_Melville ns:birthPlace :NYC .
:Paris_Hilton ns:birthPlace :NYC .


There is no agreement yet on the best way to set the links.

@@@ Paging?

Discussion

See also:

Discuss SeparateDocumentsForLongPropertyLists here.