{"id":{"repo_id":"umkc","oai_identifier":"oai:mospace.umsystem.edu:10355/60058"},"canonical_url":"https://search.dev.ndltd.org/etd/umkc/oai:mospace.umsystem.edu:10355/60058","repository":{"repo_id":"umkc","name":"University of Missouri - Kansas City","base_url":"https://mospace.umsystem.edu/oai/request"},"display":{"title":"Improving the Performance of Parallel SPARQL Query Processing on Apache Spark Using Bloom Filters","abstract":"The Resource Description Framework (RDF) has become the standard model for data representation on the Web. In RDF, IRIs are used to represent entities and their relationships. SPARQL is the query language for RDF. Today, popular knowledge bases on the Web (e.g., Wikidata, YAGO, Linked Data) employ RDF and SPARQL for representing data and querying relevant information. There is also a growing number of applications in domains such as healthcare, finance, and national security that are employing RDF and Web Ontology Language (OWL). In recent years, the size of RDF datasets on the Web has grown tremendously. Techniques designed for centralized RDF query processing are no longer capable of efficiently handling billions of triples in an RDF dataset. This has led to the use of parallel RDF query processing techniques utilizing cluster computing. Among the different platforms for cluster computing, Apache Spark has emerged as the industry leader with a huge development community. In this thesis, we extend our previous work on parallel SPARQL query processing using Apache Spark, which proposed a simple partitioning strategy for a large RDF dataset. In that study, we computed connected components in large RDF datasets followed by indexing groups of those connected components on different machines in the cluster. However, such an approach yields poor performance when the queries are highly selective and produce results only on a few indexes in the cluster. Motivated by these reasons, we propose a Bloom filter-based approach to improve the performance of parallel SPARQL query processing on Apache Spark. We construct a Bloom filter for each index based on different patterns over (subject, predicate, object) triples stored in that index. When a query is posed, the Bloom filters are first tested in parallel on the cluster nodes. The actual query is executed only on those indexes whose Bloom filters indicate a possible match. Thus, fewer indexes are queried resulting in faster query execution time. We present the performance evaluation of our approach using a real dataset containing 6.4 billion triples (806 GB) on a 7-node cluster (with 56 cores) setup on Microsoft Azure. We show that our approach of leveraging Bloom filters during query processing improves the performance of SPARQL query execution on Apache Spark.","abstract_html":"The Resource Description Framework (RDF) has become the standard model for data representation on the Web. In RDF, IRIs are used to represent entities and their relationships. SPARQL is the query language for RDF. Today, popular knowledge bases on the Web (e.g., Wikidata, YAGO, Linked Data) employ RDF and SPARQL for representing data and querying relevant information. There is also a growing number of applications in domains such as healthcare, finance, and national security that are employing RDF and Web Ontology Language (OWL). In recent years, the size of RDF datasets on the Web has grown tremendously. Techniques designed for centralized RDF query processing are no longer capable of efficiently handling billions of triples in an RDF dataset. This has led to the use of parallel RDF query processing techniques utilizing cluster computing. Among the different platforms for cluster computing, Apache Spark has emerged as the industry leader with a huge development community. In this thesis, we extend our previous work on parallel SPARQL query processing using Apache Spark, which proposed a simple partitioning strategy for a large RDF dataset. In that study, we computed connected components in large RDF datasets followed by indexing groups of those connected components on different machines in the cluster. However, such an approach yields poor performance when the queries are highly selective and produce results only on a few indexes in the cluster. Motivated by these reasons, we propose a Bloom filter-based approach to improve the performance of parallel SPARQL query processing on Apache Spark. We construct a Bloom filter for each index based on different patterns over (subject, predicate, object) triples stored in that index. When a query is posed, the Bloom filters are first tested in parallel on the cluster nodes. The actual query is executed only on those indexes whose Bloom filters indicate a possible match. Thus, fewer indexes are queried resulting in faster query execution time. We present the performance evaluation of our approach using a real dataset containing 6.4 billion triples (806 GB) on a 7-node cluster (with 56 cores) setup on Microsoft Azure. We show that our approach of leveraging Bloom filters during query processing improves the performance of SPARQL query execution on Apache Spark.","abstract_has_math":false,"creators":["Kolla, Venubabu"],"institution":"University of Missouri--Kansas City","degree_name":"M.S.","degree_level":"Masters","degree_discipline":"Computer Science (UMKC)","degree_department":null,"school":null,"contributors":[],"advisors":["Rao, Praveen R."],"committee_chairs":[],"committee_members":[],"year":2017,"date_issued":"2017","date_published":"2017","updated_at":"2026-07-24T05:16:57Z","subjects":[],"languages":["en_US"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/10355/60058","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Rao, Praveen R."]},{"key":"dc:creator","label":"Author","values":["Kolla, Venubabu"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2017-04-18T18:11:57Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2017-04-18T18:11:57Z"]},{"key":"dc:date.issued","label":"Date","values":["2017"]},{"key":"dc:publisher","label":"Institution","values":["University of Missouri--Kansas City"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science (UMKC)"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Masters"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Missouri--Kansas City"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en_US"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/10355/60058"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Title from PDF of title page, viewed April 26, 2017","Thesis advisor: Praveen Rao","Vita","Includes bibliographical references (pages 49-52)","Thesis (M.S.)--School of Computing and Engineering. University of Missouri--Kansas City, 2017"]},{"key":"dc:description.abstract","label":"Abstract","values":["The Resource Description Framework (RDF) has become the standard model for data representation on the Web. In RDF, IRIs are used to represent entities and their relationships. SPARQL is the query language for RDF. Today, popular knowledge bases on the Web (e.g., Wikidata, YAGO, Linked Data) employ RDF and SPARQL for representing data and querying relevant information. There is also a growing number of applications in domains such as healthcare, finance, and national security that are employing RDF and Web Ontology Language (OWL). In recent years, the size of RDF datasets on the Web has grown tremendously. Techniques designed for centralized RDF query processing are no longer capable of efficiently handling billions of triples in an RDF dataset. This has led to the use of parallel RDF query processing techniques utilizing cluster computing. Among the different platforms for cluster computing, Apache Spark has emerged as the industry leader with a huge development community. In this thesis, we extend our previous work on parallel SPARQL query processing using Apache Spark, which proposed a simple partitioning strategy for a large RDF dataset. In that study, we computed connected components in large RDF datasets followed by indexing groups of those connected components on different machines in the cluster. However, such an approach yields poor performance when the queries are highly selective and produce results only on a few indexes in the cluster. Motivated by these reasons, we propose a Bloom filter-based approach to improve the performance of parallel SPARQL query processing on Apache Spark. We construct a Bloom filter for each index based on different patterns over (subject, predicate, object) triples stored in that index. When a query is posed, the Bloom filters are first tested in parallel on the cluster nodes. The actual query is executed only on those indexes whose Bloom filters indicate a possible match. Thus, fewer indexes are queried resulting in faster query execution time. We present the performance evaluation of our approach using a real dataset containing 6.4 billion triples (806 GB) on a 7-node cluster (with 56 cores) setup on Microsoft Azure. We show that our approach of leveraging Bloom filters during query processing improves the performance of SPARQL query execution on Apache Spark."]},{"key":"dc:title","label":"Title","values":["Improving the Performance of Parallel SPARQL Query Processing on Apache Spark Using Bloom Filters"]}]}],"canonical_facts":{"dc:contributor.advisor":["Rao, Praveen R."],"dc:creator":["Kolla, Venubabu"],"dc:date.accessioned":["2017-04-18T18:11:57Z"],"dc:date.available":["2017-04-18T18:11:57Z"],"dc:date.issued":["2017"],"dc:description":["Title from PDF of title page, viewed April 26, 2017","Thesis advisor: Praveen Rao","Vita","Includes bibliographical references (pages 49-52)","Thesis (M.S.)--School of Computing and Engineering. University of Missouri--Kansas City, 2017"],"dc:description.abstract":["The Resource Description Framework (RDF) has become the standard model for data representation on the Web. In RDF, IRIs are used to represent entities and their relationships. SPARQL is the query language for RDF. Today, popular knowledge bases on the Web (e.g., Wikidata, YAGO, Linked Data) employ RDF and SPARQL for representing data and querying relevant information. There is also a growing number of applications in domains such as healthcare, finance, and national security that are employing RDF and Web Ontology Language (OWL). In recent years, the size of RDF datasets on the Web has grown tremendously. Techniques designed for centralized RDF query processing are no longer capable of efficiently handling billions of triples in an RDF dataset. This has led to the use of parallel RDF query processing techniques utilizing cluster computing. Among the different platforms for cluster computing, Apache Spark has emerged as the industry leader with a huge development community. In this thesis, we extend our previous work on parallel SPARQL query processing using Apache Spark, which proposed a simple partitioning strategy for a large RDF dataset. In that study, we computed connected components in large RDF datasets followed by indexing groups of those connected components on different machines in the cluster. However, such an approach yields poor performance when the queries are highly selective and produce results only on a few indexes in the cluster. Motivated by these reasons, we propose a Bloom filter-based approach to improve the performance of parallel SPARQL query processing on Apache Spark. We construct a Bloom filter for each index based on different patterns over (subject, predicate, object) triples stored in that index. When a query is posed, the Bloom filters are first tested in parallel on the cluster nodes. The actual query is executed only on those indexes whose Bloom filters indicate a possible match. Thus, fewer indexes are queried resulting in faster query execution time. We present the performance evaluation of our approach using a real dataset containing 6.4 billion triples (806 GB) on a 7-node cluster (with 56 cores) setup on Microsoft Azure. We show that our approach of leveraging Bloom filters during query processing improves the performance of SPARQL query execution on Apache Spark."],"dc:identifier.uri":["https://hdl.handle.net/10355/60058"],"dc:language.iso":["en_US"],"dc:publisher":["University of Missouri--Kansas City"],"dc:title":["Improving the Performance of Parallel SPARQL Query Processing on Apache Spark Using Bloom Filters"],"dc:type":["Thesis"],"thesis:degree_discipline":["Computer Science (UMKC)"],"thesis:degree_level":["Masters"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Missouri--Kansas City"]},"updated_at":"2026-07-24T05:16:57Z"}