{"componentChunkName":"component---src-templates-thesis-page-js","path":"/theses/FedQ-MWJ/","result":{"data":{"mdx":{"frontmatter":{"title":"Federated Query Processing over Knowledge Graphs","supervisor":"dice:MuhammadSaleem","contact":"dice:MuhammadSaleem","type":"Master"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"date\": \"2026-10-15\",\n  \"title\": \"Federated Query Processing over Knowledge Graphs\",\n  \"type\": \"Master\",\n  \"supervisor\": \"dice:MuhammadSaleem\",\n  \"contact\": \"dice:MuhammadSaleem\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h3\", {\n    \"id\": \"background\"\n  }, \"Background\"), mdx(\"p\", null, \"Federated query processing aims to collect data from multiple databases. In the dice research group, we have an engine named CostFed that performs the federated SPARQL query processing over multipl Knowledge Graphs.\\nIt performs the traditional binary join approach, i.e., takes two SPARQL triple pattern and make a join of the results. The results are then joined with another triple pattern, untill all the triple patterns are joined and final results are computed for the given query.\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"In this thesis, we aim to extended the query processing capabilities of Costfed to perform the multi-way joins, i.e., take more than one triple pattern at a time and perform a join, untill left no join variable. \"), mdx(\"h3\", {\n    \"id\": \"your-task\"\n  }, \"Your Task\"), mdx(\"p\", null, \"You will extend CostFed engine (developed in Java) and implement the multi-way join query processing. Your implemenation will be in Java. The evaluation will be performed using the standard LargeRDFBench.\"), mdx(\"h3\", {\n    \"id\": \"your-profil\"\n  }, \"Your Profil\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Good Java programming skills\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"You have fun with query processing and interested in developing new query processing schemes.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Experience with knowledge graph standards like SPARQL and RDF (helps, but is not required)\")));\n}\n;\nMDXContent.isMDXComponent = true;"}},"pageContext":{}},"staticQueryHashes":["2497506207","63159454","932199770"]}