- Introduced the ImageTilingServiceEndpoint class for tiled high-resolution image delivery, including deep-zoom and transformation capabilities, with multilingual descriptions and structured aliases. - Archived the ID class as a backwards-compatible alias for Identifier, marking it as deprecated to enforce the use of the canonical Identifier model.
162 lines
5.7 KiB
Markdown
162 lines
5.7 KiB
Markdown
# Wikidata Mapping Discovery Rule
|
|
|
|
## Rule: Use Wikidata MCP to Discover and Verify Mappings Carefully
|
|
|
|
When adding Wikidata mappings to class files, you MUST verify the semantic meaning and relationship before adding any mapping.
|
|
|
|
### 🚨 CRITICAL: Always Verify Before Adding
|
|
|
|
**NEVER add a Wikidata QID without verifying:**
|
|
1. What the entity actually IS (not just the label)
|
|
2. That it's the SAME TYPE as your class (organization→organization, NOT organization→building)
|
|
3. That the semantic relationship makes sense
|
|
|
|
### Workflow
|
|
|
|
#### Step 1: VERIFY Existing Mappings First
|
|
|
|
Before trusting any existing mapping, verify it:
|
|
|
|
```sparql
|
|
SELECT ?item ?itemLabel ?itemDescription WHERE {
|
|
VALUES ?item { wd:Q22075301 wd:Q1643722 wd:Q185583 }
|
|
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
|
}
|
|
```
|
|
|
|
**Example of WRONG mappings found in codebase:**
|
|
| QID | Label | Was Mapped To | WHY WRONG |
|
|
|-----|-------|---------------|-----------|
|
|
| Q22075301 | textile artwork | FacultyPaperCollection | Not related at all! |
|
|
| Q1643722 | building in Vienna | UniversityAdministrativeFonds | Not an archival concept! |
|
|
| Q185583 | candy | AcademicStudentRecordSeries | Completely unrelated! |
|
|
|
|
#### Step 2: Search for Candidates
|
|
|
|
Search for relevant Wikidata entities by keyword or hierarchy:
|
|
|
|
```sparql
|
|
SELECT ?item ?itemLabel ?itemDescription WHERE {
|
|
?item wdt:P279 wd:Q166118 . # subclasses of "archives"
|
|
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
|
}
|
|
```
|
|
|
|
#### Step 3: VERIFY Each Candidate
|
|
|
|
For EVERY candidate found, verify:
|
|
1. **Read the description** - does it match your class?
|
|
2. **Check instance of (P31)** - is it the same type?
|
|
3. **Check subclass of (P279)** - is it in a relevant hierarchy?
|
|
|
|
```sparql
|
|
SELECT ?item ?itemLabel ?itemDescription ?instanceLabel ?subclassLabel WHERE {
|
|
VALUES ?item { wd:Q9388534 }
|
|
OPTIONAL { ?item wdt:P31 ?instance. }
|
|
OPTIONAL { ?item wdt:P279 ?subclass. }
|
|
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
|
}
|
|
```
|
|
|
|
#### Step 4: Confirm Semantic Relationship
|
|
|
|
Ask: **Would a domain expert agree this mapping makes sense?**
|
|
|
|
| Your Class | Wikidata Entity | Verdict |
|
|
|------------|-----------------|---------|
|
|
| FacultyPaperCollection | Q22075301 (textile artwork) | ❌ NO - completely unrelated |
|
|
| CampusDocumentationCollection | Q9388534 (archival collection) | ✅ YES - semantically related |
|
|
| AcademicArchive | Q27032435 (academic archive) | ✅ YES - exact match |
|
|
|
|
### Type Compatibility Rules
|
|
|
|
| Your Class Type | Valid Wikidata Types | Invalid Wikidata Types |
|
|
|-----------------|---------------------|------------------------|
|
|
| Organization | organization, institution | building, person, artwork |
|
|
| Record Set Type | collection, fonds, series | building, candy, textile |
|
|
| Event | activity, occurrence | organization, place |
|
|
| Type/Category | type, concept, class | specific instances |
|
|
|
|
### Common Mistakes to Avoid
|
|
|
|
❌ **WRONG: Adding any QID found in search without verification**
|
|
```
|
|
"Found Q1643722 in search results, adding it as mapping"
|
|
→ Result: Mapping a "building in Vienna" to "UniversityAdministrativeFonds"
|
|
```
|
|
|
|
✅ **CORRECT: Verify description and type before adding**
|
|
```
|
|
1. Search finds Q1643722
|
|
2. Verify: Q1643722 = "building in Vienna, Austria"
|
|
3. Check: Is a building related to "UniversityAdministrativeFonds"?
|
|
4. Decision: NO - do not add this mapping
|
|
```
|
|
|
|
### When to Add Wikidata Mappings
|
|
|
|
Add Wikidata mappings ONLY when:
|
|
- [ ] You verified the entity's label AND description
|
|
- [ ] The entity is the same type as your class
|
|
- [ ] The semantic relationship is clear (exact, broader, narrower, related)
|
|
- [ ] A domain expert would agree the mapping makes sense
|
|
|
|
### When NOT to Add Wikidata Mappings
|
|
|
|
Do NOT add Wikidata mappings when:
|
|
- You only searched but didn't verify the description
|
|
- The entity type doesn't match (e.g., building vs. organization)
|
|
- The relationship is unclear or forced
|
|
- You're just trying to "fill in" mappings
|
|
|
|
### Mapping Categories
|
|
|
|
| Category | Wikidata Property | When to Use |
|
|
|----------|-------------------|-------------|
|
|
| `exact_mappings` | - | Same semantic meaning (rare!) |
|
|
| `close_mappings` | - | Similar but not identical |
|
|
| `broad_mappings` | P279 (subclass of) | Wikidata entity is BROADER |
|
|
| `narrow_mappings` | inverse of P279 | Wikidata entity is NARROWER |
|
|
| `related_mappings` | - | Non-hierarchical but semantically related |
|
|
|
|
### Checklist
|
|
|
|
For each Wikidata mapping:
|
|
|
|
- [ ] Verified entity label matches expected meaning
|
|
- [ ] Verified entity description confirms semantic fit
|
|
- [ ] Entity type is compatible with class type
|
|
- [ ] Mapping category (exact/close/broad/narrow/related) is correct
|
|
- [ ] A domain expert would agree this makes sense
|
|
|
|
### Example: Proper Verification for FacultyPaperCollection
|
|
|
|
**Step 1: What are we looking for?**
|
|
- Personal papers of faculty members
|
|
- Academic archives
|
|
- Manuscript collections
|
|
|
|
**Step 2: Search**
|
|
```sparql
|
|
SELECT ?item ?itemLabel ?itemDescription WHERE {
|
|
?item ?prop ?value .
|
|
?value bif:contains "'personal papers' OR 'faculty papers'" .
|
|
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
|
} LIMIT 10
|
|
```
|
|
|
|
**Step 3: Verify candidates**
|
|
- If no exact match found → DO NOT add a wrong mapping
|
|
- Better to have NO Wikidata mapping than a WRONG one
|
|
|
|
**Step 4: Decision**
|
|
- No exact Wikidata match for "FacultyPaperCollection"
|
|
- Keep ontology mappings only (rico-rst:Fonds, bf:Archival)
|
|
- Do NOT add unrelated QIDs like Q22075301 (textile artwork!)
|
|
|
|
### Integration with Other Rules
|
|
|
|
This rule complements:
|
|
- **mapping-specificity-hypernym-rule.md**: Rules for choosing mapping type
|
|
- **wikidata-mapping-verification-rule.md**: Rules for verifying QIDs exist
|
|
- **verified-ontology-mapping-requirements.md**: General ontology verification
|