Welcome to the delight JSON over HTTP servlet

As follows, offered handlers with method invocation signatures.
Java users may feel comfortable here.


graphPathRecoService


Stores a thumb feedback according to a path on the server.

thumb: [0,1] zero for thumbs down, thumbs up for 1
path: the path as JSON String. [node, relation, node, relation, node, ...] a node has properties nodeIndex, musicBrainzId and nodeType, a relation has
relationIndex and linkTypeId
http://simrec.kl.dfki.de/simrec/graphPathRecoService/addPathFeedback?thumb=int&path=String ⇒ void


Gets the cheapest path between two nodes inside the graph. This method uses the relationship weights defined by the simRec project.

nodeId1: the graph db id of the start node
nodeId2: the graph db id of the end node

return the cheapest path, according to the relationship weights defined by the simRec project

throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getCheapestPathBetween?nodeId1=int&nodeId2=int ⇒ LinkedList<Map<String, Collection<String>>>


Gets the cheapest path between two nodes inside the graph. This method uses the relationship weights defined by the simRec project.

musicBrainzId1: the musicbrainz id of the start node. Note that this is the musicbrainz recordingId for tracks, and the musicbrainz releasegroupId for
releases
musicBrainzId2: the musicbrainz id of the end node. Note that this is the musicbrainz recordingId for tracks, and the musicbrainz releasegroupId for releases

return the cheapest path, according to the relationship weights defined by the simRec project

throws CorruptIndexException
throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getCheapestPathBetween?musicBrainzId1=String&musicBrainzId2=String ⇒ LinkedList<Map<String, Collection<String>>>


Gets the top cheapest paths between two nodes inside the graph. This method uses the relationship weights defined by the simRec project.

nodeId1: the graph db id of the start node
nodeId2: the graph db id of the end node
maxResults: the maximum number of results to return

return the top cheapest paths, according to the relationship weights defined by the simRec project

throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getCheapestPathsBetween?nodeId1=int&nodeId2=int&maxResults=int ⇒ List<List<Map<String, Collection<String>>>>


Gets the top cheapest paths between two nodes inside the graph. This method uses the relationship weights defined by the simRec project.

musicBrainzId1: the musicbrainz id of the start node. Note that this is the musicbrainz recordingId for tracks, and the musicbrainz releasegroupId for
releases
musicBrainzId2: the musicbrainz id of the end node. Note that this is the musicbrainz recordingId for tracks, and the musicbrainz releasegroupId for releases
maxResults: the maximum number of results to return

return the top cheapest paths, according to the relationship weights defined by the simRec project

throws CorruptIndexException
throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getCheapestPathsBetween?musicBrainzId1=String&musicBrainzId2=String&maxResults=int ⇒ List<List<Map<String, Collection<String>>>>


Tries to find an URL to the last.fm page for this musicbrainz id. The node type can be specified, nevertheless it is optional - specify it if you have it because
of performance reasons (otherwise the method had to try out different URLs).

musicBrainzId: the musicbrainz id you want to have the last.fm page for
nodeType: the node type (optional, good for performance). Possible values are [artist, group, label, other, person, recording, release, releasegroup, url,
work]

return an URL according to the given mbid, if available and found
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getLastFmUrl4MusicBrainzId?musicBrainzId=String&nodeType=String ⇒ String


Gets the graph node to a given musicbrainz id.

musicBrainzId: the musicbrainz id of the node. Note that this is the musicbrainz recordingId for tracks, and the musicbrainz releasegroupId for releases

return the according node from the graph database

throws CorruptIndexException
throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getNode4MusicBrainzId?musicBrainzId=String ⇒ Map<String, Collection<String>>


Gets the graph node to its graph id.

nodeId: the id of the node inside the graph

return the according node

throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getNode4NodeId?nodeId=int ⇒ Map<String, Collection<String>>


Gets the graph node id to a given musicbrainz id.

musicBrainzId: the musicbrainz id of the node. Note that this is the musicbrainz recordingId for tracks, and the musicbrainz releasegroupId for releases

return the according node id inside the graph, -1 in the case the musicbrainz id was not found

throws CorruptIndexException
throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getNodeId4MusicBrainzId?musicBrainzId=String ⇒ int


Gets the graph db node ids for all nodes that have a given value inside their name properties. The nodes will be sorted according to their relationship count.

