-
Notifications
You must be signed in to change notification settings - Fork 3
The following provides a concise SKOS-based taxonomy used for representing the Senzing entity resolution (ER) results in the computable semantics of RDF, based on the data mappings defined in the Senzing Entity Specification.
One intention is to align with popular controlled vocabularies used by Senzing partners, such as NIEM by OASIS Open, FollowTheMoney by OpenSanctions, and the Beneficial Ownership Data Standard by Open Ownership.
Effectively, this creates as a domain-specific thesaurus, which may be used:
- to provide a "backbone" for constructing an Entity Resolved Knowledge Graph
- within information exchange workflows based on standards such as NIEM
- as a core component for developing a semantic layer
- to guide context engineering in AI applications
Namespace: https://github.com/senzing-garage/sz-semantics/wiki/ns#
Suggested prefix: sz:
Source: https://github.com/senzing-garage/sz-semantics/blob/main/domain.ttl
Updated: 2025-11-06
Authors: Paco Nathan, Jessica Talisman, Jeff Butcher
A metadata application profile (MAP) is a specification which describes how metadata standards should be used within a specific application, project, or community context. This provides a bridge between general-purpose metadata standards and the real-world practices for a given domain. Instead of inventing an entirely new metadata schema, a MAP serves to:
- select elements from existing metadata standards -- e.g., SKOS, Dublin Core, WCO, etc.
-
refine the meaning of the elements used -- e.g., require that
dcterms:creatormust be a person, not an organization. - constrain usage -- e.g., requiring particular fields, limiting values to controlled vocabularies, etc.
- extend with local elements as needed.
| sz:Entity | |
|---|---|
| URI: | https://github.com/senzing-garage/sz-semantics/wiki/ns#Entity |
| Definition: | Entity is anything that can be considered, discussed, or observed; in this context, generally a Person or Organization; see wd:Q35120 |
| Label: | Entity |
| Types: | skos:Concept, nc:EntityType |
| Equiv Classes: | ftm:LegalEntity, bods:EntityType, wco:Agent, foaf:Agent |
| Usage: | Top-level concept in the scheme, not intended to be used directly for instances |
| sz:Organization | |
|---|---|
| URI: | https://github.com/senzing-garage/sz-semantics/wiki/ns#Organization |
| Definition: | Organization is a social entity established to meet needs or pursue goals; see wd:Q43229 |
| Label: | Organization |
| Super Class: | sz:Entity |
| Types: | skos:Concept, nc:OrganizationType |
| Equiv Classes: | ftm:Organization, wco:Organization, foaf:Organization |
| Usage: | In entity linking workflows, this can be used as a label for zero-shot NER |
| sz:Person | |
|---|---|
| URI: | https://github.com/senzing-garage/sz-semantics/wiki/ns#Person |
| Definition: | Person represents an individual human being, distinct from some type of corporation, which may encompass real or deceased people, or their pseudonyms; see wd:Q5 |
| Label: | Person |
| Super Class: | sz:Entity |
| Types: | skos:Concept, nc:PersonType |
| Equiv Classes: | ftm:Person, bods:PersonType, wco:Person, foaf:Person |
| Usage: | In entity linking workflows, this can be used as a label for zero-shot NER |
| sz:DataRecord | |
|---|---|
| URI: | https://github.com/senzing-garage/sz-semantics/wiki/ns#DataRecord |
| Definition: | Data Record is a composite data type; an information block containing specific, identified fields; wd:Q2470517 |
| Label: | Data Record |
| Types: | skos:Concept |
| Equiv Classes: | prov:Entity, bods:RecordDetails, wco:TransactionalEvent |
| Usage: | In typical usage, an instance will have properties pointing to a named dataset with a unique foreign key |
| predicate | domain | range | definition |
|---|---|---|---|
| sz:match_key | sz:Entity | xsd:string | indicates which features matched when a record was last processed individually; see MATCH-KEY vs. Why |
| sz:match_level | sz:Entity | xsd:string | describes how the data record contributes to this entity; see Understanding Match Levels |
| sz:lemma_phrase | skos:Concept | rdf:langString | a parsed, lemmatized noun phrase, used as a unique identifier in entity linking |
| sz:ner_label | skos:Concept | xsd:boolean | indicates whether the skos:prefLabel value can be used as an NER label |
| sz:member_of | sz:Person | sz:Organization | indicates when a person is known to be a member of an organization; equivalent class wco:memberOf |
Entity instances of type sz:Organization or sz:Person must each have one or more prov:wasDerivedFrom properties linking to sz:DataRecord instances.
For each data record, the entity instance must describe these required properties:
-
skos:exactMatch,skos:closeMatch, orskos:relatedto describe the likelihood of the relation -
sz:match_levelandsz:match_keydescribing how the data record contributes to the entity and which features were used in entity resolution
An entity instance may also have optional properties:
-
skos:prefLabel-- if the entity name is known -
sz:lemma_phrase-- if the entity name is known, and natural language processing is being used with entity linking
In addition, entity instances may have properties associated with their respective equivalent classes, such as an LEI code for sz:Organization entities or VIAF identifiers for sz:Person entities.
Instances of sz:DataRecord must describe these required properties:
-
prov:wasQuotedFromlinking to an instance of a named data source -
dc:identifierfor the foreign key of the record in that data source
Each named data source must be an instance of dcat:Dataset with the required property dc:identifier as its record namespace used in Senzing.
There may be other optional properties associated with data governance or content management practices such as data mesh, data catalogs, semantic layer frameworks, and so on.
The RDF triples in the following example show two instances of sz:Organization and one instance of sz:Person which link to four sz:DataRecord instances, which in turn come from two named data sources:
sz:1 a sz:Organization ;
skos:prefLabel "Univrsl Exports USA"@en ;
prov:wasDerivedFrom sz:ds_customers_1001,
sz:ds_reference_5150 .
[] rdf:subject sz:1 ;
rdf:predicate skos:exactMatch ;
rdf:object sz:ds_customers_1001 ;
sz:match_key "INITIAL" ;
sz:match_level "INITIAL" .
[] rdf:subject sz:1 ;
rdf:predicate skos:exactMatch ;
rdf:object sz:ds_reference_5150 ;
sz:match_key "+ADDRESS+PHONE+LIKELY_NAME" ;
sz:match_level "RESOLVED" .
sz:ds_customers_1001 a sz:DataRecord ;
prov:wasQuotedFrom sz:ds_customers ;
dc:identifier "1001" .
sz:ds_reference_5150 a sz:DataRecord ;
prov:wasQuotedFrom sz:ds_reference ;
dc:identifier "5150" .
[] rdf:subject sz:1 ;
rdf:predicate skos:closeMatch ;
rdf:object sz:2 ;
sz:match_key "+ADDRESS+LIKELY_NAME" ;
sz:match_level "POSSIBLY_SAME" .
sz:2 a sz:Organization ;
skos:prefLabel "Universal Exports Worldwide"@en ;
prov:wasDerivedFrom sz:ds_customers_1002 .
[] rdf:subject sz:1 ;
rdf:predicate skos:related ;
rdf:object sz:3 ;
sz:match_key "+REL_POINTER(:OWNS 60%)" ;
sz:match_level "DISCLOSED" .
[] rdf:subject sz:2 ;
rdf:predicate skos:exactMatch ;
rdf:object sz:ds_customers_1002 ;
sz:match_key "INITIAL" ;
sz:match_level "INITIAL" .
sz:ds_customers_1002 a sz:DataRecord ;
prov:wasQuotedFrom sz:ds_customers ;
dc:identifier "1002" .
sz:3 a sz:Person ;
skos:prefLabel "Jie Wang"@en ;
prov:wasDerivedFrom sz:ds_customers_1003 .
[] rdf:subject sz:3 ;
rdf:predicate skos:exactMatch ;
rdf:object sz:ds_customers_1003 ;
sz:match_key "INITIAL" ;
sz:match_level "INITIAL" .
sz:ds_customers_1003 a sz:DataRecord ;
prov:wasQuotedFrom sz:ds_customers ;
dc:identifier "1003" .
sz:ds_customers a dcat:Dataset ;
dc:identifier "customers" .
sz:ds_reference a dcat:Dataset ;
dc:identifier "reference" .The SHACL shape constraint rules in the
shacl.ttl file
can be used as a basis for validating a SKOS thesaurus generated from Senzing entity resolution results.