Truyền播 ID tuple là phương pháp thực hiện nối ảo (virtual join), cải thiện đáng kể hiệu quả phân loại đa quan hệ. Thay vì nối vật lý các quan hệ, chúng được kết hợp ảo bằng cách kết nối ID của tuple mục tiêu đến tuple trong quan hệ phi mục tiêu.
Theo cách này, vị ngữ có thể được tính như thể nối vật lý được thực hiện. Truyền播 ID tuple linh hoạt và hiệu quả, vì ID có thể dễ dàng truyền播 giữa bất kỳ hai quan hệ nào, chỉ cần lượng nhỏ truyền dữ liệu và nhiều không gian lưu trữ hơn. Bằng cách làm vậy, vị ngữ trong nhiều quan hệ có thể được tính với ít tính toán dư thừa.
Truyền播 ID tuple phải được thực thi với ràng buộc cụ thể. Có hai trường hợp truyền播 như vậy có thể phản tác dụng:
- truyền播 qua fan-out lớn (large fan-outs)
- truyền播 qua liên kết dài, yếu (long, weak links)
Trường hợp đầu tiên xuất hiện khi, sau khi truyền播 ID đến quan hệ R, phát hiện mỗi tuple trong R được nối với một số tuple mục tiêu và mỗi tuple mục tiêu được nối với một số tuple trong R. Kết nối ngữ nghĩa giữa R và quan hệ mục tiêu rất yếu vì kết nối không chọn lọc.
Ví dụ, truyền播 giữa người qua liên kết quốc gia sinh không thể hiệu quả. Trường hợp thứ hai xuất hiện khi truyền播 đi qua liên kết dài (ví dụ: kết nối sinh viên với thú cưng của người bán xe của anh ấy không thể hiệu quả). Từ góc nhìn hiệu quả và chắc chắn, truyền播 qua liên kết như vậy bị khuyến khích.
CrossMine là phương pháp cần truyền播 ID tuple cho phân loại đa quan hệ. Nó kết hợp tốt hơn dữ liệu truyền播 ID, CrossMine cần vị ngữ phức tạp như thành phần của luật. Một vị ngữ phức tạp p bao gồm hai phần:
prop-path − Điều này chỉ ra cách truyền播 ID. Ví dụ, đường dẫn "Loan.account_ID → Account.account_ID" chỉ truyền播 ID từ Loan đến Account dùng account_ID. Nếu không chứa truyền播 ID, prop-path là null.
Constraint (Ràng buộc) − Đây là vị ngữ chỉ ra ràng buộc trên quan hệ mà ID được truyền播 đến. Có thể là phân loại hoặc số.
CrossMine xây dựng bộ phân loại bao gồm tập luật, mỗi luật bao gồm danh sách vị ngữ phức tạp và nhãn lớp. CrossMine là thuật toán bao phủ tuần tự (sequential covering) như FOIL. Nó xây dựng luật từng cái một. Sau khi luật r được xây dựng, tất cả tuple mục tiêu dương thỏa mãn r bị xóa khỏi tập dữ liệu.
CrossMine thường xuyên tìm kiếm vị ngữ phức tạp tốt nhất và thêm vào luật hiện tại, cho đến khi tiêu chí dừng được tập hợp. Quan hệ đang hoạt động nếu nó xuất hiện trong luật hiện tại. Trước khi tìm vị ngữ tốt nhất tiếp theo, mỗi quan hệ hoạt động cần có IDset của ID truyền播 cho mỗi tuple của nó.