Hi Adrian, This looks like a bug. I will try to replicate this and take a look. What Yard implementation do you use for your ManagedSite (Solr or Clerezza)?
best Rupert On Mon, Jun 29, 2015 at 9:30 PM, Adrian Dinu <adr...@r-2.ca> wrote: > Hi Rupert, > Thank you for explanations. > I am still not able to find out what is the parsed URI that Stanbol uses. I > create a named entity (Marry Smith) using this file > > <?xml version="1.0" encoding="UTF-8"?> > <rdf:RDF > xmlns="http://schema.org/" > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > xmlns:foaf="http://xmlns.com/foaf/0.1/" > xml:base="file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/"> > > <Person rdf:about="Marry.Smith.rdf#Marry_Smith"> > <rdf:label>Marry Smith</rdf:label> > <foaf:name>Marry Smith</foaf:name> > </Person> > > </rdf:RDF> > > by POSTing it with cURL > > C:\EntityPerson>curl -i -X POST -H "Content-Type:application/rdf+xml" -T > Marry.Smith.rdf "http://localhost:8080/entityhub/site/r2HR/entity" > HTTP/1.1 201 Created > Date: Mon, 29 Jun 2015 18:48:15 GMT > Location: > http://localhost:8080/entityhub/site/r2HR/entity?id=file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith > Accept: application/json > Content-Length: 0 > Server: Jetty(7.x.y-SNAPSHOT) > > Then I try to erase it by using its ID from above, but it is not recognized > as a valid one: > > C:\Users\Acer\Documents\Semantic\Stanbol\EntityPerson>curl -X DELETE > "http://localhost:8080/entityhub/site/r2HR/entity?id=file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPer > son/Marry.Smith.rdf#Marry_Smith" > No Entity with the parsed Id > 'file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf' > is present on the ManagedSite 'r2HR'! > > However, if I attempt to POST it again (not to update, with PUT) > > C:\EntityPerson>curl -i -X POST -H "Content-Type:application/rdf+xml" -T > Marry.Smith.rdf "http://localhost:8080/entityhub/site/r2HR/entity" > > I get > > Unable to update an Entity > file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf#Marry_Smith > becuase it does already exists and updateing existing is deactivated. You > might want to set the 'does already' parameter to TRUE in your Request > > In my understanding, this message says that the ID of the entity is indeed > > ID= > file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf#Marry_Smith > > <<When you delete entities you need to parse the URIs as defined by the RDF > data. > Isn't > file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf#Marry_Smith > the URI parsed from the RDF file content above? > > What am I missing? Is it a matter of syntax maybe? I tried with "... > Marry.Smith.rdf#Marry_Smith", "... Marry.Smith.rdf:Marry_Smith", "... > Marry.Smith.rdf#Marry%20Smith", "... Marry.Smith.rdf" > > Thank you, > Adrian > > -----Message d'origine----- > De : Rupert Westenthaler [mailto:rupert.westentha...@gmail.com] > Envoyé : June 27, 2015 6:29 AM > À : dev@stanbol.apache.org > Objet : Re: Entityhub Lookup : what ID to use? > > Hi, > > The ids of Entities are taken form the uploaded RDF data. If you parse an ID > in the PUT or POST request it is just used to filter the RDF triples in the > parsed RDF graph. > > So e.g. if you file contains > > <http://www.example.org/my#entity1> rdf:type schema:Person . > <http://www.example.org/my#entity1> rdfs:label "Person1" . > <http://www.example.org/my#entity2> rdf:type schema:Person . > <http://www.example.org/my#entity2> rdfs:label "Person2" . > > If you just add those data (e.g. by a POST request to the entityhub/entity > endpoint). Two entities my:entity1 and my:entity2 will be created. > > If you POST the data with the id=http://www.example.org/my#entity1 > parameter only the first two triples would be added to the Entityhub. > > If you POST the data with the id=http://www.test.org/other#other > parameter no triples would be added as their is no match with the uploaded > RDF data. > > So in most cases it is sufficient to just upload the RDF files. > > When you delete entities you need to parse the URIs as defined by the RDF > data. > > best > Rupert > > On Fri, Jun 26, 2015 at 3:59 PM, Adrian Dinu <adr...@r-2.ca> wrote: >> Hi Rupert, >> Thank you for your reply. >> Adding "header_Accept=text/turtle" did not provide a result either, I >> get >> >> No symbol found for >> 'file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf#Marry_Smith'. >> >> I tried with the others found at http://localhost:8080/enhance (REST >> API link) application/json (JSON-LD) application/rdf+xml (RDF/XML) >> application/rdf+json (RDF/JSON) text/turtle (Turtle) text/rdf+nt >> (N-TRIPLES) >> >> with the same result. >> >> I thought that the ID in the response received at the time when the entity >> was created(by cURL), i.e. >> >> HTTP/1.1 100 Continue >> HTTP/1.1 201 Created >> Location: >> http://localhost:8080/entityhub/site/r2HR/entity?id=file:///C:/Users/A >> cer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Sm >> ith >> >> represents the ID I should use for /entityhub/lookup and /entityhub/entity >> DELETE but apparently it does not. >> >> By looking at http://localhost:8080/entityhub/lookup I can see among >> the instructions there >> >> Subresource /lookup?id={uri}&create={create} and Request GET >> /lookup?id={uri}&create={create} >> >> What exactly is the {uri} I need to use in my case then? >> >> Best, >> Adrian >> >> -----Message d'origine----- >> De : Rupert Westenthaler [mailto:rupert.westentha...@gmail.com] >> Envoyé : June 26, 2015 10:08 AM >> À : dev@stanbol.apache.org >> Objet : Re: Entityhub Lookup : what ID to use? >> >> Hi, >> >> The Stanbol Entityhub does not have an RDF to HTML serializer. Because >> of that it responds with >> >> "The registered message body writers compatible with the MIME media type >> are: >> text/html; charset=utf-8" >> >> If you send an RDF mime type (e.g. text/turtle) as Accept header it should >> work just fine. >> >> Try to add "&header_Accept=text/turtle" to the end of your URL when >> requesting an Entity via the browser. >> >> e.g. >> >> http://localhost:8080/entityhub/lookup?id=file:///C:/Users/Acer/Docume >> nts/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith&header >> _Accept=text/turtle >> >> best >> Rupert >> >> On Thu, Jun 25, 2015 at 4:35 PM, Adrian Dinu <adr...@r-2.ca> wrote: >>> Hello, >>> I am not able to access my local named entities by ID. >>> >>> I create the entity Marry_Smith via cURL using this file >>> (Marry.Smith.rdf) >>> --------------------------------------------------------------------- >>> - >>> ------ <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF >>> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>> xmlns:dc="http://purl.org/dc/elements/1.1/" >>> xmlns:foaf="http://xmlns.com/foaf/0.1/" >>> xml:base="file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/" >>>> >>> <NamedIndividual rdf:about="Marry.Smith.rdf#Marry_Smith"> >>> <rdf:label>Marry Smith</rdf:label> >>> <foaf:name>Marry Smith</foaf:name> >>> </NamedIndividual> >>> </rdf:RDF> >>> --------------------------------------------------------------------- >>> - >>> ---------------- >>> The response frum cURL is >>> >>> C:\Users\Acer\Documents\Semantic\Stanbol\EntityPerson>curl -i -X PUT -H >>> "Content-Type:application/rdf+xml" -T Marry.Smith.rdf >>> "http://localhost:8080/entityhub/site/r2HR/entity" >>> HTTP/1.1 100 Continue >>> HTTP/1.1 201 Created >>> Date: Thu, 25 Jun 2015 13:21:27 GMT >>> Location: >>> http://localhost:8080/entityhub/site/r2HR/entity?id=file:///C:/Users/ >>> A >>> cer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_S >>> m >>> ith >>> Accept: application/json >>> Content-Length: 0 >>> Server: Jetty(7.x.y-SNAPSHOT) >>> >>> When I put >>> http://localhost:8080/entityhub/site/r2HR/entity?id=file:///C:/Users/ >>> A >>> cer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_S >>> m >>> ith >>> in the browser address box I get >>> >>> HTTP ERROR: 500 >>> Problem accessing /entityhub/site/r2HR/entity. Reason: >>> Internal Server Error >>> >>> and the following messages in the monitor window: >>> >>> 25-Jun-2015 11:03:25 AM >>> com.sun.jersey.spi.container.ContainerResponse >>> write >>> SEVERE: The registered message body writers compatible with the MIME media >>> type are: >>> text/html; charset=utf-8 -> >>> org.apache.stanbol.commons.viewable.writer.impl.ViewableWriter >>> >>> org.apache.stanbol.commons.web.rdfviewable.writer.impl.LdViewableWrit >>> e >>> r >>> */* -> >>> com.sun.jersey.core.impl.provider.entity.FormProvider >>> com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider >>> com.sun.jersey.core.impl.provider.entity.StringProvider >>> com.sun.jersey.core.impl.provider.entity.ByteArrayProvider >>> com.sun.jersey.core.impl.provider.entity.FileProvider >>> com.sun.jersey.core.impl.provider.entity.InputStreamProvider >>> com.sun.jersey.core.impl.provider.entity.DataSourceProvider >>> com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General >>> com.sun.jersey.core.impl.provider.entity.ReaderProvider >>> com.sun.jersey.core.impl.provider.entity.DocumentProvider >>> com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider >>> com.sun.jersey.core.impl.provider.entity.SourceProvider$SourceWriter >>> com.sun.jersey.server.impl.template.ViewableMessageBodyWriter >>> >>> com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$Gener >>> al >>> >>> com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$Gener >>> a >>> l >>> >>> 25-Jun-2015 11:03:25 AM >>> com.sun.jersey.spi.container.ContainerResponse >>> logException >>> SEVERE: Mapped exception to response: 500 (Internal Server Error) >>> javax.ws.rs.WebApplicationException: >>> com.sun.jersey.api.MessageException: A message body writer for Java class >>> org.apache.stanbol.entityhub.core.model.EntityImpl, and Java type cla ss >>> org.apache.stanbol.entityhub.core.model.EntityImpl, and MIME media type >>> text/html; charset=utf-8 was not found >>> at >>> com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:285) >>> at >>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1448) >>> at >>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360) >>> at >>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350) >>> at >>> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) >>> at >>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) >>> at >>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) >>> at >>> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96) >>> at >>> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79) >>> at >>> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42) >>> at >>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49) >>> at >>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33) >>> at >>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:78) >>> at >>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47) >>> at >>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33) >>> at >>> org.apache.stanbol.commons.httpqueryheaders.impl.QueryHeadersFilter.doFilter(QueryHeadersFilter.java:75) >>> at >>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88) >>> at >>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76) >>> at >>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47) >>> at >>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33) >>> at >>> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilterHttp(ResourceServingFilter.java:148) >>> at >>> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilter(ResourceServingFilter.java:91) >>> at >>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88) >>> at >>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76) >>> at >>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47) >>> at >>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33) >>> at >>> org.apache.stanbol.commons.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:163) >>> at java.security.AccessController.doPrivileged(Native Method) >>> at javax.security.auth.Subject.doAsPrivileged(Unknown Source) >>> at >>> org.apache.stanbol.commons.security.auth.AuthenticatingFilter.doFilter(AuthenticatingFilter.java:159) >>> at >>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88) >>> at >>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76) >>> at >>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47) >>> at >>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33) >>> at >>> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48) >>> at >>> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39) >>> at >>> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) >>> at >>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:654) >>> at >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445) >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) >>> at >>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) >>> at >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) >>> at >>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) >>> at >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) >>> at org.eclipse.jetty.server.Server.handle(Server.java:369) >>> at >>> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) >>> at >>> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933) >>> at >>> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995) >>> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) >>> at >>> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) >>> at >>> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) >>> at >>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) >>> at >>> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) >>> at >>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) >>> at >>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) >>> at java.lang.Thread.run(Unknown Source) Caused by: >>> com.sun.jersey.api.MessageException: A message body writer for Java >>> class org.apache.stanbol.entityhub.core.model.EntityImpl, and Java type >>> class org.apache.stanbol.enti tyhub.core.model.EntityImpl, and MIME media >>> type text/html; charset=utf-8 was not found >>> ... 61 more >>> >>> Is >>> >>> file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.S >>> m >>> ith.rdf%23Marry_Smith >>> >>> the ID that Stanbol uses for this entity? >>> >>> Neither Entityhub Lookup does not work with it : >>> >>> http://localhost:8080/entityhub/lookup?id=file:///C:/Users/Acer/Docum >>> e nts/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith >>> >>> produces >>> "No symbol found for >>> 'file:///C:/Users/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf#Marry_Smith'. >>> " >>> >>> >>> Can anybody explain to me please what is the actual ID I should use? >>> >>> Thank you, >>> Adrian >>> >>> >> >> >> >> -- >> | Rupert Westenthaler rupert.westentha...@gmail.com >> | Bodenlehenstraße 11 ++43-699-11108907 >> | A-5500 Bischofshofen >> | REDLINK.CO >> .......................................................................... >> | http://redlink.co/ >> >> >> >> ----- >> No virus found in this message. >> Checked by AVG - www.avg.com >> Version: 2014.0.4813 / Virus Database: 4365/10100 - Release Date: >> 06/26/15 >> >> >> ----- >> No virus found in this message. >> Checked by AVG - www.avg.com >> Version: 2014.0.4800 / Virus Database: 4365/10052 - Release Date: 06/19/15 >> Internal Virus Database is out of date. >> > > > > -- > | Rupert Westenthaler rupert.westentha...@gmail.com > | Bodenlehenstraße 11 ++43-699-11108907 > | A-5500 Bischofshofen > | REDLINK.CO > .......................................................................... > | http://redlink.co/ > > > > ----- > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2014.0.4813 / Virus Database: 4365/10122 - Release Date: 06/29/15 > > > ----- > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2014.0.4813 / Virus Database: 4365/10122 - Release Date: 06/29/15 > -- | Rupert Westenthaler rupert.westentha...@gmail.com | Bodenlehenstraße 11 ++43-699-11108907 | A-5500 Bischofshofen | REDLINK.CO .......................................................................... | http://redlink.co/