You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stanbol.apache.org by Adrian Dinu <ad...@r-2.ca> on 2015/06/25 16:35:52 UTC

Entityhub Lookup : what ID to use?

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/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith
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/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith
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.LdViewableWriter
*/* ->
  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$General
  com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General

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.Smith.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/Documents/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



Re: Entityhub Lookup : what ID to use?

Posted by Rupert Westenthaler <ru...@gmail.com>.
Hi Adrian,

A detailed check of your issue revealed:

* The entity is deleted (as expected)
* The response code  404 is wrong. Calling Response.noContent()
results in a 404 response (what is not expected)

I will change the implementation so that for deletes of a specific
entity the removed entity is returned. For a wildcard delete (id=*) an
empty 200 response is returned.

The issue number for this is STANBOL-1432 [1]

Thanks for reporting!
best
Rupert

[1] https://issues.apache.org/jira/browse/STANBOL-1432

On Tue, Jun 30, 2015 at 3:40 PM, Rupert Westenthaler
<ru...@gmail.com> wrote:
> 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 <ad...@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.westenthaler@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 <ad...@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.westenthaler@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 <ad...@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.westenthaler@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.westenthaler@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.westenthaler@gmail.com
> | Bodenlehenstraße 11                              ++43-699-11108907
> | A-5500 Bischofshofen
> | REDLINK.CO ..........................................................................
> | http://redlink.co/



-- 
| Rupert Westenthaler             rupert.westenthaler@gmail.com
| Bodenlehenstraße 11                              ++43-699-11108907
| A-5500 Bischofshofen
| REDLINK.CO ..........................................................................
| http://redlink.co/

Re: Entityhub Lookup : what ID to use?

Posted by Rupert Westenthaler <ru...@gmail.com>.
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 <ad...@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.westenthaler@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 <ad...@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.westenthaler@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 <ad...@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.westenthaler@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.westenthaler@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.westenthaler@gmail.com
| Bodenlehenstraße 11                              ++43-699-11108907
| A-5500 Bischofshofen
| REDLINK.CO ..........................................................................
| http://redlink.co/

RE: Entityhub Lookup : what ID to use?

Posted by Adrian Dinu <ad...@r-2.ca>.
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.westenthaler@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 <ad...@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.westenthaler@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 <ad...@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.westenthaler@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.westenthaler@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


Re: Entityhub Lookup : what ID to use?

Posted by Rupert Westenthaler <ru...@gmail.com>.
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 <ad...@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/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith
>
> 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.westenthaler@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/Documents/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 <ad...@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_Sm
>> 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_Sm
>> 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.LdViewableWrite
>> 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$General
>>
>> com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$Genera
>> 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.Sm
>> 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/Docume
>> 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.westenthaler@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.westenthaler@gmail.com
| Bodenlehenstraße 11                              ++43-699-11108907
| A-5500 Bischofshofen
| REDLINK.CO ..........................................................................
| http://redlink.co/

RE: Entityhub Lookup : what ID to use?

Posted by Adrian Dinu <ad...@r-2.ca>.
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/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith

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.westenthaler@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/Documents/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 <ad...@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_Sm
> 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_Sm
> 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.LdViewableWrite
> 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$General
>   
> com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$Genera
> 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.Sm
> 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/Docume
> 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.westenthaler@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.


Re: Entityhub Lookup : what ID to use?

Posted by Rupert Westenthaler <ru...@gmail.com>.
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/Documents/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 <ad...@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/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith
> 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/Acer/Documents/Semantic/Stanbol/EntityPerson/Marry.Smith.rdf%23Marry_Smith
> 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.LdViewableWriter
> */* ->
>   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$General
>   com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General
>
> 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.Smith.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/Documents/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.westenthaler@gmail.com
| Bodenlehenstraße 11                              ++43-699-11108907
| A-5500 Bischofshofen
| REDLINK.CO ..........................................................................
| http://redlink.co/