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 D3F9D7536 for ; Fri, 5 Aug 2011 15:52:56 +0000 (UTC) Received: (qmail 6088 invoked by uid 500); 5 Aug 2011 15:52:56 -0000 Delivered-To: apmail-incubator-stanbol-dev-archive@incubator.apache.org Received: (qmail 5962 invoked by uid 500); 5 Aug 2011 15:52:56 -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 5934 invoked by uid 99); 5 Aug 2011 15:52:55 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 05 Aug 2011 15:52:55 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests=MIME_QP_LONG_LINE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [82.153.216.21] (HELO mailrelay.gossinteractive.com) (82.153.216.21) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 05 Aug 2011 15:52:51 +0000 Received: from Paperboy.lan.gossinteractive.com ([10.10.10.229] RDNS failed) by mailrelay.gossinteractive.com with Microsoft SMTPSVC(6.0.3790.4675); Fri, 5 Aug 2011 16:48:40 +0100 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain;charset="iso-8859-1" Subject: RE: Delete, Update locally cached entities Content-Transfer-Encoding: quoted-printable X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Fri, 5 Aug 2011 16:52:28 +0100 Message-ID: <798CB1570E93D245815FC1545D41FBA2053B8566@Paperboy.lan.gossinteractive.com> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Delete, Update locally cached entities Thread-Index: AcxRLSnARi+O5VRTQuCO5FmJ78WDOACWUT/w References: <798CB1570E93D245815FC1545D41FBA2053B7FF3@Paperboy.lan.gossinteractive.com><798CB1570E93D245815FC1545D41FBA2053B8094@Paperboy.lan.gossinteractive.com><798CB1570E93D245815FC1545D41FBA2053B80DB@Paperboy.lan.gossinteractive.com><798CB1570E93D245815FC1545D41FBA2053B8123@Paperboy.lan.gossinteractive.com> From: "Rohana Rajapakse" To: X-OriginalArrivalTime: 05 Aug 2011 15:48:40.0883 (UTC) FILETIME=[25EC3830:01CC5387] Hi, Thanks to Rupert, I can now add entities from an RDF file. However, neither the POST nor the PUT requests add entities that are new amo= ng other existing ones. The updateOrCreateEntity(...) method needs all the = entities being added not to present in the index (during adding entities). A= lso it does not add any new entities in the update mode. I think we need another method that updates existing entities AND adds new e= ntities. Regards Rohana -----Original Message----- From: Rupert Westenthaler [mailto:rupert.westenthaler@gmail.com] Sent: 02 August 2011 16:59 To: stanbol-dev@incubator.apache.org Subject: Re: Delete, Update locally cached entities Hi On Tue, Aug 2, 2011 at 5:06 PM, Rohana Rajapakse wrote: > Thanks, I think understand it now. I will think of a user case for deletin= g cache of referenced site entities. At the moment I am playing with entityh= ub to see what it can de. > > > By the way, I tried creating all entities from the rdf file available here= =A0 http://openlylocal.com/councils.rdf =A0(I have downloaded the file into= my local disk in the name "councils.rdf") > > Here is the curl I used: > > curl -X POST -H "Content-Type: application/rdf+xml" --data "@councils.rdf"= http://localhost:8080/entityhub/entity > > I don't know if it worked (no error messages). It had not worked, because in the RepresentationReader (the component that reads the Entities from the parsed RDF data) there was a restriction to only create Entities if a rdf:type property where present for a Resource. I removed this restriction in revision 1153171 [1]. > > Then I tried to retrieve the entity with id/uri http://openlylocal.com/id/= councils/180 =A0which is present in the source rdf file. > > The curl I used is: > > curl http://localhost:8080/entityhub/entity?id=3Dhttp://openlylocal.com/id= /councils/180 > After this fix this should work as expected. best Rupert Westenthaler [1] http://svn.apache.org/viewvc?view=3Drevision&revision=3D1153171 > > > -----Original Message----- > From: Rupert Westenthaler [mailto:rupert.westenthaler@gmail.com] > Sent: 02 August 2011 15:12 > To: stanbol-dev@incubator.apache.org > Subject: Re: Delete, Update locally cached entities > > 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 ca= ched locally) stored in the same way (in a Solr/Clerrezza Yard)? Aren't they= treated the same/similar (as symbols) once you store them locally? I though= t they were, because you can work with (referenced entities) off-line once y= ou 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 siteMa= nager; > > //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){ > =A0 =A0throw 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) { > =A0 =A0//this should not be the case if "cacheStrategy !=3D CacheStrategy.= none" > =A0 =A0throw new IllegalStateException("Yard ID of ReferencedSite "+siteId= + > =A0 =A0 =A0 =A0" 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{ > =A0 =A0localCache.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 ht= tp://localhost:8080/entityhub/entity says (page to get/create/update/delete = 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-sec14htmls= ec149 >>> >>>> >>>> >>>> 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 addressin= g 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 no= t 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 i= ncomplete or contain viruses. This email and any files attached to it have b= een checked with virus detection software before transmission. You should no= netheless carry out your own virus check before opening any attachment. GOSS= Interactive Ltd accepts no liability for any loss or damage that may be cau= sed 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 virus= es. >>>> >>>> >>>> >>>> >>> >>> >>> >>> -- >>> | Rupert Westenthaler=A0 =A0 =A0 =A0 =A0 =A0=A0 rupert.westenthaler@gmai= l.com >>> | Bodenlehenstra=DFe 11=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0=A0 ++43-699-11108907 >>> | A-5500 Bischofshofen >>> >> >> >> >> -- >> | Rupert Westenthaler=A0 =A0 =A0 =A0 =A0 =A0=A0 rupert.westenthaler@gmail= .com >> | Bodenlehenstra=DFe 11=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0=A0 ++43-699-11108907 >> | 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 b= y 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 in= formation may be intercepted, corrupted, lost, destroyed, arrive late or inc= omplete or contain viruses. This email and any files attached to it have bee= n checked with virus detection software before transmission. You should none= theless carry out your own virus check before opening any attachment. GOSS I= nteractive Ltd accepts no liability for any loss or damage that may be cause= d by software viruses. >> >> >> >> > > > > -- > | Rupert Westenthaler=A0 =A0 =A0 =A0 =A0 =A0=A0 rupert.westenthaler@gmail.= com > | Bodenlehenstra=DFe 11=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0=A0 ++43-699-11108907 > | A-5500 Bischofshofen > -- | Rupert Westenthaler=A0 =A0 =A0 =A0 =A0 =A0=A0 rupert.westenthaler@gmail.co= m | Bodenlehenstra=DFe 11=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 ++43-699-11108907 | A-5500 Bischofshofen