microbiomedata / nmdc-schema

National Microbiome Data Collaborative (NMDC) unified data model
https://microbiomedata.github.io/nmdc-schema/
Creative Commons Zero v1.0 Universal
27 stars 8 forks source link

Factor `TextValue` out of nmdc-schema and migrate accordingly #1938

Open turbomam opened 3 months ago

turbomam commented 3 months ago

see also

AttributeValues provide structure for values that MIxS models (and NCBI stores) as strings

TextValue is a wrapper around string that theoretically adds value by specifying the language and indicating what process generated the string. But we never use those slots.

turbomam commented 3 months ago
PREFIX nmdc: <https://w3id.org/nmdc/>
select 
?p (count(?s) as ?count)
    where {
    ?s a nmdc:TextValue ;
       ?p ?o .
}
group by ?p
p count
rdf:type 11885
nmdc:has_raw_value 11885
turbomam commented 3 months ago
PREFIX nmdc: <https://w3id.org/nmdc/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select 
?t ?p (count(?s) as ?count)
where {
    ?t rdfs:subClassOf* nmdc:AttributeValue .
    ?s a ?t ;
       ?p ?o .
}
group by ?t ?p
order by ?t ?p
row t p count
1 nmdc:ControlledIdentifiedTermValue rdf:type 26318
2 nmdc:ControlledIdentifiedTermValue nmdc:has_raw_value 10622
3 nmdc:ControlledIdentifiedTermValue nmdc:term 26318
4 nmdc:ControlledTermValue rdf:type 7748
5 nmdc:ControlledTermValue nmdc:has_raw_value 7748
6 nmdc:ControlledTermValue nmdc:term 435
7 nmdc:GeolocationValue rdf:type 8158
8 nmdc:GeolocationValue wgs:lat 8158
9 nmdc:GeolocationValue wgs:long 8158
10 nmdc:GeolocationValue nmdc:has_raw_value 2931
11 nmdc:ImageValue rdf:type 7
12 nmdc:ImageValue nmdc:url 7
13 nmdc:PersonValue schema1:email 1591
14 nmdc:PersonValue rdf:type 2159
15 nmdc:PersonValue nmdc:has_raw_value 1798
16 nmdc:PersonValue nmdc:name 1750
17 nmdc:PersonValue nmdc:orcid 266
18 nmdc:PersonValue nmdc:profile_image_url 23
19 nmdc:QuantityValue rdf:type 23790
20 nmdc:QuantityValue nmdc:has_maximum_numeric_value 5238
21 nmdc:QuantityValue nmdc:has_minimum_numeric_value 5211
22 nmdc:QuantityValue nmdc:has_numeric_value 18487
23 nmdc:QuantityValue nmdc:has_raw_value 4502
24 nmdc:QuantityValue nmdc:has_unit 22375
25 nmdc:TextValue rdf:type 11885
26 nmdc:TextValue nmdc:has_raw_value 11885
27 nmdc:TimestampValue rdf:type 7673
28 nmdc:TimestampValue nmdc:has_raw_value 7673
turbomam commented 3 months ago

ImageValue and TimestampValue only use a single sub-slot, too, beside asserting their type.