Commit d879829f authored by Thodoris Nestoridis's avatar Thodoris Nestoridis

expand new method of parse the ootology

parent 94573968
from rdflib import Graph from rdflib import Graph
from rdflib.namespace import RDFS from rdflib.namespace import RDFS,URIRef, RDF
#from subprocess import call #from subprocess import call
...@@ -7,17 +7,15 @@ from rdflib.namespace import RDFS ...@@ -7,17 +7,15 @@ from rdflib.namespace import RDFS
Ontology_file = "../../Ontologies/Mokos_18_1_7_47.ttl" Ontology_file = "../../Ontologies/Mokos_18_1_7_47.ttl"
list_of_DSO = ["DSO", "DSO-AOCS", "DSO-AOCS-instances"] list_of_DSO = ["http://delab.csd.auth.gr/ontologies/2018/DSO#", "http://delab.csd.auth.gr/ontologies/2018/DSO-AOCS#", "http://delab.csd.auth.gr/ontologies/2018/DSO-AOCS-instances#"]
list_of_RMO = ["RMO", "RMO-instances", "DSO-AOCS-instances", "<http://delab.csd.auth.gr/ontologies/2018/RDO-instances"] list_of_RMO = ["RMO", "RMO-instances", "DSO-AOCS-instances", "<http://delab.csd.auth.gr/ontologies/2018/RDO-instances"]
g = Graph()
g.load(Ontology_file, format="turtle")
def findsubclass(): def findsubclass():
file2 = open(r"../../Ontologies/instances.txt","w+") file2 = open(r"../../Ontologies/instances.txt","w+")
g = Graph()
g.load(Ontology_file, format="turtle")
for subj, obj in g.subject_objects(predicate=RDFS.subClassOf): for subj, obj in g.subject_objects(predicate=RDFS.subClassOf):
subClass = subj + "$"+ obj + "\n" subClass = subj + "$"+ obj + "\n"
file2.write(subClass) file2.write(subClass)
...@@ -31,12 +29,19 @@ def findsubclass(): ...@@ -31,12 +29,19 @@ def findsubclass():
def get_instances(keyword): def get_instances(keyword):
in_list = [] in_list = []
out_list = []
with open('../../Ontologies/instances.txt') as f: with open('../../Ontologies/instances.txt') as f:
for data in f: for data in f:
if (data.strip()).endswith(keyword): if (data.strip()).endswith(keyword):
spliter_1 = data.split('$') spliter_1 = data.split('$')
spliter_2 = spliter_1[0].split("#") spliter_2 = spliter_1[0].split("#")
in_list.append(spliter_2[len(spliter_2) - 1]) in_list.append(spliter_2[len(spliter_2) - 1])
return tuple((str(n), str(n)) for n in in_list) for extra in in_list:
for uri in list_of_DSO:
p = URIRef(uri +extra)
for s, p, o in g.triples((None, RDF.type, p)):
split = s.split("#")
out_list.append(split[len(split) - 1])
return tuple((str(n), str(n)) for n in (in_list + out_list))
from rdflib import Graph from rdflib import Graph
from rdflib.namespace import RDFS from rdflib.namespace import RDFS
from rdflib import ConjunctiveGraph, URIRef, RDFS, RDF, Namespace
def get_instances(keyword): def get_instances(keyword):
an_list=[]
with open('instances.txt') as f: with open('instances.txt') as f:
for data in f: for data in f:
if (data.strip()).endswith(keyword): if (data.strip()).endswith(keyword):
spliter_1 = data.split('$') spliter_1 = data.split('$')
spliter_2 = spliter_1[0].split("#") spliter_2 = spliter_1[0].split("#")
print(spliter_2[len(spliter_2) - 1]) an_list.append(spliter_2[len(spliter_2) - 1])
return an_list
file2 = open(r"instances.txt","w+") file2 = open(r"instances.txt","w+")
g = Graph() g = Graph()
g.load("../Ontologies/Mokos_18_1_7_47.ttl", format="turtle") g.load("../Ontologies/Mokos_18_1_7_47.ttl", format="turtle")
for subj, obj in g.subject_objects(predicate=RDFS.range): #EAGLEYE cannot find
for subj, obj in g.subject_objects(predicate=RDFS.subClassOf):
subClass = subj + "$"+ obj + "\n" subClass = subj + "$"+ obj + "\n"
file2.write(subClass) file2.write(subClass)
get_instances("SAO#State") l = get_instances("SAO#System")
for i in l:
p = URIRef("http://delab.csd.auth.gr/ontologies/2018/DSO#" +i)
for s, p, o in g.triples((None, RDF.type, p)):
print(s)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment