Return-Path: X-Original-To: apmail-incubator-stanbol-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-stanbol-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5422F69FD for ; Tue, 2 Aug 2011 14:12:19 +0000 (UTC) Received: (qmail 53716 invoked by uid 500); 2 Aug 2011 14:12:18 -0000 Delivered-To: apmail-incubator-stanbol-dev-archive@incubator.apache.org Received: (qmail 53599 invoked by uid 500); 2 Aug 2011 14:12:18 -0000 Mailing-List: contact stanbol-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stanbol-dev@incubator.apache.org Delivered-To: mailing list stanbol-dev@incubator.apache.org Received: (qmail 53591 invoked by uid 99); 2 Aug 2011 14:12:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2011 14:12:17 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of rupert.westenthaler@gmail.com designates 74.125.82.175 as permitted sender) Received: from [74.125.82.175] (HELO mail-wy0-f175.google.com) (74.125.82.175) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2011 14:12:11 +0000 Received: by wyg30 with SMTP id 30so2568313wyg.6 for ; Tue, 02 Aug 2011 07:11:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=5oLMQmwODT2Rzk0hoSnq1YEGQAtUXQbIswlGN2mBSRI=; b=qgFLqa28tWnuwedQuUOLFPfy0wDQxPqHIyCPfsj5ZfYeeQjyMU2yrhpQvX7lgu6ppv FAiLzIr89S6WdLU5O0R6h2gHF7o28DlhZfD2boxNMT47+84wmSfX97gXpP2Pf/kPG6Ha PnEy+ra+yruoEmxKCgLlpGnePbARGM3M43n3M= MIME-Version: 1.0 Received: by 10.216.132.129 with SMTP id o1mr622826wei.73.1312294310238; Tue, 02 Aug 2011 07:11:50 -0700 (PDT) Received: by 10.216.70.78 with HTTP; Tue, 2 Aug 2011 07:11:50 -0700 (PDT) In-Reply-To: <798CB1570E93D245815FC1545D41FBA2053B80DB@Paperboy.lan.gossinteractive.com> References: <798CB1570E93D245815FC1545D41FBA2053B7FF3@Paperboy.lan.gossinteractive.com> <798CB1570E93D245815FC1545D41FBA2053B8094@Paperboy.lan.gossinteractive.com> <798CB1570E93D245815FC1545D41FBA2053B80DB@Paperboy.lan.gossinteractive.com> Date: Tue, 2 Aug 2011 16:11:50 +0200 Message-ID: Subject: Re: Delete, Update locally cached entities From: Rupert Westenthaler To: stanbol-dev@incubator.apache.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Tue, Aug 2, 2011 at 3:07 PM, Rohana Rajapakse wrote: > Thanks a lot Rupert. > > I am interested in deleting an entity locally cached for a referenced sit= e too. Aren't they (locally managed entities and referenced site entities c= ached locally) stored in the same way (in a Solr/Clerrezza Yard)? Aren't th= ey treated the same/similar (as symbols) once you store them locally? I tho= ught they were, because you can work with (referenced entities) off-line on= ce you have locally cached/stored them. > By directly using the Java API of the Yard it would be possible but via the RESTful interface there is currently no way to delete a locally cached version. The idea behind this is that * entities of the "/entityhub/entity" are considered as locally managed. Therefore you can create/update and delete them. * entities of "/entityhub/site/{siteId}/entity" are considered as governed by this site and therefore read only. However as mentioned in my first replay deleting a locally cached version (e.g. to force the update to a current remote version) is absolutely something that should be supported. If you have a usage scenario that would require a ReferencedSite that also allows full CRUD access please let me know. I would be very interested! If you want to try to directly use the Java API I would suggest to use something like this @Reference org.apache.stanbol.entityhub.servicesapi.yard.YardManager yardManager; @Reference org.apache.stanbol.entityhub.servicesapi.site.ReferencedSiteManager siteMan= ager; //the entity we want to remove from the local cache Siring entityToRemoveTheLocallyCacheVersion =3D "urn:demo" //1. get the referenced site //a) first possibility to use the ReferencedSiteManager: String siteId =3D "mySite"; //the site in question ReferencedSite site =3D siteManager.getReferencedSite(siteId); // b) Second possibility would be to directly inject the Referenced // site or use a ServiceTracker by filtering on the // "org.apache.stanbol.entityhub.site.id" property with the siteId // value //2. get the ID of the Yard used to cache local entities //first check if the site uses a local cache CacheStrategy cacheStrategy =3D site.getConfiguration().getCacheStrategy if(cacheStrategy =3D=3D CacheStrategy.none){ throw new IllegalStateException("Site does not use a local Cache!") } //Note that the cacheID is also used as ID for the Yard String yardId =3D site.getConfiguration().getCacheId(); if(yardId =3D=3D null) { //this should not be the case if "cacheStrategy !=3D CacheStrategy.none= " throw new IllegalStateException("Yard ID of ReferencedSite "+siteId+ " is NULL even that CacheStrategy is set to "+cacheStrategy); } //3. get the Yard with that ID // here again you can use the YardManager or optionally also a // ServiceTracker with a filter on the // "org.apache.stanbol.entityhub.yard.id" property with the value // of yardId Yard localCache =3D yardManager.getYard(yardId) if(localCache !=3D null=3D{ localCache.remove(entityToRemoveTheLocallyCacheVersion); } //else local cache is currently not available BTW: there is no direct way to get the Yard from the ReferencedSite interface. This is the reason why you need to lookup the Yard via the YardManager. best Rupert Westenthaler > Please point me to any detailed documentation on the web (if any). > > Rohana > > > -----Original Message----- > From: Rupert Westenthaler [mailto:rupert.westenthaler@gmail.com] > Sent: 02 August 2011 12:49 > To: stanbol-dev@incubator.apache.org > Subject: Re: Delete, Update locally cached entities > > On Tue, Aug 2, 2011 at 1:20 PM, Rohana Rajapakse > wrote: >> Hi, >> >> I was under the impression that the entityhub/entity can be used for man= aging local (cached) entities. I am confused with what this page/endpoint h= ttp://localhost:8080/entityhub/entity says (page to get/create/update/delet= e Entities Managed by the entity hub). Am I missing something here? >> > > Yeas the entityhub/entity endpoint supports full CRUD. I was thinking > you talk about updating an entity locally cached for a referenced site > ... > > Here are some examples for the "entityhub/entity" service endpoint: > > create all entities within the parsed RDF graph > > curl -X POST -H "Content-Type: application/rdf+xml" --data > "@{rdfXmlFile}" http://localhost:8080/entityhub/entity > > Note that Entities are created for all subjects used in triples of the > parsed RDF data. E.g. parsing a RDF file containing a SKOS thesaurus > should create Entities for all skos:Concept's and the > skos:ConcpetScheme. > > If one only want to create a specific Entity (and ignore all other > triples) one needs to specify the ID of the Entity to create as > additional parameter. > > curl -X POST -H "Content-Type: application/rdf+xml" --data > "@{rdfXmlFile}" http://localhost:8080/entityhub/entity?id=3D{entity-uri} > > This will only create the Entity with the id {entity-uri} and ignore > all triples within the parsed {rdfXmlFile} that use an other URI as > subject. > > > > Retrieval works the same as for referenced sites > > curl http://localhost:8080/entityhub/entity?id=3D{entity-uri} > > > > Update works the same way. Only use -X PUT instead of -X POST > > > To delete an Entity use > > curl -X DELETE http://localhost:8080/entityhub/entity?id=3D{entity-id} > > > best > Rupert Westenthaler > >> >> Rohana >> >> -----Original Message----- >> From: Rupert Westenthaler [mailto:rupert.westenthaler@gmail.com] >> Sent: 02 August 2011 11:06 >> To: stanbol-dev@incubator.apache.org >> Subject: Re: Delete, Update locally cached entities >> >> Hi >> >> On Tue, Aug 2, 2011 at 10:42 AM, Rohana Rajapakse >> wrote: >>> How do you delete/update locally cached entities in Entityhub? Which >>> endpoint(s) can I use? Can someone pass me a sample CURL instructions >>> please. >>> >> ReferencedSites are read only. Via the RESTful interface there is no >> possibility to delete/update entities. >> Currently there is also no possibility to control the behavior of the >> local cache. >> >> The preferred way to provide this feature would be to use the HTTP >> Cache-Control headers [1] as described by [2]. >> This would allow to update the local cache by adding the >> "Cache-Control: max-age=3D0" to a request. >> >> To support this one would also need to extend the interface of the >> ReferencedSite to allow to parse CacheControl parameters along with >> requests. >> >> If this would solve your issue I can create an JIRA issue for this new f= eature. >> >> best >> Rupert Westenthaler >> >> [1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9 >> [2] http://incubator.apache.org/stanbol/docs/trunk/entityhub/entityhuban= dlinkeddata.html#cache-controlhttpwwww3orgprotocolsrfc2616rfc2616-sec14html= sec149 >> >>> >>> >>> Thanks >>> >>> >>> >>> Rohana >>> >>> >>> >>> >>> Sign-up for our monthly newsletter www.gossinteractive.com/newsletter >>> >>> Registered Office: c/o Bishop Fleming, Cobourg House, Mayflower Street,= Plymouth, PL1 1LG. Company Registration No: 3553908 >>> >>> This email contains proprietary information, some or all of which may b= e legally privileged. It is for the intended recipient only. If an addressi= ng or transmission error has misdirected this email, please notify the auth= or by replying to this email. If you are not the intended recipient you may= not use, disclose, distribute, copy, print or rely on this email. >>> >>> Email transmission cannot be guaranteed to be secure or error free, as = information may be intercepted, corrupted, lost, destroyed, arrive late or = incomplete or contain viruses. This email and any files attached to it have= been checked with virus detection software before transmission. You should= nonetheless carry out your own virus check before opening any attachment. = GOSS Interactive Ltd accepts no liability for any loss or damage that may b= e caused by software viruses. >>> >>> wn virus check before opening any attachment. GOSS Interactive Ltd acce= pts no liability for any loss or damage that may be caused by software viru= ses. >>> >>> >>> >>> >> >> >> >> -- >> | Rupert Westenthaler=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 rup= ert.westenthaler@gmail.com >> | Bodenlehenstra=C3=9Fe 11=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 ++43-699-1110890= 7 >> | A-5500 Bischofshofen >> > > > > -- > | Rupert Westenthaler=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 rupe= rt.westenthaler@gmail.com > | Bodenlehenstra=C3=9Fe 11=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 ++43-699-1110890= 7 > | A-5500 Bischofshofen > > > > > Sign-up for our free client webinar: http://www.gossinteractive.com/webin= ar > > Registered Office: c/o Bishop Fleming, Cobourg House, Mayflower Street, P= lymouth, PL1 1LG. Company Registration No: 3553908 > > This email contains proprietary information, some or all of which may be = legally privileged. It is for the intended recipient only. If an addressing= or transmission error has misdirected this email, please notify the author= by replying to this email. If you are not the intended recipient you may n= ot use, disclose, distribute, copy, print or rely on this email. > > Email transmission cannot be guaranteed to be secure or error free, as in= formation may be intercepted, corrupted, lost, destroyed, arrive late or in= complete or contain viruses. This email and any files attached to it have b= een checked with virus detection software before transmission. You should n= onetheless carry out your own virus check before opening any attachment. GO= SS Interactive Ltd accepts no liability for any loss or damage that may be = caused by software viruses. > > > > --=20 | Rupert Westenthaler=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 rupert= .westenthaler@gmail.com | Bodenlehenstra=C3=9Fe 11=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 ++43-699-11108907 | A-5500 Bischofshofen