You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by "Reto Bachmann-Gmür (JIRA)" <ji...@apache.org> on 2011/05/15 03:25:47 UTC

[jira] [Reopened] (CLEREZZA-463) create a SemWebProxy bundle

     [ https://issues.apache.org/jira/browse/CLEREZZA-463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Reto Bachmann-Gmür reopened CLEREZZA-463:
-----------------------------------------

      Assignee:     (was: Henry Story)

Reopening because of:
- A bundle with artifact id starting with rdf must not access platform services, the SCB project with artifact id rdf.* does not require the platform, if the WebProxy would require the platform its artifact id should start with platform.*
- For most applications it should be transparent if a graph is local or retrieved from the web, thus the WebProxy should implement WeightedTcProvider such an implementation has been committed in CLEREZZA-525 - For such an implementation to be able to rely on the other TcProvider for actual storage of the graph the cache graph must have a different name than the cached graph
- There's an unclear mixture between resources and graphs, getting resource description is orthogonal to getting graphs
- It's out of the scope of this issue to provide a WebRenderingSevice, if Renderlets should have (limited) access to graphs and proxies this should be done by an issue creating a platform.<something> artifact

Concrete suggestion:
- This issue should be renamed to "Make WebIdService use proxy" and depend on CLEREZZA-525 (which for pedantic reasons should be renamed as well)
- The module rdf.web.proxy.core should be removed or maybe renamed and rescoped to be a resource (i.e. GraphNode) returning resource-description service.


> create a SemWebProxy bundle
> ---------------------------
>
>                 Key: CLEREZZA-463
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-463
>             Project: Clerezza
>          Issue Type: New Feature
>            Reporter: Henry Story
>              Labels: cache, web, webid
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> A Semantic Web CMS like Clerezza is all going to be about fetching data from the web and using it to create interesting services. Fetching remote graphs should therefore be a simple and very reliable service. The service should act as a semantic web proxy/cache service. It should
> - be able to fetch a remote resource
> - return a local cached version if the remote resource has not been update
>   (this implies it should understand the logic of HTTP etags, valid-until, and so on)
> - keep track of redirects
> - of which resources are information resources and which not (eg http://xmlns.com/foaf/0.1/knows is not an information resource, but a relation, and so redirects to the ontology)
> - allow the user to specify if he wants a clean version to be fetched remotely, or force the usage of local version
> - return a graph of that remote resource
> - also return a message if the resource does not exist, or is unavailable
> Longer term:
> - be able to return graphs for how resources were in the past
> - fetch graphs as a user - so that it can authenticate with WebID to remote resources and get additional information
> - know how to get GRDDL transforms to make any xml easily transformable into graphs
> In my latest 'mistaken' checkin ( r1081290 which should have been a development branch really, but it's easier  to fix now than  to undo) this role is taken by the org.apache.clerezza.platform.users.WebDescriptionProvider, as a large part of this was correctly done there by reto. So the proposal is that the proxy part of the WebDescriptionProvider should be moved to its own module, and that the WebDescriptionProvider should use that proxy service.
> This service will be needed for fetching web pages on the web. It should be built to be efficient and parallellisable. Perhaps Scala Actors are the right thing to user here (I am looking into this).
> Since this service should be useable by SSPs that need to use remote data, it should have a class containing  a fetch() method that implements the WebRendering function https://issues.apache.org/jira/browse/CLEREZZA-356

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira