From a14c53dab7e858e217aa42abaac19af1ab8b2274 Mon Sep 17 00:00:00 2001 From: Paul Cuddihy Date: Tue, 22 Nov 2022 16:52:50 -0500 Subject: [PATCH] Changed RESOLUTIONS to subclass and sub-property off of EntityResolution:SameAs (copied in from SemTK). Note mulitple super-classes of SAME_AS. This triggers SemTK to know how to do entity resolution --- RACK-Ontology/OwlModels/import.yaml | 1 + RACK-Ontology/ontology/EntityResolution.sadl | 30 ++++++++++++++++++++ RACK-Ontology/ontology/RESOLUTIONS.sadl | 9 +++++- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 RACK-Ontology/ontology/EntityResolution.sadl diff --git a/RACK-Ontology/OwlModels/import.yaml b/RACK-Ontology/OwlModels/import.yaml index 5061325f..2f55b07d 100644 --- a/RACK-Ontology/OwlModels/import.yaml +++ b/RACK-Ontology/OwlModels/import.yaml @@ -7,6 +7,7 @@ files: - BASELINE.owl - CONFIDENCE.owl - DOCUMENT.owl +- EntityResolution.owl - FILE.owl - HARDWARE.owl - HAZARD.owl diff --git a/RACK-Ontology/ontology/EntityResolution.sadl b/RACK-Ontology/ontology/EntityResolution.sadl new file mode 100644 index 00000000..9a4efd31 --- /dev/null +++ b/RACK-Ontology/ontology/EntityResolution.sadl @@ -0,0 +1,30 @@ +uri "http://research.ge.com/semtk/entityResolution" alias entityResolution. + + +SameAs is a top-level class, + described by target with a single value of type class, + described by duplicate with a single value of type class. + + + +// -- range for examples +// THING is a class. + + +// -- simple example of subclassing SameAs with your own type(SAME_AS1) and range (THING) +// +// SAME_AS1 is a type of SameAs. +// target of SAME_AS1 only has values of type THING. +// duplicate of SAME_AS1 only has values of type THING. + + +// -- example of subclassing SameAs with your own type (SAME_AS2) +// and changing the names of the properties to 'primary' and 'secondary' +// and setting the range to THING +// +// SAME_AS2 is a type of SameAs, +// described by primary with a single value of type THING, +// described by secondary with a single value of type THING. +// +// primary is a type of target. +// secondary is a type of duplicate. \ No newline at end of file diff --git a/RACK-Ontology/ontology/RESOLUTIONS.sadl b/RACK-Ontology/ontology/RESOLUTIONS.sadl index 665aff48..540cc5bc 100644 --- a/RACK-Ontology/ontology/RESOLUTIONS.sadl +++ b/RACK-Ontology/ontology/RESOLUTIONS.sadl @@ -17,7 +17,14 @@ uri "http://arcos.rack/RESOLUTIONS" alias Rs. import "http://arcos.rack/PROV-S". +import "http://research.ge.com/semtk/EntityResolution". + SAME_AS (note "Used to create curation relationships between two nodes. When two THINGs are connected via the SAME_AS relationship it means that the THINGs are actually describing the same. SAME_AS relationships will be collapsed into a single THING by the resolution process.") is a type of NODE. primary (note "The primary THING is the one which will remain after the merge processes any conflicts will be resolved by using the primary's value, for example the resulting identifier will be the identifier from the primary") describes SAME_AS with a single value of type THING. - secondary (note "the secondary THINGs are the entity that will be removed during the resolution process, any attributes that do not conflict will be copied to the to the primary,") describes SAME_AS with values of type THING. \ No newline at end of file + secondary (note "the secondary THINGs are the entity that will be removed during the resolution process, any attributes that do not conflict will be copied to the to the primary,") describes SAME_AS with values of type THING. + +// Make SAME_AS compatible with semTK entity resolution functions. +SAME_AS is a type of EntityResolution:SameAs. +primary is a type of EntityResolution:target. +secondary is a type of EntityResolution:duplicate. \ No newline at end of file