Index: modules/dli-api/trunk/swagger_server/swagger/swagger.yaml
===================================================================
--- modules/dli-api/trunk/swagger_server/swagger/swagger.yaml	(revision 47297)
+++ modules/dli-api/trunk/swagger_server/swagger/swagger.yaml	(revision 47298)
@@ -4,7 +4,7 @@
   description: "API for Scholix Object"
   version: "1.0.0"
   title: "Scholix API"
-host: "127.0.0.1:5100"
+host: "api-dliservice-prototype-dli.d4science.org"
 basePath: "/v1"
 schemes:
 - "https"
@@ -90,6 +90,38 @@
           schema:
             $ref: "#/definitions/Error"
       x-swagger-router-controller: "swagger_server.controllers.scholix_controller"
+  /linksFromPublishers:
+    get:
+      tags:
+      - "Scholix"
+      summary: "Get all scholix relation collected from a publisher"
+      description: "The linksFromPublishers endpoint returns a list of scholix\
+        \ object collected from\na specific publisher\n"
+      operationId: "links_from_publisher_get"
+      parameters:
+      - name: "publisher"
+        in: "query"
+        description: "the name of the publisher"
+        required: true
+        type: "string"
+      - name: "page"
+        in: "query"
+        description: "The page of results"
+        required: false
+        type: "integer"
+        format: "int32"
+      responses:
+        200:
+          description: "An array of scholix Object"
+          schema:
+            type: "array"
+            items:
+              $ref: "#/definitions/Scholix"
+        default:
+          description: "Unexpected error"
+          schema:
+            $ref: "#/definitions/Error"
+      x-swagger-router-controller: "swagger_server.controllers.scholix_controller"
   /listDatasources:
     get:
       tags:
@@ -172,7 +204,10 @@
         items:
           $ref: "#/definitions/DSType"
       publisher:
-        $ref: "#/definitions/ObjectType_publisher"
+        type: "array"
+        description: "a List of Publishers"
+        items:
+          $ref: "#/definitions/ObjectType_publisher"
   CreatorType:
     type: "object"
     properties:
Index: modules/dli-api/trunk/swagger_server/models/object_type.py
===================================================================
--- modules/dli-api/trunk/swagger_server/models/object_type.py	(revision 47297)
+++ modules/dli-api/trunk/swagger_server/models/object_type.py	(revision 47298)
@@ -34,7 +34,7 @@
         :param object_provider: The object_provider of this ObjectType.
         :type object_provider: List[DSType]
         :param publisher: The publisher of this ObjectType.
-        :type publisher: ObjectTypePublisher
+        :type publisher: List[ObjectTypePublisher]
         """
         self.swagger_types = {
             'identifiers': List[IdentifierType],
@@ -43,7 +43,7 @@
             'creators': List[CreatorType],
             'publication': date,
             'object_provider': List[DSType],
-            'publisher': ObjectTypePublisher
+            'publisher': List[ObjectTypePublisher]
         }
 
         self.attribute_map = {
@@ -210,9 +210,10 @@
     def publisher(self):
         """
         Gets the publisher of this ObjectType.
+        a List of Publishers
 
         :return: The publisher of this ObjectType.
-        :rtype: ObjectTypePublisher
+        :rtype: List[ObjectTypePublisher]
         """
         return self._publisher
 
@@ -220,9 +221,10 @@
     def publisher(self, publisher):
         """
         Sets the publisher of this ObjectType.
+        a List of Publishers
 
         :param publisher: The publisher of this ObjectType.
-        :type publisher: ObjectTypePublisher
+        :type publisher: List[ObjectTypePublisher]
         """
 
         self._publisher = publisher
Index: modules/dli-api/trunk/swagger_server/controllers/scholix_controller.py
===================================================================
--- modules/dli-api/trunk/swagger_server/controllers/scholix_controller.py	(revision 47297)
+++ modules/dli-api/trunk/swagger_server/controllers/scholix_controller.py	(revision 47298)
@@ -27,6 +27,24 @@
     return c.realtionFromDatasource(datasource, p)
 
 
+def links_from_publisher_get(publisher, page=None):
+    """
+    Get all scholix relation collected from a publisher
+    The LinksFromPublisher endpoint returns a list of scholix object collected from a specific publisher 
+    :param publisher: the name of the publisher
+    :type publisher: str
+    :param page: The page of results
+    :type page: int
+
+    :rtype: List[Scholix]
+    """
+    c = DLIESConnector('ip-90-147-167-27.ct1.garrservices.it')
+    p = 0
+    if page:
+        p = page
+    return c.realtionFromPublisher(publisher, p)
+
+
 def links_from_pid_get(pid, pidType=None, typologyTarget=None, datasourceTarget=None, page=None):
     """
     Retrieve all scholix links from a persistent identifier
