Câu hỏi: BDI302c Dữ liệu lớn – Bộ ôn tập cuối kỳ số 1
60 câu trắc nghiệm kèm lời giải của môn BDI302c - Dữ liệu lớn, xếp đúng thứ tự trong đề.
Danh sách câu hỏi
20/60 câuCòn 40
AFlume
BSqoop
CPig
DHive
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Sqoop". Sqoop (ghép từ SQL-to-Hadoop) là công cụ hệ sinh thái Hadoop chuyên chuyển dữ liệu hàng loạt (bulk transfer) giữa Hadoop và cơ sở dữ liệu quan hệ: lệnh import đọc bảng từ MySQL, Oracle qua JDBC rồi ghi vào HDFS, Hive hoặc HBase, lệnh export đẩy kết quả ngược về bảng quan hệ, và bên dưới nó chạy thành các tác vụ MapReduce song song. "Flume" cũng đưa dữ liệu vào Hadoop nhưng dành cho dữ liệu luồng như log sự kiện, gom từ nhiều nguồn sinh liên tục chứ không đọc bảng quan hệ. "Pig" là nền tảng xử lý với ngôn ngữ dòng dữ liệu Pig Latin, dùng để biến đổi dữ liệu đã nằm trong Hadoop chứ không phải cầu nối với cơ sở dữ liệu quan hệ. "Hive" là kho dữ liệu cho phép truy vấn dữ liệu trên HDFS bằng HiveQL giống SQL; nó thường là đích mà Sqoop nạp dữ liệu vào, bản thân không chuyên chuyển dữ liệu từ cơ sở dữ liệu quan hệ.
AAcquire
BAnalyze
CPrepare
DReport
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Prepare". Quy trình khoa học dữ liệu thường chia năm bước: thu thập (Acquire), chuẩn bị (Prepare), phân tích (Analyze), báo cáo (Report) và hành động (Act); bước chuẩn bị gồm khám phá dữ liệu để hiểu bản chất của nó rồi tiền xử lý như làm sạch, xử lý giá trị thiếu, chuẩn hoá, chọn và biến đổi đặc trưng, tức là đưa dữ liệu thô về dạng mà mô hình dùng được. "Acquire" chỉ là xác định và lấy dữ liệu về từ các nguồn, dữ liệu lúc đó vẫn còn thô. "Analyze" là bước chọn kỹ thuật phân tích, dựng và đánh giá mô hình, vốn đòi hỏi dữ liệu đã được chuẩn bị xong từ trước. "Report" là trình bày kết quả và phát hiện cho người ra quyết định, nằm ở cuối quy trình nên không còn biến đổi dữ liệu thô nữa.
APay-as-you-go model
BProbabilistic Schema Mapping
CMany sources
DMediated Schema
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Many sources". Bài toán tích hợp thông tin (information integration) trong dữ liệu lớn khó chủ yếu vì số nguồn quá nhiều: hàng trăm, hàng nghìn nguồn với lược đồ, định dạng và chất lượng khác nhau, nên không thể ngồi đối chiếu thủ công từng cặp lược đồ như khi chỉ có vài cơ sở dữ liệu. "Pay-as-you-go model" không phải vấn đề mà là một cách giải: tích hợp dần theo nhu cầu, chỉ ghép những phần thật sự được dùng thay vì tích hợp trọn gói ngay từ đầu. "Probabilistic Schema Mapping" cũng là kỹ thuật giải quyết, gán xác suất cho các ánh xạ lược đồ khi chưa chắc thuộc tính nào khớp với thuộc tính nào. "Mediated Schema" là lược đồ trung gian hợp nhất nhiều lược đồ nguồn để người dùng truy vấn qua một giao diện chung; nó là sản phẩm của quá trình tích hợp, không phải nguyên nhân gây khó.
ABeing able to use personalized data from every single customer for personalized marketing needs
BTo obtain and use customer information for groups of consumers and utilize it for marketing needs
CMarketing to each customer on an individual level and suiting to their needs
DPersonalized marketing addressing individual customer needs
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Being able to use personalized data from every single customer for personalized marketing needs". Personalized marketing (marketing cá nhân hoá) nhờ dữ liệu lớn nghĩa là thu thập, lưu trữ và phân tích dữ liệu riêng của từng khách hàng như lịch sử mua, hành vi duyệt web, vị trí, rồi dựa vào đó đưa ra thông điệp riêng cho từng người; làm được điều này với hàng triệu khách hàng chính là việc của hạ tầng dữ liệu lớn, nên phương án này nêu đúng cả hai vế. Chỗ dễ tranh cãi là "Marketing to each customer on an individual level and suiting to their needs": một số tài liệu ôn tập ghi nó là đáp án và nó không sai về marketing cá nhân hoá, nhưng nó chỉ mô tả marketing cá nhân hoá nói chung mà không nêu vai trò của dữ liệu, trong khi câu hỏi nhắm vào chữ powered by big data. "Personalized marketing addressing individual customer needs" cũng chỉ lặp lại định nghĩa chung, không nói tới dữ liệu. Còn mảnh "for groups of consumers and utilize it" mô tả marketing theo phân khúc (segmentation), nhắm vào nhóm người tiêu dùng chứ không phải từng cá nhân.
ABusiness rules
BCleaning data
CSelecting modeling technique
DDeploying models
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Selecting modeling technique". CRISP-DM (Cross-Industry Standard Process for Data Mining, quy trình chuẩn liên ngành cho khai phá dữ liệu) gồm sáu pha: Business Understanding, Data Understanding, Data Preparation, Modeling, Evaluation và Deployment. Pha Modeling (mô hình hoá) bắt đầu bằng việc chọn kỹ thuật mô hình phù hợp như cây quyết định, hồi quy hay phân cụm, sau đó thiết kế cách kiểm thử, xây mô hình và tinh chỉnh tham số. "Business rules" gắn với pha Business Understanding, nơi xác định mục tiêu và ràng buộc nghiệp vụ trước khi chạm tới dữ liệu. "Cleaning data" là việc của pha Data Preparation, diễn ra trước khi mô hình hoá để có dữ liệu sạch làm đầu vào. "Deploying models" thuộc pha cuối Deployment, khi mô hình đã được đánh giá xong và đưa vào vận hành.
Amatch p=(a)-[:TO*]->(p) return p
Bmatch p=shortestPath((a)-[:TO*]->(p)) return p
Cmatch p=(a)-[:TO*1..5]->(p) return p
DshortestPath(a TO P)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "match p=shortestPath((a)-[:TO*]->(p)) return p". Trong Cypher, ngôn ngữ truy vấn của Neo4j, hàm shortestPath nhận một mẫu đường đi có độ dài biến thiên và trả về một đường ngắn nhất giữa hai nút; ký hiệu [:TO*] nghĩa là đi qua một hoặc nhiều quan hệ loại TO, còn biến p được gán cho cả đường đi để trả về. Phương án "match p=(a)-[:TO*]->(p) return p" thiếu hàm shortestPath nên trả về mọi đường đi có thể giữa hai nút, không chỉ đường ngắn nhất, và trên đồ thị lớn số đường này có thể bùng nổ. Phương án "match p=(a)-[:TO*1..5]->(p) return p" chỉ giới hạn độ dài từ 1 đến 5 bước, vẫn liệt kê mọi đường trong giới hạn đó chứ không chọn đường ngắn nhất. Còn "shortestPath(a TO P)" không phải câu lệnh Cypher hợp lệ vì thiếu mệnh đề match, thiếu cú pháp nút trong ngoặc tròn và quan hệ trong ngoặc vuông. Lưu ý các truy vấn trong đề viết rút gọn: chúng dùng p vừa làm tên đường đi vừa làm tên nút đích, trên Neo4j thật sẽ báo lỗi biến đã khai báo, nên khi viết thật cần đặt tên nút khác, nhưng ý của từng phương án vẫn đọc được như trên.
7What does SaaS provide?3 lựa chọn
AComputing Environment
BHardware Only
CSoftware On-Demand
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Software On-Demand". SaaS (Software as a Service, phần mềm như một dịch vụ) là tầng trên cùng của mô hình dịch vụ đám mây: nhà cung cấp lo toàn bộ hạ tầng, nền tảng lẫn ứng dụng, người dùng chỉ việc dùng phần mềm hoàn chỉnh qua trình duyệt hoặc API khi cần và trả tiền theo thuê bao, ví dụ Gmail hay Salesforce. "Computing Environment" là thứ PaaS (Platform as a Service) cung cấp: hệ điều hành, runtime, cơ sở dữ liệu, công cụ phát triển để lập trình viên tự triển khai ứng dụng của mình. "Hardware Only" ứng với IaaS (Infrastructure as a Service), nơi người dùng chỉ thuê máy ảo, lưu trữ, mạng rồi tự cài mọi thứ phía trên. Thứ tự từ dưới lên IaaS, PaaS, SaaS cho thấy càng lên cao người dùng càng ít phải tự quản lý.
8What is an example of organizational data?3 lựa chọn
ASatellite Data
BSocial Media
CDisease data from Center for Disease Control.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Disease data from Center for Disease Control.". Dữ liệu lớn thường được chia theo ba nguồn sinh ra nó: máy móc (machine-generated, ví dụ cảm biến), con người (people-generated, ví dụ bài đăng, ảnh) và tổ chức (organizational data, dữ liệu do doanh nghiệp, cơ quan ghi nhận trong hoạt động của mình như giao dịch, hồ sơ, thống kê). Dữ liệu bệnh tật do Trung tâm Kiểm soát Dịch bệnh tập hợp từ báo cáo của bệnh viện và cơ sở y tế là dữ liệu do một tổ chức thu thập và quản lý, nên là ví dụ đúng. "Satellite Data" là dữ liệu do máy sinh ra, cụ thể là cảm biến và thiết bị chụp ảnh trên vệ tinh gửi về liên tục. "Social Media" là dữ liệu do con người sinh ra khi đăng bài, bình luận, chia sẻ hình ảnh, thường phi cấu trúc và không do một tổ chức ghi nhận theo quy trình nghiệp vụ.
9Spark SQL is often used for:4 lựa chọn
AImage processing
BStructured data analysis
CData storage
DData streaming
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Structured data analysis". Spark SQL là mô-đun của Spark để xử lý dữ liệu có cấu trúc (structured data): nó cung cấp DataFrame và Dataset có lược đồ (schema), cho phép viết truy vấn SQL hoặc HiveQL, đọc các định dạng như Parquet, JSON, bảng Hive, và dùng bộ tối ưu Catalyst để lập kế hoạch thực thi hiệu quả. "Image processing" không phải mục đích của Spark SQL; xử lý ảnh cần thư viện chuyên dụng, dù có thể chạy trên Spark. "Data storage" sai vì Spark nói chung, kể cả Spark SQL, là động cơ tính toán, còn việc lưu trữ do HDFS, S3, HBase hay cơ sở dữ liệu khác đảm nhận. "Data streaming" là phạm vi của Spark Streaming và Structured Streaming; Structured Streaming có dựng trên engine của Spark SQL nhưng công dụng tiêu biểu của Spark SQL vẫn là phân tích dữ liệu có cấu trúc.
AA set of nodes which can reach (almost) all other nodes
BWhat is the shortest path through a network
CWhich nodes' removal will maximally disrupt the network
DWhich nodes have the highest ratio of out-degree nodes to in-degree nodes
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm hai ý: "A set of nodes which can reach (almost) all other nodes" và "Which nodes' removal will maximally disrupt the network". Bài toán "người chơi chủ chốt" (key player problem) trong phân tích độ trung tâm (centrality) có hai dạng kinh điển: tìm một tập nút từ đó lan tới được gần như toàn mạng, hữu ích khi muốn khuếch tán thông tin hay chọn người ảnh hưởng, và tìm những nút mà gỡ bỏ thì mạng bị chia cắt hoặc suy giảm kết nối nhiều nhất, hữu ích khi cần bảo vệ hạ tầng hay chặn lây lan. Phương án "What is the shortest path through a network" thuộc nhóm phân tích đường đi (path analytics), giải bằng thuật toán như Dijkstra, chứ không phải bài toán xác định nút chủ chốt. Phương án "Which nodes have the highest ratio of out-degree nodes to in-degree nodes" chỉ là một chỉ số tính từ bậc vào và bậc ra của từng nút, không trả lời câu hỏi nút nào phủ được mạng hay nút nào làm mạng tan rã.
ASELECT user_table FROM username
BSELECT username FROM user_table
CSELECT username FROM user_table WHERE userId=1
DSELECT username FROM userId WHERE *
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "SELECT username FROM user_table". Cú pháp SQL cơ bản là SELECT danh sách cột FROM tên bảng; muốn lấy toàn bộ cột username của mọi dòng (bao nhiêu dòng cũng được) thì chỉ cần nêu cột username sau SELECT, tên bảng user_table sau FROM và không đặt điều kiện lọc nào. "SELECT user_table FROM username" đảo ngược vai trò: coi user_table là cột và username là bảng, trong khi không tồn tại bảng nào tên username nên câu lệnh báo lỗi. "SELECT username FROM user_table WHERE userId=1" đúng cú pháp nhưng mệnh đề WHERE lọc chỉ còn dòng có userId bằng 1, trả về đúng một giá trị admin chứ không phải cả cột. "SELECT username FROM userId WHERE *" sai hai chỗ: userId là một cột chứ không phải bảng, và sau WHERE phải là một biểu thức điều kiện, dấu sao không phải điều kiện hợp lệ.
AData format
BData accuracy/trustworthiness
CData size
DData transfer rate
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Data accuracy/trustworthiness". Veracity (tính xác thực) là một trong các chữ V của dữ liệu lớn, chỉ mức độ chính xác, đáng tin cậy và chất lượng của dữ liệu: dữ liệu có bị nhiễu, thiếu, mâu thuẫn hay đến từ nguồn không tin được hay không. Dữ liệu lớn gom từ nhiều nguồn khác nhau nên veracity thường thấp và phải làm sạch, đối chiếu trước khi phân tích. "Data format" thuộc về variety (tính đa dạng), tức dữ liệu có nhiều dạng như bảng, văn bản, ảnh, đồ thị. "Data size" là volume (khối lượng), độ lớn tính bằng terabyte hay petabyte. "Data transfer rate" gần với velocity (tốc độ), tức tốc độ dữ liệu được sinh ra và phải xử lý. Ba chữ V đó mô tả quy mô và hình thức, không nói gì về việc dữ liệu đúng hay sai.
AEvaluate the fields within the data model against the report requirements
BCheck for any available data models created by other users
CChoose the data model with the most fields available
DSelect the data model that was most recently updated
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Evaluate the fields within the data model against the report requirements". Trong Splunk, data model (mô hình dữ liệu) là tập dataset tổ chức phân cấp, mỗi dataset định nghĩa sẵn các trường (field) và ràng buộc; giao diện Pivot cho người dùng kéo thả các trường đó để tạo bảng, biểu đồ mà không cần viết lệnh SPL. Vì Pivot chỉ thao tác được trên những trường mà data model cung cấp, bước quyết định là đối chiếu các trường của mô hình với yêu cầu báo cáo: cần chỉ số nào, chia nhóm theo thuộc tính nào, lọc theo điều kiện gì; thiếu trường cần thiết thì báo cáo không dựng được. "Check for any available data models created by other users" chỉ giúp biết đang có những mô hình nào để chọn, nhưng mô hình do người khác tạo chưa chắc phù hợp với phân tích của mình. "Choose the data model with the most fields available" sai vì nhiều trường không có nghĩa là có đúng trường cần dùng, lại khiến việc chọn trường rối hơn. "Select the data model that was most recently updated" sai vì độ mới của lần cập nhật không nói gì về việc mô hình có chứa dữ liệu và trường phù hợp với báo cáo hay không.
14Which of the following is not a Big Data tool?4 lựa chọn
AExcel
BHadoop
CSpark
DPig
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Excel". Công cụ dữ liệu lớn được thiết kế để lưu trữ và xử lý dữ liệu phân tán trên nhiều máy, mở rộng theo chiều ngang khi dữ liệu tăng; Excel là bảng tính chạy trên một máy, giới hạn khoảng một triệu dòng mỗi trang tính và không có cơ chế phân tán hay chịu lỗi, nên không thuộc nhóm này. "Hadoop" là nền tảng gồm hệ tệp phân tán HDFS, bộ quản lý tài nguyên YARN và mô hình lập trình MapReduce, chính là xương sống của hệ sinh thái dữ liệu lớn. "Spark" là động cơ xử lý phân tán trong bộ nhớ với RDD, Spark SQL, MLlib, nhanh hơn MapReduce nhiều lần ở bài toán lặp. "Pig" là công cụ trong hệ sinh thái Hadoop, cho viết luồng xử lý bằng ngôn ngữ kịch bản Pig Latin rồi biên dịch thành các job MapReduce chạy trên cụm.
15Which Big Data tool is used to ingest log data?4 lựa chọn
ASqoop
BFlume
CHive
DPig
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Flume". Apache Flume là dịch vụ phân tán chuyên thu gom, tổng hợp và nạp (ingest) khối lượng lớn dữ liệu log từ nhiều máy chủ vào kho lưu trữ tập trung như HDFS hay HBase, theo mô hình source, channel, sink chạy liên tục. "Sqoop" cũng là công cụ nạp dữ liệu nhưng dành cho dữ liệu có cấu trúc: chuyển bảng qua lại giữa cơ sở dữ liệu quan hệ như MySQL, Oracle và Hadoop theo lô, không thiết kế cho dòng log phát sinh liên tục. "Hive" là kho dữ liệu trên Hadoop cho phép truy vấn bằng HiveQL giống SQL trên dữ liệu đã nằm trong HDFS, tức là khâu phân tích chứ không phải khâu nạp. "Pig" là nền tảng xử lý với ngôn ngữ kịch bản Pig Latin để biến đổi dữ liệu đã lưu, cũng không làm nhiệm vụ thu gom log.
ALower prices mean larger storage becomes easier to access for everyone, creating bigger amounts of data for client-facing services to work with.
BLarger storage means easier accessibility to big data for every user because it allows users to download in bulk.
CIt isn't; it was just an arbitrary example of big data usage.
DCompanies can't afford to own, maintain, and spend the energy to support large data storage unless the cost is sufficiently low.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Companies can't afford to own, maintain, and spend the energy to support large data storage unless the cost is sufficiently low.". Lưu trữ dữ liệu lớn đòi hỏi mua ổ đĩa, xây trung tâm dữ liệu, bảo trì và trả tiền điện cho hàng nghìn máy; chỉ khi giá lưu trữ trên mỗi đơn vị dung lượng giảm đủ sâu thì doanh nghiệp mới có thể giữ toàn bộ dữ liệu thay vì phải chọn lọc rồi xoá bớt, nên tỉ lệ dung lượng trên giá là điều kiện kinh tế làm dữ liệu lớn khả thi. Đây là chỗ dễ tranh cãi: "Lower prices mean larger storage becomes easier to access for everyone" cũng nói giá lưu trữ giảm làm dữ liệu lớn khả thi và một số tài liệu ôn tập ghi nó là đáp án, nhưng nó nhấn vào khả năng tiếp cận của mọi người và dịch vụ phía khách hàng, còn lý do cốt lõi là chi phí sở hữu và vận hành của tổ chức. "Larger storage means easier accessibility to big data for every user" lạc sang việc người dùng tải hàng loạt, không liên quan tới chi phí. "It isn't; it was just an arbitrary example of big data usage." sai vì giá lưu trữ giảm là một động lực chính khiến dữ liệu lớn bùng nổ.
17What is Pig Latin?4 lựa chọn
AA language used for NLP
BA high-level dataflow language
CA machine learning tool
DA protocol
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A high-level dataflow language". Pig Latin là ngôn ngữ của Apache Pig, mô tả việc xử lý dữ liệu như một dòng dữ liệu (dataflow): mỗi câu lệnh như LOAD, FILTER, GROUP, JOIN, FOREACH nhận một quan hệ và sinh ra quan hệ mới, rồi Pig biên dịch chuỗi bước đó thành các tác vụ MapReduce (hoặc Tez, Spark) chạy trên Hadoop, giúp người dùng khỏi viết mã Java cấp thấp. "A language used for NLP" sai vì Pig Latin không dùng để xử lý ngôn ngữ tự nhiên; cái tên chỉ là cách chơi chữ với trò nói lái trong tiếng Anh. "A machine learning tool" sai vì Pig chỉ biến đổi và tổng hợp dữ liệu; học máy trên Hadoop thuộc về các thư viện như Mahout hay Spark MLlib. "A protocol" sai vì Pig Latin là ngôn ngữ lập trình xử lý dữ liệu, không phải giao thức truyền thông hay quy ước trao đổi giữa các hệ thống.
ATo backup graph data
BTo export results to CSV
CTo import structured CSV data
DTo visualize graphs
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To import structured CSV data". Trong Neo4j, mệnh đề LOAD CSV WITH HEADERS đọc một tệp CSV, coi dòng đầu là tên cột và trả mỗi dòng sau thành một bản ghi dạng map, nhờ đó có thể viết tiếp CREATE hoặc MERGE để tạo nút và quan hệ từ dữ liệu bảng, tức là nạp dữ liệu có cấu trúc vào đồ thị. "To backup graph data" sai vì sao lưu cơ sở dữ liệu Neo4j dùng công cụ quản trị như neo4j-admin dump hoặc backup, không dùng một mệnh đề truy vấn đọc tệp. "To export results to CSV" ngược chiều: mệnh đề này đọc dữ liệu vào chứ không ghi kết quả ra; xuất CSV phải dùng chức năng tải xuống của trình duyệt Neo4j hoặc thủ tục của thư viện APOC. "To visualize graphs" là việc của Neo4j Browser hay Bloom khi hiển thị kết quả truy vấn, không phải tác dụng của việc nạp tệp.
19MapReduce was popularized by:4 lựa chọn
AAmazon
BFacebook
CGoogle
DMicrosoft
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Google". MapReduce là mô hình lập trình xử lý song song dữ liệu lớn trên cụm máy, chia việc thành pha Map (biến mỗi bản ghi thành các cặp khoá, giá trị) và pha Reduce (gộp các giá trị cùng khoá). Google công bố mô hình này năm 2004 trong bài báo của Jeffrey Dean và Sanjay Ghemawat, dùng để xây chỉ mục web, và chính bài báo đó truyền cảm hứng cho Hadoop mã nguồn mở. "Amazon" phổ biến hoá điện toán đám mây qua AWS và có dịch vụ Elastic MapReduce, nhưng đó là dịch vụ chạy Hadoop chứ không phải nơi đưa ra mô hình. "Facebook" là người dùng lớn của Hadoop và tạo ra Hive để viết truy vấn kiểu SQL thay cho mã MapReduce. "Microsoft" có hệ thống riêng như Dryad và sau này đưa Hadoop vào HDInsight, nhưng không phải bên làm MapReduce trở nên phổ biến.
AMATCH (a)-[:TO]->(b) RETURN path
BMATCH p = shortestPath((from)-[:TO*]->(to)) WITH REDUCE(dist = 0, rel in rels(p) | dist + toInt(rel.dist)) AS distance RETURN path, distance
CMATCH (n)-[r]-() RETURN REDUCE(dist=0, r in r | dist + 1)
DMATCH p=(a)-[:TO*]->(b) RETURN reduce(p)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "MATCH p = shortestPath((from)-[:TO*]->(to)) WITH REDUCE(dist = 0, rel in rels(p) | dist + toInt(rel.dist)) AS distance RETURN path, distance". Trong Cypher của Neo4j, shortestPath tìm đường ngắn nhất qua các quan hệ TO với độ dài thay đổi (dấu sao), sau đó rels(p) lấy danh sách các cạnh trên đường p và REDUCE duyệt từng cạnh, cộng dồn thuộc tính dist (đã đổi sang số nguyên bằng toInt) vào biến tích luỹ bắt đầu từ 0; kết quả là tổng khoảng cách, tức trọng số của đường đi. "MATCH (a)-[:TO]->(b) RETURN path" chỉ khớp đúng một cạnh giữa hai nút, không có hàm tìm đường ngắn nhất và không tính trọng số nào. "MATCH (n)-[r]-() RETURN REDUCE(dist=0, r in r | dist + 1)" chỉ cộng 1 cho mỗi quan hệ nên đếm số cạnh, bỏ qua thuộc tính khoảng cách và cũng không có đường đi nào. "MATCH p=(a)-[:TO*]->(b) RETURN reduce(p)" gọi reduce thiếu biến tích luỹ và biểu thức cộng dồn nên không hợp lệ, và mẫu này trả mọi đường chứ không chọn đường ngắn nhất.