Wikidata:WikiProject Ships/Maintenance
This page provides various lists to ease maintenance and improvement of ship-related items.
Note: watercraft (Q1229765) is a superclass of ship (Q11446), boat (Q35872), and submarine (Q2811). Similarly for watercraft type (Q16335899) and watercraft class (Q18758641). watercraft type (Q16335899) is a superclass of watercraft class (Q18758641).
Watercraft edit
- Any instance of watercraft (Q1229765) including instances of its subclasses.
- List watercraft (informative)
SELECT DISTINCT ?ship ?shipLabel WHERE { ?ship wdt:P31/wdt:P279* wd:Q1229765 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 500
Watercraft types edit
Any instance of watercraft type (Q16335899) including instances of its subclasses, except watercraft classes.
- List watercraft types, excluding watercraft classes (informative)
SELECT DISTINCT ?shipType ?shipTypeLabel WHERE { ?shipType wdt:P31/wdt:P279* wd:Q16335899 . FILTER NOT EXISTS { ?shipType wdt:P31/wdt:P279* wd:Q18758641 . } SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 500
Watercraft classes edit
Any instance of watercraft class (Q18758641) including instances of its subclasses.
- List watercraft classes (informative)
SELECT DISTINCT ?shipClass ?shipClassLabel WHERE { ?shipClass wdt:P31/wdt:P279* wd:Q18758641 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 500
edit
Any instance of navy (Q4508) including instances of its subclasses.
- List navies (informative)
SELECT DISTINCT ?navy ?navyLabel WHERE { ?navy wdt:P31/wdt:P279* wd:Q4508 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 500
Fleets edit
Any instance of fleet (Q189524) including instances of its subclasses.
- List fleets (informative)
SELECT DISTINCT ?fleet ?fleetLabel WHERE { ?fleet wdt:P31/wdt:P279* wd:Q189524 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 500
Candidates for specializing ship type edit
- lang = en
- categ = Schooners en:Category:Schooners
- type = 204577 - schooner (Q204577)
Query that:
- Identifies items matching articles from a WP category
- Excludes items that already have the right type and no generic claim (watercraft (Q1229765) or ship (Q11446) or submarine (Q2811) or watercraft (Q1229765))
- Excludes items already instance of (P31) Wikimedia disambiguation page (Q4167410), Wikimedia list article (Q13406463), or a subtype of the target type
- Excludes all items being subclass of (P279) of anything
http://tools.wmflabs.org/autolist/index.php?language=en&project=wikipedia&category=Schooners&depth=2&wdq=%28claim[31%3A204577]%20and%20noclaim[31%3A1229765]%20and%20noclaim[31%3A11446]%20and%20noclaim[31%3A2811]%20and%20noclaim[31%3A1229765]%29%20or%20claim[31%3A4167410]%20or%20claim[31%3A13406463]%20or%20claim[279]%20or%20tree[204577][][279]&statementlist=-P31%3AQ2811%0A-P31%3AQ1229765%0A-P31%3AQ11446%0A&run=Run&mode_manual=or&mode_cat=or&mode_wdq=not&mode_find=or&chunk_size=10000
Queries below can be used to list items that require maintenance; you may use these SPARQL request in PetScan (Other sources tab, with Use wiki=Wikidata) to fix these defective items.
Watercraft types incorrectly placed in ontology edit
- Watercraft types that are also watercraft
- Priority: extreme - this is a breakdown of the ontology
- Watercraft types that are also watercraft (extreme)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftTypeLabel WHERE { # Plain watercraft ?watercraft wdt:P31/wdt:P279* wd:Q1229765 . # Also some watercraft type ?watercraft wdt:P31 ?watercraftType . ?watercraftType wdt:P279* wd:Q16335899 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 50
Watercraft, ship, submarine, and boat types not subclasses of watercraft, ship, submarine, or boat (respectively) edit
- Watercraft types that are not subclasses of watercraft
- Priority: high
- Watercraft types that are not subclasses of watercraft (high)
SELECT DISTINCT ?watercraftType (REPLACE(STR(?watercraftType),".*Q","Q") AS ?watercraftTypeQ) ?watercraftTypeLabel WHERE { ?watercraftType wdt:P31/wdt:P279* wd:Q16335899 . FILTER NOT EXISTS { ?watercraftType wdt:P279* wd:Q1229765 } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Ship types that are not subclasses of ship
- Priority: high
- Ship types that are not subclasses of ship (high)
SELECT DISTINCT ?shipType (REPLACE(STR(?shipType),".*Q","Q") AS ?shipTypeQ) ?shipTypeLabel WHERE { ?shipType wdt:P31/wdt:P279* wd:Q2235308 . FILTER NOT EXISTS { ?shipType wdt:P279* wd:Q11446 } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Submarine types that are not subclasses of submarine
- Priority: high
- Submarine types that are not subclasses of submarine (high)
SELECT DISTINCT ?submarineType (REPLACE(STR(?submarineType),".*Q","Q") AS ?submarineTypeQ) ?submarineTypeLabel WHERE { ?submarineType wdt:P31/wdt:P279* wd:Q121289744 . FILTER NOT EXISTS { ?submarineType wdt:P279* wd:Q2811 } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Boat types that are not subclasses of boat
- Priority: high
- Boat types that are not subclasses of boat (high)
SELECT DISTINCT ?boatType (REPLACE(STR(?boatType),".*Q","Q") AS ?boatTypeQ) ?boatTypeLabel WHERE { ?boatType wdt:P31/wdt:P279* wd:Q16103215 . FILTER NOT EXISTS { ?boatType wdt:P279* wd:Q35872 } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Watercraft, ship, submarine, and boat types subclasses of inappropriate kind of watercraft edit
- Watercraft types that are subclasses of ship or submarine or boat
- Priority: high
- Watercraft (but not ship or submarine or boat) types that are subclasses of ship or submarine or boat (high)
SELECT DISTINCT ?watercraftType (REPLACE(STR(?watercraftType),".*Q","Q") AS ?watercraftTypeQ) ?watercraftTypeLabel WHERE { ?watercraftType wdt:P31/wdt:P279* wd:Q16335899 . FILTER NOT EXISTS { ?watercraftType wdt:P31/wdt:P279* wd:Q2235308 . } FILTER NOT EXISTS { ?watercraftType wdt:P31/wdt:P279* wd:Q16103215 . } FILTER NOT EXISTS { ?watercraftType wdt:P31/wdt:P279* wd:Q121289744 . } FILTER EXISTS { { ?watercraftType wdt:P279+ wd:Q11446 . } UNION { ?watercraftType wdt:P279+ wd:Q2811 . } UNION { ?watercraftType wdt:P279+ wd:Q35872 . } } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Ship types that are subclasses of submarine or boat
- Priority: very high
- Ship types that are also subclasses of submarine or boat (very high)
SELECT DISTINCT ?shipType (REPLACE(STR(?shipType),".*Q","Q") AS ?shipTypeQ) ?shipTypeLabel WHERE { ?shipType wdt:P31/wdt:P279* wd:Q2235308 . FILTER EXISTS { { ?shipType wdt:P279* wd:Q2811 . } UNION { ?shipType wdt:P279* wd:Q35872 . } } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Submarine types that are subclasses of ship or boat
- Priority: very high
- Submarine types that are also subclasses of ship or boat (very high)
SELECT DISTINCT ?submarineType (REPLACE(STR(?submarineType),".*Q","Q") AS ?submarineTypeQ) ?submarineTypeLabel WHERE { ?submarineType wdt:P31/wdt:P279* wd:Q121289744 . FILTER EXISTS { { ?submarineType wdt:P279* wd:Q11446 . } UNION { ?submarineType wdt:P279* wd:Q35872 . } } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Boat types that are subclasses of ship or submarine
- Priority: very high
- Boat types that are also subclasses of ship or submarine (very high)
SELECT DISTINCT ?boatType (REPLACE(STR(?boatType),".*Q","Q") AS ?boatTypeQ) ?boatTypeLabel WHERE { ?boatType wdt:P31/wdt:P279* wd:Q16103215 . FILTER EXISTS { { ?boatType wdt:P279* wd:Q11446 . } UNION { ?boatType wdt:P279* wd:Q2811 . } } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Subclasses of watercraft that might be watercraft types or watercraft classes edit
- Subclasses of watercraft that are not watercraft types
- Priority: low - this is just possible lack of information
- Subclasses of watercraft that are not watercraft types (low)
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQ) ?thingLabel WHERE { ?thing wdt:P279* wd:Q1229765 . FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q16335899 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Subclasses of ship that are not ship types (low)
- Priority: low - this is just possible lack of information
- Subclasses of ship that are not ship types (low)
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQ) ?thingLabel WHERE { ?thing wdt:P279* wd:Q11446 . FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q2235308 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Subclasses of submarine that are neither submarine types nor submarine classes (low)
- Priority: low - this is just possible lack of information
- Subclasses of submarine that are not submarine types (low)
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQ) ?thingLabel WHERE { ?thing wdt:P279* wd:Q2811 . FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q121289744 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Subclasses of boat that are neither boat types nor boat classes (low)
- Priority: low - this is just possible lack of information
- Subclasses of boat that are not boat types (low)
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQ) ?thingLabel WHERE { ?thing wdt:P279* wd:Q35872 . FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q16103215 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
-classes not correctly linked to -types or other -classes edit
Ships edit
- Ship classes deriving directly from ship (Q11446):
- Priority: low
- Ship classes that are direct subclasses of ship (low)
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel WHERE { ?shipClass wdt:P279 wd:Q11446 . ?shipClass wdt:P31/wdt:P279* wd:Q559026 . MINUS { ?shipClass wdt:P279 ?super . FILTER ( ?super != wd:Q11446 ) ?super wdt:P279+ wd:Q1229765 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- ship class (Q559026) not subclass of at least one ship type (Q2235308) or another ship class (Q559026):
- Priority: medium
- Ship classes that are not subclasses of a ship class or a ship type (medium)
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel WHERE { ?shipClass wdt:P31/wdt:P279* wd:Q559026 . FILTER NOT EXISTS {?shipClass wdt:P279/wdt:P31/wdt:P279* wd:Q2235308 .} FILTER NOT EXISTS {?shipClass wdt:P279/wdt:P31/wdt:P279* wd:Q559026 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- ship class (Q559026) subclass of both a ship type (Q2235308) and another ship class (Q559026):
- Priority: low - this is most likely redundant information
- Ship classes that are subclasses of both a ship class and a ship type (low)
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel ?shipTypeSuperLabel ?shipClassSuperLabel WHERE { ?shipClass wdt:P31/wdt:P279* wd:Q559026 . ?shipClass wdt:P279 ?shipTypeSuper . ?shipTypeSuper wdt:P31/wdt:P279* wd:Q2235308 . FILTER NOT EXISTS { ?shipTypeSuper wdt:P31/wdt:P279* wd:Q559026 . } ?shipClass wdt:P279 ?shipClassSuper . ?shipClassSuper wdt:P31/wdt:P279* wd:Q559026 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Submarines edit
- Submarine classes deriving directly from submarine (Q2811):
- Priority: very low - there are not many submarine types
- Submarine classes that are direct subclasses of submarine (very low)
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel WHERE { ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 . ?submarineClass wdt:P279 wd:Q2811 . MINUS { ?submarineClass wdt:P279 ?super . FILTER ( ?super != wd:Q2811 ) ?super wdt:P279+ wd:Q1229765 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- submarine class (Q1428357) not subclass of at least one submarine type (Q121289744) or another submarine class (Q1428357):
- Priority: medium
- Submarine classes that are not subclasses of a submarine class or a submarine type (medium)
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel WHERE { ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 . FILTER NOT EXISTS {?submarineClass wdt:P279/wdt:P31/wdt:P279* wd:Q121289744 .} FILTER NOT EXISTS {?submarineClass wdt:P279/wdt:P31/wdt:P279* wd:Q1428357 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- submarine class (Q1428357) subclass of both a submarine type and another submarine class:
- Priority: low - this is most likely redundant information
- Submarine classes that are subclasses of both a submarine class and a submarine type (low)
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel ?submarineTypeSuperLabel ?submarineClassSuperLabel WHERE { ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 . ?submarineClass wdt:P279 ?submarineTypeSuper . ?submarineTypeSuper wdt:P31/wdt:P279* wd:Q121289744 . FILTER NOT EXISTS { ?submarineTypeSuper wdt:P31/wdt:P279* wd:Q1428357 . } ?submarineClass wdt:P279 ?submarineClassSuper . ?submarineClassSuper wdt:P31/wdt:P279* wd:Q1428357 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Boats edit
- Boat classes deriving directly from boat (Q35872):
- Priority: low
- Boat classes that are direct subclasses of boat (low)
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel WHERE { ?boatClass wdt:P31/wdt:P279* wd:Q121289722 . ?boatClass wdt:P279 wd:Q35872 . MINUS { ?boatClass wdt:P279 ?super . FILTER ( ?super != wd:Q35872 ) ?super wdt:P279+ wd:Q1229765 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- boat class (Q121289722) not subclass of at least one boat type (Q16103215) or another boat class (Q121289722):
- Priority: medium
- Boat classes that are not subclasses of a boat class or a boat type (medium)
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel WHERE { ?boatClass wdt:P31/wdt:P279* wd:Q121289722 . FILTER NOT EXISTS {?boatClass wdt:P279/wdt:P31/wdt:P279* wd:Q16103215 .} FILTER NOT EXISTS {?boatClass wdt:P279/wdt:P31/wdt:P279* wd:Q121289722 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- boat class (Q121289722) subclass of both a boat type (Q16103215) and another boat class (Q121289722):
- Priority: low - this is most likely redundant information
- Boat classes that are subclasses of both a boat class and a boat type (low)
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel ?boatTypeSuperLabel ?boatClassSuperLabel WHERE { ?boatClass wdt:P31/wdt:P279* wd:Q121289722 . ?boatClass wdt:P279 ?boatTypeSuper . ?boatTypeSuper wdt:P31/wdt:P279* wd:Q16103215 . FILTER NOT EXISTS { ?boatTypeSuper wdt:P31/wdt:P279* wd:Q121289722 . } ?boatClass wdt:P279 ?boatClassSuper . ?boatClassSuper wdt:P31/wdt:P279* wd:Q121289722 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Missing properties readily available edit
- watercraft (Q1229765) bearing an image while its vessel class (P289) is missing one:
- Priority: very low
- Watercraft with an image but watercraft class has none (very low)
SELECT DISTINCT ?watercraft(REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQ) ?watercraftLabel ?watercraftClassLabel WHERE { ?watercraft wdt:P31/wdt:P279* wd:Q1229765 . ?watercraft wdt:P18 ?image . ?watercraft wdt:P289 ?watercraftClass . FILTER NOT EXISTS {?watercraftClass wdt:P18 ?image2 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- watercraft (Q1229765) having an operator while its vessel class (P289) is missing one:
- Priority: very low
- Watercraft class missing an operator from watercrafts that belong to it (very low)
SELECT DISTINCT ?watercraftClass(REPLACE(STR(?watercraftClass),".*Q","Q") AS ?watercraftClassQ) ?watercraftClassLabel ?operatorLabel WHERE { ?watercraftClass wdt:P31/wdt:P279* wd:Q1229765 . ?watercraft wdt:P137 ?operator . ?watercraft wdt:P289 ?watercraftClass . FILTER NOT EXISTS {?watercraft wdt:P137 ?operator .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Missing topic's main category for direct subclasses of ship edit
- Direct subclases of ship that have no topic's main category (P910):
- Priority: low - this is just missing information
- Top-level subclasses that have no topic's main category (low)
SELECT DISTINCT ?thing (REPLACE(STR(?thing), ".*Q", "Q") AS ?thingQ) ?thingLabel WHERE { ?thing wdt:P279 wd:Q11446. MINUS { ?thing wdt:P279 ?super. FILTER(?super != wd:Q11446) ?super (wdt:P279+) wd:Q1229765. } SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 500
Watercraft requiring maintenance edit
Queries below can be used to list items that require maintenance; you may use these SPARQL request in PetScan (Other sources tab, with Use wiki=Wikidata) to fix these defective items.
Incorrect type issues edit
- An individual watercraft cannot be a subclass of anything
- Priority: extreme - this is a breakdown of the ontology
- Individual watercraft that are also subclass of something (extreme)
SELECT DISTINCT ?watercraft ?watercraftLabel ?watercraftTypeLabel ?superClassLabel WHERE { ?watercraft wdt:P31 ?watercraftType . ?watercraftType wdt:P279* wd:Q1229765 . ?watercraft wdt:P279 ?superClass . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Redundant types edit
- Once a watercraft has a specific type (such as instance of (P31)naval vessel (Q177597)), it should no longer bear redundant claim instance of (P31)watercraft (Q1229765).
- Priority: low - this is just redundant information
- List watercraft bearing redundant property P31=watercraft (low)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftTypeLabel WHERE { ?watercraft wdt:P31 wd:Q1229765 . # Plain watercraft ?watercraft wdt:P31 ?watercraftType . # Also some watercraft type ?watercraftType wdt:P279+ wd:Q1229765 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 5000
- Once a ship has a specific type (such as instance of (P31)destroyer (Q174736)), it should no longer bear redundant claim instance of (P31)ship (Q11446).
- Priority: low - this is just redundant information
- List ships bearing redundant property P31=ship (low)
SELECT DISTINCT ?ship (REPLACE(STR(?ship),".*Q","Q") AS ?shipQid) ?shipLabel ?shipTypeLabel WHERE { ?ship wdt:P31 wd:Q11446 . # Plain ship ?ship wdt:P31 ?shipType . # Also some ship type ?shipType wdt:P279+ wd:Q11446 . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 5000
- Once a submarine has a specific type it should no longer be a direct instance of submarine (Q2811)
- Priority: low - this is just redundant information
- List submarines bearing redundant property P31=submarine (low)
SELECT DISTINCT ?submarine (REPLACE(STR(?submarine),".*Q","Q") AS ?submarineQid) ?submarineLabel ?submarineTypeLabel WHERE { ?submarine wdt:P31 wd:Q2811 . # Plain submarine ?submarine wdt:P31 ?submarineType . # Also some submarine type ?submarineType wdt:P279+ wd:Q2811 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 5000
- Once a boat has a specific type it should no longer be a direct instance of boat (Q35872)
- Priority: low - this is just redundant information
- List boats bearing redundant property P31=boat (low)
SELECT DISTINCT ?boat (REPLACE(STR(?boat),".*Q","Q") AS ?boatQid) ?boatLabel ?boatTypeLabel WHERE { ?boat wdt:P31 wd:Q35872 . # Plain boat ?boat wdt:P31 ?boatType . # Also some boat type ?boatType wdt:P279+ wd:Q35872 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 5000
Incorrect relationship to watercraft class edit
- Watercraft should not be an instance of a watercraft class
- Items that are instances of watercraft classes (medium)
SELECT DISTINCT ?item (REPLACE(STR(?item),".*Q","Q") AS ?itemQid) ?itemLabel ?vesselClassLabel WHERE { ?item wdt:P31 ?vesselClass . ?vesselClass wdt:P31/wdt:P279* wd:Q18758641 . FILTER NOT EXISTS { ?vesselClass wdt:P31/wdt:P279* wdt:Q106179098 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Watercraft should only have one watercraft class
- List watercraft with two watercraft classes (medium)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftClassLabel ?extrawatercraftClassLabel WHERE { ?watercraft wdt:P289 ?watercraftClass . ?watercraft wdt:P289 ?extrawatercraftClass . FILTER ( ?watercraftClass != ?extrawatercraftClass ) SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Misused properties edit
- Items that are "part of (P361)" watercraft classes, instead of using property vessel class (P289):
- Things that are part-of a watercraft class (high)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftClassLabel WHERE { ?watercraft wdt:P361 ?watercraftClass . ?watercraftClass wdt:P31/wdt:P279* wd:Q559026 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Things that are instance of (P31) lead ship
- Watercraft that are instances of lead ship (medium)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel WHERE { ?watercraft wdt:P31/wdt:P279* wd:Q2095057 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Types that are too generic edit
- List direct instances of watercraft or ship or submarine or boat despite having a vessel class (P289):
- List direct instances of watercraft or ship or boat and also have a vessel class (medium)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel ?watercraftClassLabel WHERE { { ?watercraft wdt:P31 wd:Q1229765 } UNION { ?watercraft wdt:P31 wd:Q11446 } UNION { ?watercraft wdt:P31 wd:Q35872 } ?watercraft wdt:P289 ?watercraftClass . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 5000
- List direct instances of watercraft or ship or submarine or boat with no vessel class (P289):
- List direct instances of watercraft or ship or submarine or boat and with no vessel class (medium)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel WHERE { { ?watercraft wdt:P31 wd:Q1229765 } UNION { ?watercraft wdt:P31 wd:Q11446 } UNION { ?watercraft wdt:P31 wd:Q2811 } UNION { ?watercraft wdt:P31 wd:Q35872 } FILTER NOT EXISTS { ?watercraft wdt:P289 ?watercraftClass . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 5000
Improper use of training vessel (Q660668) edit
- instance of (P31) training vessel (Q660668) - use has use (P366)) instead
- Instances of training vessel - should be P366 (medium)
SELECT DISTINCT ?watercraft (REPLACE(STR(?watercraft),".*Q","Q") AS ?watercraftQid) ?watercraftLabel WHERE { ?watercraft wdt:P31/wdt:P279* wd:Q660668 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- has use (P366) training vessel (Q660668) but not on a watercraft or watercraft class
- Things that have use as training watercraft but are not watercraft or watercraft classes (high)
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQid) ?thingLabel WHERE { ?thing wdt:P366 wd:Q660668 . FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q1229765 . } FILTER NOT EXISTS { ?thing wdt:P31/wdt:P279* wd:Q18758641 . } SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
follows (P155) and followed by (P156) violations edit
Ships edit
- Priority: medium low - this is an ontology violation but not a serious one
- Ship classes follow something that is not a ship class (medium low)
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel ?previousClassLabel WHERE { ?shipClass wdt:P31/wdt:P279* wd:Q559026 . ?shipClass wdt:P155 ?previousClass . FILTER NOT EXISTS {?previousClass wdt:P31/wdt:P279* wd:Q559026 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Priority: medium low - this is an ontology violation but not a serious one
- Ship classes followed by something that is not a ship class (medium low)
SELECT DISTINCT ?shipClass(REPLACE(STR(?shipClass),".*Q","Q") AS ?shipClassQ) ?shipClassLabel ?followingClassLabel WHERE { ?shipClass wdt:P31/wdt:P279* wd:Q559026 . ?shipClass wdt:P156 ?followingClass . FILTER NOT EXISTS {?followingClass wdt:P31/wdt:P279* wd:Q559026 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Priority: medium low - this is an ontology violation but not a serious one
- Ship follows a ship class (medium low)
SELECT DISTINCT ?ship(REPLACE(STR(?ship),".*Q","Q") AS ?shipQ) ?shipLabel ?previousClassLabel WHERE { ?ship wdt:P31/wdt:P279* wd:Q11446 . ?ship wdt:P155 ?previousClass . ?previousClass wdt:P31/wdt:P279* wd:Q559026 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Priority: medium low - this is an ontology violation but not a serious one
- Ship followed by a ship class (medium low)
SELECT DISTINCT ?ship(REPLACE(STR(?ship),".*Q","Q") AS ?shipQ) ?shipLabel ?followingClassLabel WHERE { ?ship wdt:P31/wdt:P279* wd:Q11446 . ?ship wdt:P156 ?followingClass . ?followingClass wdt:P31/wdt:P279* wd:Q559026 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Submarines edit
- Priority: medium low - this is an ontology violation but not a serious one
- Submarine classes follow something that is not a submarine class (medium low)
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel ?previousClassLabel WHERE { ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 . ?submarineClass wdt:P155 ?previousClass . FILTER NOT EXISTS {?previousClass wdt:P31/wdt:P279* wd:Q1428357 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Priority: medium low - this is an ontology violation but not a serious one
- Submarine classes followed by something that is not a submarine class (medium low)
SELECT DISTINCT ?submarineClass(REPLACE(STR(?submarineClass),".*Q","Q") AS ?submarineClassQ) ?submarineClassLabel ?followingClassLabel WHERE { ?submarineClass wdt:P31/wdt:P279* wd:Q1428357 . ?submarineClass wdt:P156 ?followingClass . FILTER NOT EXISTS {?followingClass wdt:P31/wdt:P279* wd:Q1428357 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- submarine follows (P155) a submarine class (Q1428357)
- Priority: medium low - this is an ontology violation but not a serious one
- Submarine follows a submarine class (medium low)
SELECT DISTINCT ?submarine(REPLACE(STR(?submarine),".*Q","Q") AS ?submarineQ) ?submarineLabel ?previousClassLabel WHERE { ?submarine wdt:P31/wdt:P279* wd:Q2811 . ?submarine wdt:P155 ?previousClass . ?previousClass wdt:P31/wdt:P279* wd:Q1428357 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- submarine followed by (P156) a submarine class (Q1428357)
- Priority: medium low - this is an ontology violation but not a serious one
- Submarine followed by a submarine class (medium low)
SELECT DISTINCT ?submarine(REPLACE(STR(?submarine),".*Q","Q") AS ?submarineQ) ?submarineLabel ?followingClassLabel WHERE { ?submarine wdt:P31/wdt:P279* wd:Q2811 . ?submarine wdt:P156 ?followingClass . ?followingClass wdt:P31/wdt:P279* wd:Q1428357 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
Boats edit
- Priority: medium low - this is an ontology violation but not a serious one
- Boat classes follow something that is not a boat class (medium low)
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel ?previousClassLabel WHERE { ?boatClass wdt:P31/wdt:P279* wd:Q121289722 . ?boatClass wdt:P155 ?previousClass . FILTER NOT EXISTS {?previousClass wdt:P31/wdt:P279* wd:Q121289722 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Priority: medium low - this is an ontology violation but not a serious one
- Boat classes followed by something that is not a boat class (medium low)
SELECT DISTINCT ?boatClass(REPLACE(STR(?boatClass),".*Q","Q") AS ?boatClassQ) ?boatClassLabel ?followingClassLabel WHERE { ?boatClass wdt:P31/wdt:P279* wd:Q121289722 . ?boatClass wdt:P156 ?followingClass . FILTER NOT EXISTS {?followingClass wdt:P31/wdt:P279* wd:Q121289722 .} SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Priority: medium low - this is an ontology violation but not a serious one
- Boat follows a boat class (medium low)
SELECT DISTINCT ?boat(REPLACE(STR(?boat),".*Q","Q") AS ?boatQ) ?boatLabel ?previousClassLabel WHERE { ?boat wdt:P31/wdt:P279* wd:Q35872 . ?boat wdt:P155 ?previousClass . ?previousClass wdt:P31/wdt:P279* wd:Q121289722 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Priority: medium low - this is an ontology violation but not a serious one
- Boat followed by a boat class (medium low)
SELECT DISTINCT ?boat(REPLACE(STR(?boat),".*Q","Q") AS ?boatQ) ?boatLabel ?followingClassLabel WHERE { ?boat wdt:P31/wdt:P279* wd:Q35872 . ?boat wdt:P156 ?followingClass . ?followingClass wdt:P31/wdt:P279* wd:Q121289722 . SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl".} } LIMIT 500
- Missing instance of (P31) despite having a navy (Q4508) as operator (P137) :
- Priority: medium
- Things that are operated by a navy but are missing a type (medium)
SELECT DISTINCT ?thing (REPLACE(STR(?thing),".*Q","Q") AS ?thingQid) ?thingLabel ?navyLabel WHERE { ?navy wdt:P137 ?thing . ?navy wdt:P31/wdt:P279* wd:Q4508 . FILTER NOT EXISTS { ?thing wdt:P31 ?type . } SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr,es,it,de,pl". } } LIMIT 500
IMO numbers used in more than one item edit
- Priority: medium
- IMO numbers used more than once (medium)
SELECT ?value ?valueLabel ?count WHERE { { SELECT ?value (COUNT(DISTINCT ?a) AS ?count) WHERE { ?a ?prop ?value . ?a wdt:P31 ?class . BIND (wdt:P458 AS ?prop) . BIND (wd:Q11446 AS ?class) . } GROUP BY ?value } FILTER (?count > 1) . SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . } } ORDER BY DESC(?count) ?valueLabel LIMIT 200