@prefix atlas: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix schema: . @prefix wd: . @prefix dcterms: . # ============================================================================= # Atlas Ontology v1.1.0 # # Changelog # 1.0.0 Initial release — core classes, flat identifiers, alias, provenance, # claim, curate flag, seven top-level entity types. # 1.1.0 Expanded type catalog (fully backward-compatible): # - Location hierarchy: Continent, Country, Region, PopulatedPlace, # Neighbourhood, NaturalFeature, AdministrativeArea # - Organization subtypes: PoliticalParty, MilitaryUnit, # MediaOrganization # - CreativeWork subtypes: Film, Book, MusicAlbum, TVSeries, # VideoGame # - Product subtypes: Drug, Food # - New top-level types: FinancialInstrument (with PublicCompany, # StockIndex, Commodity, Cryptocurrency, Currency), Animal, # Disease, Building, Award, Sport, FictionalCharacter, # EthnicGroup, Concept # Three new relationship properties: # - atlas:locatedIn (transitive) # - atlas:bordersWith (symmetric) # - atlas:memberOf # ============================================================================= a owl:Ontology ; rdfs:label "Atlas Ontology" ; rdfs:comment "Entity resolution ontology for Atlas." ; owl:versionIRI ; owl:versionInfo "1.1.0" ; dcterms:created "2026-04-01"^^xsd:date ; dcterms:modified "2026-04-06"^^xsd:date . # ============================================================================= # INFRASTRUCTURE CLASSES (1.0.0 — unchanged) # ============================================================================= atlas:Entity a owl:Class ; rdfs:label "Entity" ; rdfs:comment "One real-world referent." . atlas:EntityType a owl:Class ; rdfs:label "Entity Type" ; rdfs:comment "Controlled vocabulary of canonical types." . atlas:Identifier a owl:Class ; rdfs:label "Identifier" ; rdfs:comment "External identifier. atlas:scheme holds the scheme token; atlas:value holds the string." . atlas:Provenance a owl:Class ; rdfs:label "Provenance" ; rdfs:comment "Source, method, timestamp and confidence for an identifier or claim." . atlas:Claim a owl:Class ; rdfs:label "Claim" ; rdfs:comment "Reified triple with provenance. The triple must also exist directly on the entity." . atlas:CurateFlag a owl:Class ; rdfs:label "Curate Flag" ; rdfs:comment "Signals that an entity needs human review." . # ============================================================================= # OBJECT PROPERTIES (1.0.0 — unchanged, three new ones added in 1.1.0) # ============================================================================= atlas:hasCanonicalType a owl:ObjectProperty ; rdfs:domain atlas:Entity ; rdfs:range atlas:EntityType ; rdfs:label "has canonical type" . atlas:hasIdentifier a owl:ObjectProperty ; rdfs:domain atlas:Entity ; rdfs:range atlas:Identifier ; rdfs:label "has identifier" . atlas:hasClaim a owl:ObjectProperty ; rdfs:domain atlas:Entity ; rdfs:range atlas:Claim ; rdfs:label "has claim" . atlas:claimSubjectIri a owl:ObjectProperty ; rdfs:domain atlas:Claim ; rdfs:range atlas:Entity ; rdfs:label "claim subject IRI" . atlas:claimPredicate a owl:ObjectProperty ; rdfs:domain atlas:Claim ; rdfs:range rdf:Property ; rdfs:label "claim predicate" . atlas:claimObjectIri a owl:ObjectProperty ; rdfs:domain atlas:Claim ; rdfs:range owl:Thing ; rdfs:label "claim object IRI" . atlas:hasProvenance a owl:ObjectProperty ; rdfs:domain owl:Thing ; rdfs:range atlas:Provenance ; rdfs:label "has provenance" . atlas:supersedes a owl:ObjectProperty ; rdfs:domain atlas:Claim ; rdfs:range atlas:Claim ; rdfs:label "supersedes" . atlas:hasCurateFlag a owl:ObjectProperty ; rdfs:domain atlas:Entity ; rdfs:range atlas:CurateFlag ; rdfs:label "has curate flag" . # --- NEW in 1.1.0 --- atlas:locatedIn a owl:ObjectProperty, owl:TransitiveProperty ; rdfs:domain atlas:Entity ; rdfs:range atlas:Entity ; rdfs:label "located in" ; rdfs:comment "Spatial containment, transitive. Enables zoom-in/zoom-out traversal: PopulatedPlace locatedIn Region locatedIn Country locatedIn Continent." . atlas:bordersWith a owl:ObjectProperty, owl:SymmetricProperty ; rdfs:domain atlas:Entity ; rdfs:range atlas:Entity ; rdfs:label "borders with" ; rdfs:comment "Shared land or maritime border. Symmetric: if A bordersWith B then B bordersWith A." . atlas:memberOf a owl:ObjectProperty ; rdfs:domain atlas:Entity ; rdfs:range atlas:Entity ; rdfs:label "member of" ; rdfs:comment "Membership or affiliation. Intended uses: Person to Organization, Person to EthnicGroup, Organization to Organization. Not for type classification — use atlas:hasCanonicalType for that." . # ============================================================================= # DATATYPE PROPERTIES (1.0.0 — unchanged) # ============================================================================= atlas:atlasId a owl:DatatypeProperty ; rdfs:domain atlas:Entity ; rdfs:range xsd:string ; rdfs:label "atlas id" . atlas:canonicalLabel a owl:DatatypeProperty ; rdfs:domain atlas:Entity ; rdfs:range xsd:string ; rdfs:label "canonical label" . atlas:canonicalDescription a owl:DatatypeProperty ; rdfs:domain atlas:Entity ; rdfs:range xsd:string ; rdfs:label "canonical description" . atlas:aliasLabel a owl:DatatypeProperty ; rdfs:domain atlas:Entity ; rdfs:range xsd:string ; rdfs:label "alias label" ; rdfs:comment "Direct surface form. Add a language tag where known." . atlas:scheme a owl:DatatypeProperty ; rdfs:domain atlas:Identifier ; rdfs:range xsd:string ; rdfs:label "scheme" ; rdfs:comment "Controlled tokens: wikidata-qid | google-mid | atlas-internal." . atlas:value a owl:DatatypeProperty ; rdfs:domain atlas:Identifier ; rdfs:range xsd:string ; rdfs:label "value" . atlas:provenanceSource a owl:DatatypeProperty ; rdfs:domain atlas:Provenance ; rdfs:range xsd:string ; rdfs:label "provenance source" . atlas:retrievalMethod a owl:DatatypeProperty ; rdfs:domain atlas:Provenance ; rdfs:range xsd:string ; rdfs:label "retrieval method" . atlas:retrievedAt a owl:DatatypeProperty ; rdfs:domain atlas:Provenance ; rdfs:range xsd:dateTime ; rdfs:label "retrieved at" . atlas:confidence a owl:DatatypeProperty ; rdfs:domain atlas:Provenance ; rdfs:range xsd:decimal ; rdfs:label "confidence" . atlas:claimLayer a owl:DatatypeProperty ; rdfs:domain atlas:Claim ; rdfs:range xsd:string ; rdfs:label "claim layer" ; rdfs:comment "Values: raw | derived | curated." . atlas:claimStatus a owl:DatatypeProperty ; rdfs:domain atlas:Claim ; rdfs:range xsd:string ; rdfs:label "claim status" ; rdfs:comment "Values: active | superseded | rejected." . atlas:claimObjectLiteral a owl:DatatypeProperty ; rdfs:domain atlas:Claim ; rdfs:range xsd:string ; rdfs:label "claim object literal" . atlas:needsCuration a owl:DatatypeProperty ; rdfs:domain atlas:Entity ; rdfs:range xsd:boolean ; rdfs:label "needs curation" . atlas:curationReason a owl:DatatypeProperty ; rdfs:domain atlas:CurateFlag ; rdfs:range xsd:string ; rdfs:label "curation reason" . atlas:rawJson a owl:DatatypeProperty ; rdfs:domain atlas:Entity ; rdfs:range xsd:string ; rdfs:label "raw json" ; rdfs:comment "Opaque JSON cache blob. Source is recorded inside the blob." . # ============================================================================= # TYPE CATALOG # # LLM extraction note: # For cheap / small models, pass only the seven top-level types (Person, # Organization, Location, CreativeWork, Event, Product, Other plus the new # top-level additions). Use a Wikidata QID lookup to promote to a subtype # in a second pass — do not ask a small model to choose among 35 types. # # Virtuoso inference note: # rdfs:subClassOf* traversal requires inference to be enabled: # OPTION(INFERENCE 'atlas') # A query for atlas:Location will then also match atlas:Country etc. # ============================================================================= # ----------------------------------------------------------------------------- # Person (1.0.0) # ----------------------------------------------------------------------------- atlas:Person a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Person" ; owl:sameAs schema:Person, wd:Q5 . # ----------------------------------------------------------------------------- # Organization (1.0.0) + subtypes (1.1.0) # ----------------------------------------------------------------------------- atlas:Organization a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Organization" ; owl:sameAs schema:Organization, wd:Q43229 . atlas:PoliticalParty a owl:Class ; rdfs:subClassOf atlas:Organization ; rdfs:label "Political Party" ; owl:sameAs wd:Q7278 . # 1.1.0 atlas:MilitaryUnit a owl:Class ; rdfs:subClassOf atlas:Organization ; rdfs:label "Military Unit" ; owl:sameAs wd:Q176799 . # 1.1.0 atlas:MediaOrganization a owl:Class ; rdfs:subClassOf atlas:Organization ; rdfs:label "Media Organization" ; owl:sameAs wd:Q4830453 . # 1.1.0 # ----------------------------------------------------------------------------- # Location (1.0.0) + hierarchy (1.1.0) # Relate instances with atlas:locatedIn and atlas:bordersWith. # ----------------------------------------------------------------------------- atlas:Location a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Location" ; rdfs:comment "Abstract parent. Use a subtype where possible." ; owl:sameAs schema:Place, wd:Q17334923 . atlas:Continent a owl:Class ; rdfs:subClassOf atlas:Location ; rdfs:label "Continent" ; owl:sameAs wd:Q5107 . # 1.1.0 atlas:Country a owl:Class ; rdfs:subClassOf atlas:Location ; rdfs:label "Country" ; owl:sameAs schema:Country, wd:Q6256 . # 1.1.0 atlas:Region a owl:Class ; rdfs:subClassOf atlas:Location ; rdfs:label "Region" ; rdfs:comment "State, province, county or similar administrative subdivision." ; owl:sameAs wd:Q82794 . # 1.1.0 atlas:PopulatedPlace a owl:Class ; rdfs:subClassOf atlas:Location ; rdfs:label "Populated Place" ; rdfs:comment "City, town or village." ; owl:sameAs wd:Q515 . # 1.1.0 atlas:Neighbourhood a owl:Class ; rdfs:subClassOf atlas:Location ; rdfs:label "Neighbourhood" ; rdfs:comment "Borough, district, arrondissement or similar urban subdivision." ; owl:sameAs wd:Q123705 . # 1.1.0 atlas:NaturalFeature a owl:Class ; rdfs:subClassOf atlas:Location ; rdfs:label "Natural Feature" ; rdfs:comment "River, mountain, ocean, lake or other natural geographic feature." ; owl:sameAs wd:Q35145263 . # 1.1.0 atlas:AdministrativeArea a owl:Class ; rdfs:subClassOf atlas:Location ; rdfs:label "Administrative Area" ; rdfs:comment "Fallback for political subdivisions that do not fit a more specific subtype." ; owl:sameAs wd:Q56061 . # 1.1.0 # ----------------------------------------------------------------------------- # CreativeWork (1.0.0) + subtypes (1.1.0) # ----------------------------------------------------------------------------- atlas:CreativeWork a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Creative Work" ; owl:sameAs schema:CreativeWork, wd:Q17537576 . atlas:Film a owl:Class ; rdfs:subClassOf atlas:CreativeWork ; rdfs:label "Film" ; owl:sameAs schema:Movie, wd:Q11424 . # 1.1.0 atlas:Book a owl:Class ; rdfs:subClassOf atlas:CreativeWork ; rdfs:label "Book" ; owl:sameAs schema:Book, wd:Q571 . # 1.1.0 atlas:MusicAlbum a owl:Class ; rdfs:subClassOf atlas:CreativeWork ; rdfs:label "Music Album" ; owl:sameAs schema:MusicAlbum, wd:Q482994 . # 1.1.0 atlas:TVSeries a owl:Class ; rdfs:subClassOf atlas:CreativeWork ; rdfs:label "TV Series" ; owl:sameAs schema:TVSeries, wd:Q5398426 . # 1.1.0 atlas:VideoGame a owl:Class ; rdfs:subClassOf atlas:CreativeWork ; rdfs:label "Video Game" ; owl:sameAs schema:VideoGame, wd:Q7889 . # 1.1.0 # ----------------------------------------------------------------------------- # Event (1.0.0) # ----------------------------------------------------------------------------- atlas:Event a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Event" ; owl:sameAs schema:Event, wd:Q1656682 . # ----------------------------------------------------------------------------- # Product (1.0.0) + subtypes (1.1.0) # ----------------------------------------------------------------------------- atlas:Product a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Product" ; owl:sameAs schema:Product, wd:Q2424752 . atlas:Drug a owl:Class ; rdfs:subClassOf atlas:Product ; rdfs:label "Drug" ; owl:sameAs wd:Q8386 . # 1.1.0 atlas:Food a owl:Class ; rdfs:subClassOf atlas:Product ; rdfs:label "Food" ; owl:sameAs wd:Q2095 . # 1.1.0 # ----------------------------------------------------------------------------- # FinancialInstrument (1.1.0) — new top-level type # ----------------------------------------------------------------------------- atlas:FinancialInstrument a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Financial Instrument" ; owl:sameAs wd:Q182780 . atlas:PublicCompany a owl:Class ; rdfs:subClassOf atlas:FinancialInstrument ; rdfs:label "Public Company" ; rdfs:comment "Company traded on a public exchange. Has a ticker and ISIN." ; owl:sameAs wd:Q891723 . atlas:StockIndex a owl:Class ; rdfs:subClassOf atlas:FinancialInstrument ; rdfs:label "Stock Index" ; rdfs:comment "Market index such as S&P 500, DAX or Nikkei." ; owl:sameAs wd:Q181600 . atlas:Commodity a owl:Class ; rdfs:subClassOf atlas:FinancialInstrument ; rdfs:label "Commodity" ; rdfs:comment "Physical good traded on an exchange: gold, oil, wheat, etc." ; owl:sameAs wd:Q317088 . atlas:Cryptocurrency a owl:Class ; rdfs:subClassOf atlas:FinancialInstrument ; rdfs:label "Cryptocurrency" ; owl:sameAs wd:Q13479982 . atlas:Currency a owl:Class ; rdfs:subClassOf atlas:FinancialInstrument ; rdfs:label "Currency" ; rdfs:comment "Fiat currency. Distinct from Cryptocurrency." ; owl:sameAs schema:Currency, wd:Q8142 . # ----------------------------------------------------------------------------- # New top-level types (1.1.0) # ----------------------------------------------------------------------------- atlas:Animal a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Animal" ; owl:sameAs wd:Q729 . atlas:Disease a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Disease" ; owl:sameAs schema:MedicalCondition, wd:Q12136 . atlas:Building a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Building" ; owl:sameAs wd:Q41176 . atlas:Award a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Award" ; owl:sameAs wd:Q618779 . atlas:Sport a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Sport" ; owl:sameAs wd:Q349 . atlas:FictionalCharacter a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Fictional Character" ; owl:sameAs wd:Q95074 . atlas:EthnicGroup a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Ethnic Group" ; owl:sameAs wd:Q41710 . atlas:Concept a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Concept" ; rdfs:comment "Abstract idea that does not fit a more specific type." ; owl:sameAs wd:Q151885 . # ----------------------------------------------------------------------------- # Other (1.0.0) — fallback, use when no type above fits # ----------------------------------------------------------------------------- atlas:Other a owl:Class ; rdfs:subClassOf atlas:EntityType ; rdfs:label "Other" .