Skip to content

Commit 9422955

Browse files
committed
1603_1.py (#39): still working on "part of" thing; refs https://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole/
1 parent cfe8094 commit 9422955

File tree

2 files changed

+73
-3
lines changed

2 files changed

+73
-3
lines changed

officina/999999999/0/L999999999_0.py

Lines changed: 70 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2915,6 +2915,12 @@ class OntologiaSimplici:
29152915

29162916
# No 1603 prefix
29172917
ontologia_radici: str = None
2918+
2919+
# dictionaria_radici: This affects how we infer "classes".
2920+
# Without this we may make partsOf as if they're classes,
2921+
# which may be wrong
2922+
dictionaria_radici: str = None
2923+
29182924
ordo_radici: int = None
29192925
data_apothecae_ex: str = []
29202926
caput_no1: List[str] = None
@@ -2929,15 +2935,23 @@ class OntologiaSimplici:
29292935
'@prefix p: <http://www.wikidata.org/prop/> .'
29302936
]
29312937

2938+
PARENTES = []
2939+
29322940
def __init__(
29332941
self,
29342942
ontologia_radici: str,
29352943
ontologia_ex_archivo: str,
2944+
dictionaria_radici: str = None
29362945
):
29372946

29382947
self.ontologia_radici = numerordinatio_neo_separatum(
29392948
ontologia_radici, ':')
29402949
self.ontologia_ex_archivo = ontologia_ex_archivo
2950+
if dictionaria_radici:
2951+
self.dictionaria_radici = numerordinatio_neo_separatum(
2952+
dictionaria_radici, ':')
2953+
else:
2954+
self.dictionaria_radici = self.ontologia_radici
29412955

29422956
self.initiari()
29432957

@@ -2962,6 +2976,47 @@ def initiari(self):
29622976
))
29632977

29642978
self.ordo_radici = numerordinatio_ordo(self.ontologia_radici)
2979+
2980+
_parents__parts = self.dictionaria_radici.split(':')
2981+
_parents__parens = []
2982+
# print('oi', _parents__parts)
2983+
for item in _parents__parts:
2984+
if len(_parents__parens) == 0:
2985+
self.PARENTES.append(
2986+
'<urn:{0}> rdf:type owl:Ontology .'.format(item))
2987+
self.PARENTES.append(
2988+
'<urn:{0}> rdf:type owl:Class .'.format(item))
2989+
self.PARENTES.append('')
2990+
_parents__parens.append(item)
2991+
continue
2992+
2993+
# if len(_parents__parens) > 0:
2994+
# # _parents__parens.append(item)
2995+
# # _aa =
2996+
# numerordinatio_nunc = ':'.join(_parents__parens)
2997+
# else:
2998+
# # numerordinatio_nunc = item
2999+
3000+
# self.PARENTES.append(
3001+
# '<urn:{0}> rdf:type owl:Ontology .'.format(item))
3002+
# _parents__parens.append(item)
3003+
# continue
3004+
_parents__parens_old = list(_parents__parens)
3005+
_parents__parens.append(item)
3006+
numerordinatio_nunc = ':'.join(_parents__parens)
3007+
3008+
self.PARENTES.append(
3009+
'<urn:{0}> rdf:type owl:Class .'.format(numerordinatio_nunc))
3010+
self.PARENTES.append(
3011+
'<urn:{0}> rdfs:subClassOf <urn:{1}> .'.format(
3012+
numerordinatio_nunc, ':'.join(_parents__parens_old)))
3013+
# if len(_parents__parens) > 0:
3014+
# self.PARENTES.append(
3015+
# '<urn:{0}> rdfs:subClassOf <urn:{1}> .'.format(
3016+
# numerordinatio_nunc, ':'.join(_parents__parens)))
3017+
3018+
self.PARENTES.append('')
3019+
# self.PARENTES = []
29653020
# pass
29663021

29673022
def imprimere_ad_tabula(self, punctum_separato: str = ","):
@@ -2975,16 +3030,28 @@ def imprimere_ad_owl(self, punctum_separato: str = ","):
29753030
# - part of (P361)
29763031
# - https://www.wikidata.org/wiki/Property:P361
29773032
# - https://www.wikidata.org/wiki/Special:EntityData/P361.ttl
3033+
# - has part or parts (P527)
3034+
# - https://www.wikidata.org/wiki/Property:P527
3035+
# - https://www.wikidata.org/wiki/Special:EntityData/P527.ttl
3036+
# - inverse property (P1696)
3037+
# - https://www.wikidata.org/wiki/Property:P1696
3038+
# - https://www.wikidata.org/wiki/Property_talk:P1696
29783039
# - https://www.wikidata.org/wiki/EntitySchema:E49
3040+
# ObjectInverseOf
3041+
# owl:inverseOf
29793042

29803043
paginae = []
29813044
paginae.append('# {0}'.format(self.ontologia_radici))
29823045
paginae.extend(self.PRAEFIXUM)
29833046
paginae.append('')
2984-
paginae.append('p:P361 a owl:ObjectProperty .')
3047+
paginae.append('p:P361 rdf:type owl:ObjectProperty .')
3048+
paginae.append('p:P1696 rdf:type owl:ObjectProperty .')
3049+
paginae.append('p:P361 owl:inverseOf p:P1696 .')
3050+
paginae.append('')
3051+
paginae.extend(self.PARENTES)
29853052
paginae.append('')
2986-
paginae.append(
2987-
'<urn:{0}> rdf:type owl:Ontology .'.format(self.ontologia_radici))
3053+
# paginae.append(
3054+
# '<urn:{0}> rdf:type owl:Ontology .'.format(self.ontologia_radici))
29883055
ordo_nunc = self.ordo_radici
29893056
parēns = {
29903057
ordo_nunc: self.ontologia_radici

officina/999999999/1603_45_16.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -932,6 +932,9 @@ rapper --quiet --input=turtle --output=dot \
932932
"${ROOTDIR}/999999/1603/45/16/1603_45_16.index.skos.ttl" \
933933
> "${ROOTDIR}/999999/1603/45/16/1603_45_16.index.dot"
934934

935+
# ./999999999/0/1603_1.py --methodus='ontologia-simplici' --ontologia-radici=1603_1_7 --ontologia-ex-archivo=1603/1/7/1603_1_7.no1.tm.hxl.csv | rapper --quiet --input=turtle --output=turtle /dev/fd/0 > /home/fititnt/Downloads/test.ttl
936+
# ./999999999/0/1603_1.py --methodus='ontologia-simplici' --ontologia-radici=1603_1_7 --ontologia-ex-archivo=1603/1/7/1603_1_7.no1.tm.hxl.csv | rapper --quiet --input=turtle --output=dot /dev/fd/0 > /home/fititnt/Downloads/test.dot
937+
935938
# dot -Tsvg \
936939
# "${ROOTDIR}/999999/1603/45/16/1603_45_16.index.dot" \
937940
# > "${ROOTDIR}/999999/1603/45/16/1603_45_16.index.svg"

0 commit comments

Comments
 (0)