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/