(row: Dict[str, Any])
| 146 | |
| 147 | |
| 148 | def paper_identity(row: Dict[str, Any]) -> str: |
| 149 | explicit_identity = str(row.get("paper_identity") or "").strip() |
| 150 | if explicit_identity: |
| 151 | return explicit_identity |
| 152 | for key in ("paper_id", "doi", "arxiv_id", "url"): |
| 153 | value = str(row.get(key) or "").strip().casefold() |
| 154 | if value: |
| 155 | return f"{key}:{value}" |
| 156 | return "title:" + normalize_phrase_text(row.get("title")) |
| 157 | |
| 158 | |
| 159 | def label_key(row: Dict[str, Any]) -> Tuple[str, str]: |
no test coverage detected