diff --git a/src/client/components/facet_results/Network.js b/src/client/components/facet_results/Network.js
index 2ef9ca8b3bfe0f3a0edfeccef44930521d4c7808..61ca5fd50b432c2566cef116be6e1dc2fbdab609 100644
--- a/src/client/components/facet_results/Network.js
+++ b/src/client/components/facet_results/Network.js
@@ -23,6 +23,12 @@ class Network extends React.Component {
   }
 
   componentDidMount = () => {
+
+    this.props.fetchResults({
+      resultClass: this.props.resultClass,
+      facetClass: this.props.facetClass,
+    });
+
     this.cy = cytoscape({
       container: this.cyRef.current
     });
@@ -45,7 +51,11 @@ class Network extends React.Component {
 }
 
 Network.propTypes = {
-  classes: PropTypes.object.isRequired
+  classes: PropTypes.object.isRequired,
+  results: PropTypes.object,
+  fetchResults: PropTypes.func.isRequired,
+  resultClass: PropTypes.string.isRequired,
+  facetClass: PropTypes.string.isRequired,
 };
 
 export default withStyles(styles)(Network);
diff --git a/src/client/components/perspectives/mmm/Manuscripts.js b/src/client/components/perspectives/mmm/Manuscripts.js
index 193c8dc78f400fd10a23a7bcd2cc52667f48b821..b42d192f3cc57f366eb1bdaacc68551be68de398 100644
--- a/src/client/components/perspectives/mmm/Manuscripts.js
+++ b/src/client/components/perspectives/mmm/Manuscripts.js
@@ -81,7 +81,10 @@ let Manuscripts = props => {
         path={'/manuscripts/faceted-search/network'}
         render={() =>
           <Network
-
+            results={props.manuscripts.results}
+            fetchResults={props.fetchResults}
+            resultClass='manuscriptsNetwork'
+            facetClass='manuscripts'
           />}
       />
       <Route
diff --git a/src/client/reducers/mmm/manuscripts.js b/src/client/reducers/mmm/manuscripts.js
index e80f43ba4af74c79c938a3aa842a7eb6e6202a2b..3d79097cd2c35c19b646c26e7ad68910e7d92a11 100644
--- a/src/client/reducers/mmm/manuscripts.js
+++ b/src/client/reducers/mmm/manuscripts.js
@@ -30,7 +30,7 @@ import {
 } from '../helpers';
 
 export const INITIAL_STATE = {
-  results: [],
+  results: null,
   resultsSparqlQuery: null,
   paginatedResults: [],
   paginatedResultsSparqlQuery: null,
diff --git a/src/server/sparql/FacetResults.js b/src/server/sparql/FacetResults.js
index 5faba03b0909e9d839f2dc146131cf3e8471b16d..781a6beab4459dd9786eac83313c99c7c70af1ed 100644
--- a/src/server/sparql/FacetResults.js
+++ b/src/server/sparql/FacetResults.js
@@ -1,4 +1,5 @@
 import { runSelectQuery } from './SparqlApi';
+import { runNetworkQuery } from './NetworkApi';
 import { prefixes } from './SparqlQueriesPrefixes';
 import {
   endpoint,
@@ -14,8 +15,8 @@ import {
   productionPlacesQuery,
   lastKnownLocationsQuery,
   migrationsQuery,
-  networkQuery,
-  allManuscriptsQuery
+  networkLinksQuery,
+  networkNodesQuery
 } from './SparqlQueriesManuscripts';
 import { workProperties } from './SparqlQueriesWorks';
 import { eventProperties, eventPlacesQuery } from './SparqlQueriesEvents';
@@ -110,13 +111,9 @@ export const getAllResults = ({
       q = generateEventsByPeriodQuery({ startYear: 1600, endYear: 1620, periodLength: 10 });
       filterTarget = 'event';
       break;
-    case 'network':
-      q = networkQuery;
-      filterTarget = 'manuscript__id';
-      break;
-    case 'allManuscripts':
-      q = allManuscriptsQuery;
-      filterTarget = 'id';
+    case 'manuscriptsNetwork':
+      q = networkLinksQuery;
+      filterTarget = 'source';
       break;
   }
   if (constraints == null) {
@@ -130,6 +127,15 @@ export const getAllResults = ({
       facetID: null
     }));
   }
+  if (resultClass === 'manuscriptsNetwork') {
+    // console.log(prefixes + q)
+    return runNetworkQuery({
+      endpoint,
+      prefixes,
+      links: q,
+      nodes: networkNodesQuery,
+    });
+  }
   // console.log(prefixes + q)
   return runSelectQuery({
     query: prefixes + q,
diff --git a/src/server/sparql/NetworkApi.js b/src/server/sparql/NetworkApi.js
new file mode 100644
index 0000000000000000000000000000000000000000..f4638feb970290832594d9f8da9c952f415952f4
--- /dev/null
+++ b/src/server/sparql/NetworkApi.js
@@ -0,0 +1,45 @@
+import axios from 'axios';
+
+export const runNetworkQuery = async({
+  endpoint,
+  prefixes,
+  links,
+  nodes
+}) => {
+  const headers = {
+    'Content-Type': 'application/x-www-form-urlencoded',
+  };
+  const params = JSON.stringify({
+    endpoint,
+    prefixes,
+    nodes,
+    links
+  });
+  try {
+    const response = await axios({
+      method: 'post',
+      headers: headers,
+      url: 'http://127.0.0.1:5000/query',
+      data: params,
+    });
+    return response.data;
+  } catch(error) {
+    if (error.response) {
+    // The request was made and the server responded with a status code
+    // that falls out of the range of 2xx
+      console.log(error.response.data);
+    //console.log(error.response.status);
+    //console.log(error.response.headers);
+    } else if (error.request) {
+      // The request was made but no response was received
+      // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
+      // http.ClientRequest in node.js
+      console.log(error.request);
+    } else {
+    // Something happened in setting up the request that triggered an Error
+      console.log('Error', error.message);
+    }
+    console.log(error.config);
+  }
+};
+;
diff --git a/src/server/sparql/SparqlApi.js b/src/server/sparql/SparqlApi.js
index 30eb68e44faa1fa218e62b5e550b7687e1f5adf3..0cbb54783961d2b402296bb55262da8a96080cc8 100644
--- a/src/server/sparql/SparqlApi.js
+++ b/src/server/sparql/SparqlApi.js
@@ -1,9 +1,5 @@
 import axios from 'axios';
 import querystring from 'querystring';
-// const defaultConstructHeaders = {
-//   'Content-Type': 'application/x-www-form-urlencoded',
-//   'Accept': 'text/turtle'
-// };
 
 export const runSelectQuery = async ({
   query,
diff --git a/src/server/sparql/SparqlQueriesManuscripts.js b/src/server/sparql/SparqlQueriesManuscripts.js
index 861e0e1fd67c668277362a2121dcc1bf24e3f646..d04deff919122ad72f108341b828ed43a9ec13fd 100644
--- a/src/server/sparql/SparqlQueriesManuscripts.js
+++ b/src/server/sparql/SparqlQueriesManuscripts.js
@@ -424,11 +424,21 @@ export const collectionProperties =
 `;
 
 
-export const allManuscriptsQuery = `
-  SELECT ?id ?prefLabel
+export const networkLinksQuery = `
+  SELECT DISTINCT ?source ?target
   WHERE {
     <FILTER>
-    ?id a frbroo:F4_Manifestation_Singleton ;
+    ?source mmm-schema:manuscript_author ?target .
+  }
+  LIMIT 100
+`;
+
+export const networkNodesQuery = `
+  SELECT DISTINCT ?id ?prefLabel ?class
+  WHERE {
+    VALUES ?class { frbroo:F4_Manifestation_Singleton crm:E21_Person }
+    VALUES ?id { <ID_SET> }
+    ?id a ?class ;
         skos:prefLabel ?prefLabel .
   }
 `;
@@ -479,10 +489,3 @@ export const migrationsQuery = `
     BIND(IRI(CONCAT(STR(?from__id), "-", REPLACE(STR(?to__id), "http://ldf.fi/mmm/place/", ""))) as ?id)
   }
 `;
-
-export const networkQuery = `
-  SELECT DISTINCT ?id
-  WHERE {
-
-  }
-`;