name: the value that should be searched inside the name properties
nodeType: the type of the nodes that should be considered. Possible values are [artist, group, label, other, person, recording, release, releasegroup, url,
work]. Null matches everything, still returning a result count of maxResults. In the case you specify maxResults4All, every type will be matched,
but maxResults is considered for every single type, so the maximum result count is the count of nodeTypes * maxResults
maxResults: the maximum count of results to return

return the resulting node ids

throws IOException
throws ParseException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getNodeIds4Name?name=String&nodeType=String&maxResults=int ⇒ Collection<Integer>


Gets all related, directly neighboured nodes of a starting node, together with the according relationships. A node and a relationship will be represented as a map
of key=>value pairs

startNodeId: the node id of the starting node

return a map, key: relation-node, value: related node. Each is represented as map of property key=>value pairs

throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getNodeNeighbours?startNodeId=int ⇒ List<RelationWithNode<Map<String, Collection<String>>, Map<String, Collection<String>>>>


Gets all related, directly neighboured nodes of a starting node, together with the according relationships. A node and a relationship will be represented as a map
of key=>value pairs

musicBrainzId: the musicbrainz id of the starting node. Note that this is the musicbrainz recordingId for tracks, and the musicbrainz releasegroupId for
releases

return a map, key: relation-node, value: related node. Each is represented as map of property key=>value pairs

throws CorruptIndexException
throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getNodeNeighbours?musicBrainzId=String ⇒ List<RelationWithNode<Map<String, Collection<String>>, Map<String, Collection<String>>>>


Gets the graph db nodes for all nodes that have a given value inside their name properties. The values will be sorted according to their relationship count.

name: the value that should be searched inside the name properties
nodeType: the type of the nodes that should be considered. Possible values are [artist, group, label, other, person, recording, release, releasegroup, url,
work]. Null matches everything, still returning a result count of maxResults. In the case you specify maxResults4All, every type will be matched,
but maxResults is considered for every single type, so the maximun result count is the count of nodeTypes * maxResults
maxResults: the maximum number of results to return

return the according nodes from the graph db

throws IOException
throws ParseException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getNodes4Name?name=String&nodeType=String&maxResults=int ⇒ Collection<Map<String, Collection<String>>>


Tries to find an URL to a picture, representing the given musicbrainz Id. The node type can be specified, nevertheless it is optional - specify it if you have it
because of performance reasons (otherwise the method had to try out different URLs).

musicBrainzId: the musicbrainz id you want to have a picture for
nodeType: the node type (optional, good for performance). Possible values are [artist, group, label, other, person, recording, release, releasegroup, url,
work]

return an URL to a related picture, if found
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getPictureArtUrl4MusicBrainzId?musicBrainzId=String&nodeType=String ⇒ String


Tries to find an URL to a picture, representing the given node.

nodeId: the node id you want to have a picture for

return an URL to a related picture, if found

throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getPictureArtUrl4NodeId?nodeId=int ⇒ String


Gets a relation from the graph

nodeId: this is the graph id of a node that is part of this relation. You can recieve this eg. with getNodeNeighbours. You must specify this parameter
for performance reasons.
relationIndex: this is the id/index of a relation that is source or target edge for nodeId. You can recieve this eg. with getNodeNeighbours

return the according relation from the graph

throws IOException
http://simrec.kl.dfki.de/simrec/graphPathRecoService/getRelation4RelationId?nodeId=int&relationIndex=int ⇒ Map<String, Collection<String>>

http://simrec.kl.dfki.de/simrec/graphPathRecoService/isAlive?ping=int ⇒ int


Recommends related nodes that are in a cheap neighbourhood to some starting nodes. You can specify the type of nodes you want to have as recommendation, e.g.
artist or release. This method makes use of the relationship weights defined by the simRec project.

nodeIds: the nodeIds that will be used as a starting point
nodeTypes4Results: the node types you want to have as recommendations. Possible values are [artist, group, label, other, person, recording, release,
releasegroup, url, work].
maxResultCount: the maximum number of results you want to have

return the cheap neighbour nodes, which will be considered as recommendations. As list of list with length two, each with first the nodeId, second the calculated
path(s) cost to recieve this node. This represents the score, smaller values better.
http://simrec.kl.dfki.de/simrec/graphPathRecoService/recommend?nodeIds=Set<Integer>&nodeTypes4Results=Set<String>&maxResultCount=int ⇒ LinkedList<LinkedList<Number>>