Skip to content
This repository has been archived by the owner on May 6, 2021. It is now read-only.

Random Recommendation is not working #36

Open
Habush opened this issue Jun 30, 2017 · 0 comments
Open

Random Recommendation is not working #36

Habush opened this issue Jun 30, 2017 · 0 comments

Comments

@Habush
Copy link

Habush commented Jun 30, 2017

I am trying to get random recommendations for users with no relations with other users. The code that does this random recommendation is as follows:

public class RandomUser extends RandomRecommendations{
    
    @Override
    public String name(){
        return "random";
    }

    protected NodeInclusionPolicy getPolicy() {
        return new BaseNodeInclusionPolicy() {
            @Override
            public boolean include(Node node) {
                return node.hasLabel(Label.label("User"));
            }
        };
    }

    public ParticipationPolicy<Node, Node> participationPolicy(Context context) {
        return ParticipationPolicy.IF_MORE_RESULTS_NEEDED_AND_ENOUGH_TIME;
    }


}

When running unit tests the random recommendation works perfectly. However, when I use it an unmanaged extension on Neo4j Server, I get the following error trying to get random recommendations:

> 2017-06-30 15:14:21.585+0000 ERROR The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container com.graphaware.runtime.walk.RandomNodeSelector.<init>(Lcom/graphaware/common/policy/inclusion/NodeInclusionPolicy;)V
> java.lang.NoSuchMethodError: com.graphaware.runtime.walk.RandomNodeSelector.<init>(Lcom/graphaware/common/policy/inclusion/NodeInclusionPolicy;)V
> 	at com.graphaware.reco.neo4j.engine.RandomRecommendations.<init>(RandomRecommendations.java:41)
> 	at com.stavimer.recoengine.RandomUser.<init>(RandomUser.java:26)
> 	at com.stavimer.recoengine.FriendsComputingEngine.engines(FriendsComputingEngine.java:30)
> 	at com.graphaware.reco.generic.engine.DelegatingRecommendationEngine.<init>(DelegatingRecommendationEngine.java:43)
> 	at com.graphaware.reco.generic.engine.TopLevelDelegatingRecommendationEngine.<init>(TopLevelDelegatingRecommendationEngine.java:56)
> 	at com.graphaware.reco.neo4j.engine.Neo4jTopLevelDelegatingRecommendationEngine.<init>(Neo4jTopLevelDelegatingRecommendationEngine.java:26)
> 	at com.stavimer.recoengine.FriendsComputingEngine.<init>(FriendsComputingEngine.java:25)
> 	at com.stavimer.recoengine.UserRecommendation.<init>(UserRecommendation.java:44)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
> 	at java.lang.reflect.Constructor.newInstance(Unknown Source)
> 	at com.sun.jersey.server.spi.component.ResourceComponentConstructor._construct(ResourceComponentConstructor.java:253)
> 	at com.sun.jersey.server.spi.component.ResourceComponentConstructor.construct(ResourceComponentConstructor.java:233)
> 	at com.sun.jersey.server.impl.resource.PerRequestFactory$PerRequest._getInstance(PerRequestFactory.java:182)
> 	at com.sun.jersey.server.impl.resource.PerRequestFactory$AbstractPerRequest.getInstance(PerRequestFactory.java:144)
> 	at com.sun.jersey.server.impl.application.WebApplicationContext.getResource(WebApplicationContext.java:239)
> 	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83)
> 	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> 	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
> 	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
> 	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
> 	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
> 	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
> 	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
> 	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
> 	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> 	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
> 	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
> 	at org.neo4j.server.rest.dbms.AuthorizationEnabledFilter.doFilter(AuthorizationEnabledFilter.java:122)
> 	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
> 	at org.neo4j.server.rest.web.CollectUserAgentFilter.doFilter(CollectUserAgentFilter.java:69)
> 	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
> 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
> 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
> 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
> 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
> 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> 	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
> 	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:95)
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
> 	at org.eclipse.jetty.server.Server.handle(Server.java:497)
> 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
> 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
> 	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> 	at java.lang.Thread.run(Unknown Source)
> ```

What could be the source of this problem? How can I solve it
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant