Closed VladimirAlexiev closed 12 months ago
Hi Vladimir - including both the ID Datatype properties and "hasA" Object properties was a design choice for this ontology. Most all of these "strings" are also "things" - we opted for leaving the choice to the user as to when they would prefer to use one, the other, or both.
Sorry Ana, but I doubt your claim that "Most all of these "strings" are also "things".
Eg what are the object properties corresponding to activityLevelID activityTemplateID
and to acquisitionTypeID activityCodeID activityLevel
?
osdu:hasActivityLevel, osdu:hasActivityTemplate, and osdu:hasSeismicAcquisitionType all are existing object properties which correspond to the properties above.
osdu:activityLevelID and osdu:activityLevel are likely duplicates here that were present under two different attribute names in the OSDU schema, so we can clean that up at least.
@ana-tudor Ok, there are these:
osdu:hasActivityLevel rdf:type owl:ObjectProperty ;
rdfs:domain osdu:ActivityCode ;
rdfs:range osdu:ActivityLevel ;
osdu:activityLevelID rdf:type owl:DatatypeProperty ;
rdfs:domain osdu:ActivityCode ;
rdfs:range xsd:string ;
osdu:activityLevel rdf:type owl:DatatypeProperty ;
rdfs:domain osdu:WellPlanningActivity ;
rdfs:range xsd:string ;
I find the names of the two datatype props confusing with respect to each other.
But let's take the two props with domain ActivityCode
.
Consider the following example (presumably ActivityLevel
has some ID attribute, let's call it actLevID
)
<activityLevel/123> a ActivityLevel; actLevID "123".
<activityCode/345> a ActivityCode; hasActivityLevel <activityLevel/123>; activityLevelID "456".
Now the two literals "123" and "456" are in contradiction.
Many schema.org properties permit a "string vs thing" duality. But that is done using one property, so there is no redundancy/inconsistency, eg:
<paper> s:author "Vladimir Alexiev", <https://orcid.org/1234-5678-9012>.
<https://orcid.org/1234-5678-9012> a s:Person; s:name "A U Thor"; etc etc
There are 866 data props with
rdfs:range xsd:string
("strings"). However, many of them are candidates for converting to object props ("things"):activityLevelID activityTemplateID ... consequenceCategoryID consequenceSubCategoryID ...
acquisitionCompanyID acquisitionSite agency businessActivities attributionAuthority ...
acquisitionTypeID activityCodeID activityLevel activityOutcomeDetailID activityOutcomeID activityTypeID additiveTypeID agreementExternalSystem businessIntentionID ...
Note: in contrast,
activityID, agreementExternalID
are identifiers inside an object, so should remain strings