Select Git revision
jest.config.js
Forked from
IIIF / Mirador / Mirador annotations
Source project has a limited visibility.
dev_test_1.py 1.37 KiB
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
import os
from rdflib import Graph, Namespace
# Création de l'ontologie et des namespaces nécessaires
graph = Graph()
DATA_FOLDER_PATH = f'{os.path.dirname(os.path.abspath(__file__))}/test_data'
ontology1_path = f"{DATA_FOLDER_PATH}/ontology_a.ttl"
graph.parse(ontology1_path, format="ttl")
OWL = Namespace("http://www.w3.org/2002/07/owl#")
def extract_some_values_from_restrictions(g: Graph):
axioms = []
for restriction, _, some_values_from in g.triples((None, OWL.someValuesFrom, None)):
on_property = g.value(subject=restriction, predicate=OWL.onProperty)
if on_property:
axiom = (restriction, on_property, some_values_from)
axioms.append(axiom)
return axioms
# Tester la fonction
axioms = extract_some_values_from_restrictions(graph)
n=0
for axiom in axioms:
n += 1
print(f'[{n}]: {axiom}\n')
# for s, p, o in graph:
# print(s, p, o)
def get_some_values_from_restrictions(self):
axioms = []
for restriction, _, some_values_from in self.graph.triples((None, OWL.someValuesFrom, None)):
on_property = self.graph.value(subject=restriction, predicate=OWL.onProperty)
if on_property:
axiom = SomeValuesFromRestrictionAxiom(restriction, on_property, some_values_from)
axioms.append(axiom)
return axioms