Index: modules/dli-api/trunk/swagger_server/eu/dnetlib/DLIESConnector.py
===================================================================
--- modules/dli-api/trunk/swagger_server/eu/dnetlib/DLIESConnector.py	(revision 47297)
+++ modules/dli-api/trunk/swagger_server/eu/dnetlib/DLIESConnector.py	(revision 47298)
@@ -6,7 +6,7 @@
 
 
 class DLIESConnector(object):
-    def __init__(self, index_host, index_name='dli'):
+    def __init__(self, index_host, index_name='dli_shadow'):
         self.index_host = index_host
         self.client = Elasticsearch(hosts=[index_host])
         self.index_name = index_name
@@ -28,6 +28,11 @@
         args = {'linkprovider.name': value}
         return Q('nested', path='linkprovider', query=Q('bool', must=[Q('match', **args)]))
 
+    def create_publisher_query(self, value):
+        args = {'target.publisher.name': value}
+        q = Q('nested', path='target.publisher', query=Q('bool', must=[Q('match', **args)]))
+        return Q('nested', path='target', query=q)
+
     def list_datasources(self):
         search_object = Search(using=self.client, index=self.index_name).doc_type('scholix').query()
         search_object.aggs.bucket('all_datasources', 'nested', path='linkprovider').bucket('all_names', 'terms',
@@ -61,8 +66,10 @@
         if 'creator' in inputObj:
             result.creators = [CreatorType(x.name) for x in inputObj.creator]
         if 'publisher' in inputObj:
-            if len(inputObj.publisher.name) > 0:
-                result.publisher = [DSType(inputObj.publisher.name)]
+            publishers=[]
+            for p in inputObj.publisher:
+                publishers.append(p.name)
+            result.publisher = publishers
         return result
 
     def convertScholix(self, response):
@@ -101,3 +108,8 @@
         search_object = Search(using=self.client, index=self.index_name).doc_type('scholix').query(
             self.create_dataSource_query(datasource))
         return self.convertScholix(search_object[page:page + 10].execute())
+
+    def realtionFromPublisher(self, publisher, page=0):
+        search_object = Search(using=self.client, index=self.index_name).doc_type('scholix').query(
+            self.create_publisher_query(publisher))
+        return self.convertScholix(search_object[page:page + 10].execute())
Index: modules/dli-api/trunk/dli.yaml
===================================================================
--- modules/dli-api/trunk/dli.yaml	(revision 47297)
+++ modules/dli-api/trunk/dli.yaml	(revision 47298)
@@ -1,251 +1,256 @@
-swagger: '2.0'
+---
+swagger: "2.0"
 info:
-  title: Scholix API
-  description: API for Scholix Object
+  description: "API for Scholix Object"
   version: "1.0.0"
-# the domain of the service
-host: localhost
-# array of all schemes that your API supports
+  title: "Scholix API"
+host: "api-dliservice-prototype-dli.d4science.org"
+basePath: "/v1"
 schemes:
-  - http
-# will be prefixed to all paths
-basePath: /v1
+- "https"
 produces:
-  - application/json
+- "application/json"
 paths:
-  /realtionToPid:
+  /linksFromPid:
     get:
-      summary: Try to resolve a Persistent identifier
-      description: |
-        The realtionToPid endpoint returns a list of scholix object related to 
-        a specific persistent identifier
+      tags:
+      - "Scholix"
+      summary: "Retrieve all scholix links from a persistent identifier"
+      description: "The linksFromPid endpoint returns a list of scholix object related\
+        \ from a specific persistent identifier\n"
+      operationId: "links_from_pid_get"
       parameters:
-        - name: pid
-          in: query
-          description: persistent Identifier
-          required: true
-          type: string
-        - name: pidType
-          in: query
-          description: Persistent Identifier Type
-          required: false
-          type: string
-        - name: page
-          in: query
-          required: false
-          type: integer
-          format: int32
-          description: The page of results
-      tags:
-        - Scholix
+      - name: "pid"
+        in: "query"
+        description: "persistent Identifier"
+        required: true
+        type: "string"
+      - name: "pidType"
+        in: "query"
+        description: "Persistent Identifier Type"
+        required: false
+        type: "string"
+      - name: "typologyTarget"
+        in: "query"
+        description: "typology target filter should be  publication, dataset or unknown"
+        required: false
+        type: "string"
+      - name: "datasourceTarget"
+        in: "query"
+        description: "a datasource provenace filter of the target relation"
+        required: false
+        type: "string"
+      - name: "page"
+        in: "query"
+        description: "The page of results"
+        required: false
+        type: "integer"
+        format: "int32"
       responses:
         200:
-          description: An array of scholix Object
+          description: "An array of scholix Object"
           schema:
-            type: array
+            type: "array"
             items:
-              $ref: '#/definitions/Scholix'
+              $ref: "#/definitions/Scholix"
         default:
-          description: Unexpected error
+          description: "Unexpected error"
           schema:
-            $ref: '#/definitions/Error'
-
-  /realtionToTypology:
+            $ref: "#/definitions/Error"
+      x-swagger-router-controller: "swagger_server.controllers.scholix_controller"
+  /linksFromDatasource:
     get:
-      summary: list of all scholix related to a particular typology
-      description: |
-        The realtionToTypology endpoint returns a list of scholix object related to 
-        a specific typology (dataset, publication, unknown)
+      tags:
+      - "Scholix"
+      summary: "Get all scholix relation collected from a datasource"
+      description: "The realtionFromDatasource endpoint returns a list of scholix\
+        \ object collected from\na specific datasource\n"
+      operationId: "links_from_datasource_get"
       parameters:
-        - name: typology
-          in: query
-          description: type of target object
-          required: true
-          type: string
-        - name: page
-          in: query
-          required: false
-          type: integer
-          format: int32
-          description: The page of results
-      tags:
-        - Scholix
+      - name: "datasource"
+        in: "query"
+        description: "the name of the datasource"
+        required: true
+        type: "string"
+      - name: "page"
+        in: "query"
+        description: "The page of results"
+        required: false
+        type: "integer"
+        format: "int32"
       responses:
         200:
-          description: An array of scholix Object
+          description: "An array of scholix Object"
           schema:
-            type: array
+            type: "array"
             items:
-              $ref: '#/definitions/Scholix'
+              $ref: "#/definitions/Scholix"
         default:
-          description: Unexpected error
+          description: "Unexpected error"
           schema:
-            $ref: '#/definitions/Error'
-
-            
-  /realtionFromDatasource:
+            $ref: "#/definitions/Error"
+      x-swagger-router-controller: "swagger_server.controllers.scholix_controller"
+  /linksFromPublishers:
     get:
-      summary: Get all scholix relation collected from a datasource
-      description: |
-        The realtionFromDatasource endpoint returns a list of scholix object collected from
-        a specific datasource
+      tags:
+      - "Scholix"
+      summary: "Get all scholix relation collected from a publisher"
+      description: "The linksFromPublishers endpoint returns a list of scholix\
+        \ object collected from\na specific publisher\n"
+      operationId: "links_from_datasource_get"
       parameters:
-        - name: datasource
-          in: query
-          description: the name of the datasource
-          required: true
-          type: string
-        - name: page
-          in: query
-          required: false
-          type: integer
-          format: int32
-          description: The page of results
-      tags:
-        - Scholix
-        - Datasources
+      - name: "publisher"
+        in: "query"
+        description: "the name of the publisher"
+        required: true
+        type: "string"
+      - name: "page"
+        in: "query"
+        description: "The page of results"
+        required: false
+        type: "integer"
+        format: "int32"
       responses:
         200:
-          description: An array of scholix Object
+          description: "An array of scholix Object"
           schema:
-            type: array
+            type: "array"
             items:
-              $ref: '#/definitions/Scholix'
+              $ref: "#/definitions/Scholix"
         default:
-          description: Unexpected error
+          description: "Unexpected error"
           schema:
-            $ref: '#/definitions/Error'
-            
-            
+            $ref: "#/definitions/Error"
+      x-swagger-router-controller: "swagger_server.controllers.scholix_controller"
   /listDatasources:
     get:
-      summary: Get the list of all Datasources
-      description: |
-        The realtionFromDatasource endpoint returns a list of scholix object collected from
-        a specific datasource
+      tags:
+      - "Datasources"
+      summary: "Get the list of all Datasources"
+      description: "The realtionFromDatasource endpoint returns a list of scholix\
+        \ object collected from\na specific datasource\n"
+      operationId: "list_datasources_get"
       parameters:
-        - name: page
-          in: query
-          required: false
-          type: integer
-          format: int32
-          description: The page of results
-      tags:
-        - Datasources
+      - name: "page"
+        in: "query"
+        description: "The page of results"
+        required: false
+        type: "integer"
+        format: "int32"
       responses:
         200:
-          description: An array of Datasource name
+          description: "An array of Datasource name"
           schema:
-            type: array
+            type: "array"
             items:
-              type: string
+              type: "string"
         default:
-          description: Unexpected error
+          description: "Unexpected error"
           schema:
-            $ref: '#/definitions/Error'
-  
+            $ref: "#/definitions/Error"
+      x-swagger-router-controller: "swagger_server.controllers.datasources_controller"
 definitions:
   Scholix:
-    type: object
+    type: "object"
     properties:
       publicationDate:
-        type: string
-        format: date
+        type: "string"
+        format: "date"
       linkPublisher:
-        $ref: '#/definitions/DSType'
+        $ref: "#/definitions/DSType"
       linkProvider:
-        type: array
+        type: "array"
         items:
-          $ref: '#/definitions/DSType'
+          $ref: "#/definitions/DSType"
       relationship:
-        $ref: '#/definitions/RelationshipType'
+        $ref: "#/definitions/RelationshipType"
       source:
-        $ref: '#/definitions/ObjectType'
+        $ref: "#/definitions/ObjectType"
       target:
-        $ref: '#/definitions/ObjectType'
+        $ref: "#/definitions/ObjectType"
   DSType:
-    type: object
+    type: "object"
     properties:
       name:
-        type: string
-        description: The name of the Repository that provides the link
+        type: "string"
+        description: "The name of the Repository that provides the link"
       identifiers:
-        type: array
-        description: a List of Identifiers that identify the repository
-        items: 
-          $ref: '#/definitions/IdentifierType'
+        type: "array"
+        description: "a List of Identifiers that identify the repository"
+        items:
+          $ref: "#/definitions/IdentifierType"
   ObjectType:
-    type: object
+    type: "object"
     properties:
       identifiers:
-        type: array
-        description: a List of Identifiers that identify the repository
-        items: 
-          $ref: '#/definitions/IdentifierType'
+        type: "array"
+        description: "a List of Identifiers that identify the repository"
+        items:
+          $ref: "#/definitions/IdentifierType"
       objectType:
-        type: object
-        properties:
-          type:
-            type: string
-          subType:
-            type: string
+        $ref: "#/definitions/ObjectType_objectType"
       title:
-        type: string
+        type: "string"
       creators:
-        type: array
-        description: a List of Identifiers that identify the repository
-        items: 
-          $ref: '#/definitions/CreatorType'
+        type: "array"
+        description: "a List of Identifiers that identify the repository"
+        items:
+          $ref: "#/definitions/CreatorType"
       publication:
-        type: string
-        format: date
+        type: "string"
+        format: "date"
       objectProvider:
-        type: array
+        type: "array"
         items:
-          $ref: '#/definitions/DSType'
+          $ref: "#/definitions/DSType"
       publisher:
-        type: object
-        properties:
-          name:
-            type: string
-          identifiers:
-            type: array
-            description: a List of Identifiers that identify the repository
-            items: 
-              $ref: '#/definitions/IdentifierType'
-          
+        $ref: "#/definitions/ObjectType_publisher"
   CreatorType:
-    type: object
+    type: "object"
     properties:
       name:
-        type: string
+        type: "string"
       identifiers:
-        type: array
-        description: a List of Identifiers that identify the repository
-        items: 
-          $ref: '#/definitions/IdentifierType'
-      
+        type: "array"
+        description: "a List of Identifiers that identify the repository"
+        items:
+          $ref: "#/definitions/IdentifierType"
   IdentifierType:
-    type: object
+    type: "object"
     properties:
-      identifier: 
-        type: string
+      identifier:
+        type: "string"
       schema:
-        type: string
+        type: "string"
   RelationshipType:
-    type: object
+    type: "object"
     properties:
       name:
-        type: string
+        type: "string"
       schema:
-        type: string
+        type: "string"
       inverseRelationship:
-        type: string
+        type: "string"
   Error:
-    type: object
+    type: "object"
     properties:
       code:
-        type: integer
-        format: int32
+        type: "integer"
+        format: "int32"
       message:
-        type: string
\ No newline at end of file
+        type: "string"
+  ObjectType_objectType:
+    properties:
+      type:
+        type: "string"
+      subType:
+        type: "string"
+  ObjectType_publisher:
+    properties:
+      name:
+        type: "string"
+      identifiers:
+        type: "array"
+        description: "a List of Identifiers that identify the repository"
+        items:
+          $ref: "#/definitions/IdentifierType"
