22"""task07.py
33
44Automatically generated by Colab.
5-
6- Original file is located at
7- https://colab.research.google.com/drive/1dsZ-QQqjbBLMi0mr_HOC9X24Ba4x48F6
85"""
96
10- #!pip install rdflib
11-
12- import urllib .request
13-
14- url = 'https://raw.githubusercontent.com/FacultadInformatica-LinkedData/Curso2025-2026/refs/heads/master/Assignment4/course_materials/python/validation.py'
15- urllib .request .urlretrieve (url , 'validation.py' )
7+ #!pip install rdflib # Comentada según instrucciones
168
179from validation import Report
1810
1911from rdflib import Graph , Namespace , Literal
2012from rdflib .namespace import RDF , RDFS
2113
22-
2314g = Graph ()
2415g .namespace_manager .bind ('ns' , Namespace ("http://somewhere#" ), override = False )
2516
26-
2717github_storage = "https://raw.githubusercontent.com/FacultadInformatica-LinkedData/Curso2025-2026/master/Assignment4/course_materials"
2818g .parse (github_storage + "/rdf/data06.ttl" , format = "ttl" )
2919
3727 super_cls = sc
3828 result .append ((cls , super_cls ))
3929
40-
4130for r in result :
4231 print (r )
4332
44-
4533report .validate_07_1a (result )
4634
4735query = """
5543for r in g .query (query ):
5644 print (r .c , r .sc )
5745
58-
5946report .validate_07_1b (query , g )
6047
6148from rdflib import RDF , RDFS , Namespace
6249
6350ns = Namespace ("http://oeg.fi.upm.es/def/people#" )
6451individuals = []
6552
66-
6753def get_all_subclasses (cls , graph ):
6854 subclasses = set ()
6955 for subclass in graph .subjects (RDFS .subClassOf , cls ):
7056 subclasses .add (subclass )
7157 subclasses .update (get_all_subclasses (subclass , graph ))
7258 return subclasses
7359
74-
7560all_person_classes = set ([ns .Person ])
7661all_person_classes .update (get_all_subclasses (ns .Person , g ))
7762
@@ -80,11 +65,9 @@ def get_all_subclasses(cls, graph):
8065 if ind not in individuals :
8166 individuals .append (ind )
8267
83-
8468for i in individuals :
8569 print (i )
8670
87-
8871report .validate_07_02a (individuals )
8972
9073query = """
@@ -97,7 +80,6 @@ def get_all_subclasses(cls, graph):
9780for r in g .query (query ):
9881 print (r .ind )
9982
100-
10183report .validate_07_02b (g , query )
10284
10385query = """
@@ -142,3 +124,6 @@ def get_all_subclasses(cls, graph):
142124 print (r .ind )
143125
144126report .validate_07_02b (g , query )
127+
128+
129+ report .save_report ("_Task_07" )
0 commit comments