"2017-06-13T05:45:23Z" . . "VirtRDFViewsThaliaScript" . "VirtRDFViewsThaliaScript" . . . . . "2017-06-13T05:45:23.236468"^^ . "2017-06-13T05:45:23.236468"^^ . "VirtRDFViewsThaliaScript" . "---++Thalia Linked Data Views Script to set up your own instance\n\n\nuse DB;\nSPARQL\ndrop quad map virtrdf:ThaliaDemo\n;\n\ncreate procedure DB.DBA.SPARQL_THALIA_RUN (in txt varchar)\n{\n declare REPORT, stat, msg, sqltext varchar;\n declare metas, rowset any;\n result_names (REPORT);\n sqltext := string_output_string (sparql_to_sql_text (txt));\n stat := '00000';\n msg := '';\n rowset := null;\n exec (sqltext, stat, msg, vector (), 1000, metas, rowset);\n}\n;\n\ncreate procedure DB.DBA.exec_no_error(in expr varchar)\n{\n\tdeclare state, message, meta, result any;\n\texec(expr, state, message, vector(), 0, meta, result);\n}\n;\n\nDB.DBA.exec_no_error('drop View thalia.Demo.asu_v');\nDB.DBA.exec_no_error('create View thalia.Demo.asu_v as select left(Title,3) code,* from thalia.Demo.asu');\nDB.DBA.exec_no_error('drop View thalia.Demo.gatech_v');\nDB.DBA.exec_no_error('create View thalia.Demo.gatech_v as select *, Room||\\' \\'||Building Place from thalia.Demo.gatech');\nDB.DBA.SPARQL_THALIA_RUN('drop quad map graph iri(\"http://^{URIQADefaultHost}^/Thalia\") .\n')\n;\n\nGRANT SELECT ON thalia.Demo.asu TO \"SPARQL\"\n;\nGRANT SELECT ON thalia.Demo.asu_v TO \"SPARQL\"\n;\nGRANT SELECT ON thalia.Demo.brown TO \"SPARQL\"\n;\nGRANT SELECT ON thalia.Demo.cmu TO \"SPARQL\"\n;\nGRANT SELECT ON thalia.Demo.gatech TO \"SPARQL\"\n;\nGRANT SELECT ON thalia.Demo.gatech_v TO \"SPARQL\"\n;\nGRANT SELECT ON thalia.Demo.toronto TO \"SPARQL\"\n;\nGRANT SELECT ON thalia.Demo.ucsd TO \"SPARQL\"\n;\nGRANT SELECT ON thalia.Demo.umd TO \"SPARQL\"\n;\n\nDB.DBA.SPARQL_THALIA_RUN('drop quad map graph iri(\"http://^{URIQADefaultHost}^/thalia\") .\n');\n\nDB.DBA.SPARQL_THALIA_RUN('drop quad map virtrdf:ThaliaDemo .\n');\n\n\nDB.DBA.SPARQL_THALIA_RUN('\nprefix oplsioc: \nprefix sioc: \nprefix xsd: \nprefix rdf: \nprefix rdfs: \nprefix owl: \nprefix dc: \nprefix time: \nprefix event: \nprefix geo: \nprefix foaf: \nprefix skos: \nprefix th: \n\ncreate iri class th:Asu \"http://^{URIQADefaultHost}^/thalia/asu/course/%U#this\" (in code varchar not null) .\ncreate iri class th:Brown \"http://^{URIQADefaultHost}^/thalia/brown/course/%U#this\" (in Code varchar not null) .\ncreate iri class th:BrownInstructor \"http://^{URIQADefaultHost}^/thalia/brown/instructor/%U#this\" (in Code varchar not null) .\ncreate iri class th:BrownLecture \"http://^{URIQADefaultHost}^/thalia/brown/lecture/%U#this\" (in Code varchar not null) .\ncreate iri class th:BrownPlace \"http://^{URIQADefaultHost}^/thalia/brown/place/%U#this\" (in Code varchar not null) .\n\ncreate iri class th:Cmu \"http://^{URIQADefaultHost}^/thalia/cmu/course/%U/%U#this\" (in Code varchar not null, in Sec varchar) .\ncreate iri class th:CmuInstructor \"http://^{URIQADefaultHost}^/thalia/cmu/instructor/%U/%U#this\" (in Code varchar not null, in Sec varchar) .\ncreate iri class th:CmuLecture \"http://^{URIQADefaultHost}^/thalia/cmu/lecture/%U/%U#this\" (in Code varchar not null, in Sec varchar) .\ncreate iri class th:CmuPlace \"http://^{URIQADefaultHost}^/thalia/cmu/place/%U/%U#this\" (in Code varchar not null, in Sec varchar) .\ncreate iri class th:CmuEventTime \"http://^{URIQADefaultHost}^/thalia/cmu/eventtime/%U/%U#this\" (in Code varchar not null, in Sec varchar) .\ncreate iri class th:CmuDatetime \"http://^{URIQADefaultHost}^/thalia/cmu/datetime/%U/%U#this\" (in Code varchar not null, in Sec varchar) .\n\ncreate iri class th:Gatech \"http://^{URIQADefaultHost}^/thalia/gatech/course/%U/%d/%U#this\" (in Department varchar, in Code integer, in Section varchar) .\ncreate iri class th:GatechInstructor \"http://^{URIQADefaultHost}^/thalia/gatech/instructor/%U/%d/%U#this\" (in Department varchar, in Code integer, in Section varchar) .\ncreate iri class th:GatechLecture \"http://^{URIQADefaultHost}^/thalia/gatech/lecture/%U/%d/%U#this\" (in Department varchar, in Code integer, in Section varchar) .\ncreate iri class th:GatechEventTime \"http://^{URIQADefaultHost}^/thalia/gatech/eventtime/%U/%d/%U#this\" (in Department varchar, in Code integer, in Section varchar) .\ncreate iri class th:GatechDatetime \"http://^{URIQADefaultHost}^/thalia/gatech/datetime/%U/%d/%U#this\" (in Department varchar, in Code integer, in Section varchar) .\ncreate iri class th:GatechPlace \"http://^{URIQADefaultHost}^/thalia/gatech/place/%U/%d/%U#this\" (in Department varchar, in Code integer, in Section varchar) .\n\ncreate iri class th:Toronto \"http://^{URIQADefaultHost}^/thalia/toronto/course/%U#this\" (in No_ varchar) .\ncreate iri class th:TorontoInstructor \"http://^{URIQADefaultHost}^/thalia/toronto/instructor/%U#this\" (in No_ varchar) .\ncreate iri class th:TorontoLecture \"http://^{URIQADefaultHost}^/thalia/toronto/lecture/%U#this\" (in No_ varchar) .\ncreate iri class th:TorontoPlace \"http://^{URIQADefaultHost}^/thalia/toronto/place/%U#this\" (in No_ varchar) .\n\ncreate iri class th:Ucsd \"http://^{URIQADefaultHost}^/thalia/ucsd/course/%U#this\" (in Number varchar) .\ncreate iri class th:UcsdInstructor1 \"http://^{URIQADefaultHost}^/thalia/ucsd/instructor1/%U#this\" (in Number varchar) .\ncreate iri class th:UcsdInstructor2 \"http://^{URIQADefaultHost}^/thalia/ucsd/instructor2/%U#this\" (in Number varchar) .\ncreate iri class th:UcsdInstructor3 \"http://^{URIQADefaultHost}^/thalia/ucsd/instructor3/%U#this\" (in Number varchar) .\n\ncreate iri class th:Umd \"http://^{URIQADefaultHost}^/thalia/umd/course/%U#this\" (in Code varchar) .\ncreate iri class th:UmdLecture \"http://^{URIQADefaultHost}^/thalia/umd/lecture/%U#this\" (in Code varchar) .\ncreate iri class th:UmdEventTime \"http://^{URIQADefaultHost}^/thalia/umd/eventtime/%U#this\" (in Code varchar) .\ncreate iri class th:UmdDatetime \"http://^{URIQADefaultHost}^/thalia/umd/datetime/%U#this\" (in Code varchar) .\n')\n;\n\nDB.DBA.SPARQL_THALIA_RUN('prefix oplsioc: \nprefix sioc: \nprefix xsd: \nprefix rdf: \nprefix rdfs: \nprefix owl: \nprefix dc: \nprefix time: \nprefix event: \nprefix geo: \nprefix foaf: \nprefix skos: \nprefix th: \nalter quad storage virtrdf:DefaultQuadStorage\nfrom thalia.demo.asu_v as asus\nfrom thalia.demo.brown as browns\nfrom thalia.demo.cmu as cmus\nfrom thalia.demo.gatech_v as gatechs\nfrom thalia.demo.toronto as torontos\nfrom thalia.demo.ucsd as ucsds\nfrom thalia.demo.umd as umds\n{\n create virtrdf:ThaliaDemo as graph iri (\"http://^{URIQADefaultHost}^/thalia\") option (exclusive)\n {\n th:Asu (asus.code)\n a th:Course\n as virtrdf:Asu-Course ;\n dc:title asus.Title\n as virtrdf:Asu-Title ;\n dc:description asus.Description\n as virtrdf:Asu-Description ;\n rdfs:seeAlso asus.MoreInfoURL\n as virtrdf:Asu-MoreInfoURL ;\n th:forUniversity \"http://purl.org/thalia/university/asu\"\n as virtrdf:Asu-University ;\n skos:subject \"http://purl.org/subject/thalia/ComputerScience\"\n as virtrdf:Asu-Subject\n .\n\n th:Brown (browns.Code)\n a th:Course\n as virtrdf:Brown-Course ;\n dc:title browns.Title\n as virtrdf:Brown-Title ;\n th:hasInstructor th:BrownInstructor (browns.Code)\n as virtrdf:Brown-hasInstructor ;\n th:hasLecture th:BrownLecture(browns.Code)\n as virtrdf:Brown-hasLecture ;\n th:forUniversity \"http://purl.org/thalia/university/brown\"\n as virtrdf:Brown-University ;\n skos:subject \"http://purl.org/subject/thalia/ComputerScience\"\n as virtrdf:Brown-Subject\n .\n th:BrownInstructor (browns.Code)\n a th:Instructor\n as virtrdf:Brown-Instructor ;\n dc:homepage browns.Instructor\n as virtrdf:Brown-Instructor-Homepage\n .\n th:BrownLecture (browns.Code)\n a event:Event\n as virtrdf:Brown-Lecture ;\n event:place th:BrownPlace(browns.Code)\n as virtrdf:Brown-hasPlace\n .\n th:BrownPlace (browns.Code)\n a geo:Point\n as virtrdf:Brown-Place;\n dc:title browns.Room\n as virtrdf:Brown-Room\n .\n\n th:Cmu (cmus.Code, cmus.Sec)\n a th:Course\n as virtrdf:Cmu-Course ;\n dc:title cmus.CourseTitle\n as virtrdf:Cmu-CourseTitle ;\n th:hasInstructor th:CmuInstructor (cmus.Code, cmus.Sec)\n as virtrdf:Cmu-hasInstructor ;\n th:hasLecture th:CmuLecture(cmus.Code, cmus.Sec)\n as virtrdf:Cmu-hasLecture ;\n th:hasUnits cmus.Units\n as virtrdf:Cmu-hasUnits ;\n th:forUniversity \"http://purl.org/thalia/university/cmu\"\n as virtrdf:Cmu-University ;\n skos:subject \"http://purl.org/subject/thalia/ComputerScience\"\n as virtrdf:Cmu-Subject\n .\n th:CmuInstructor (cmus.Code, cmus.Sec)\n a th:Instructor\n as virtrdf:Cmu-Instructor ;\n foaf:name cmus.Lecturer\n as virtrdf:Cmu-Lecturer\n .\n th:CmuLecture (cmus.Code, cmus.Sec)\n a event:Event\n as virtrdf:Cmu-Lecture ;\n event:time th:CmuEventTime(cmus.Code, cmus.Sec)\n as virtrdf:Cmu-hasEventTime ;\n event:place th:CmuPlace(cmus.Code, cmus.Sec)\n as virtrdf:Cmu-hasPlace\n .\n th:CmuPlace (cmus.Code, cmus.Sec)\n a geo:Point\n as virtrdf:Cmu-Place;\n dc:title cmus.Room\n as virtrdf:Cmu-Room\n .\n th:CmuEventTime (cmus.Code, cmus.Sec)\n a time:Interval\n as virtrdf:Cmu-EventTime;\n time:inDateTime th:CmuDatetime(cmus.Code, cmus.Sec)\n as virtrdf:Cmu-inDateTime\n .\n th:CmuDatetime (cmus.Code, cmus.Sec)\n a time:DateTimeDescription\n as virtrdf:Cmu-Datetime;\n time:dayOfWeek cmus.Day_\n as virtrdf:Cmu-Day ;\n time:hour cmus.Time_\n as virtrdf:Cmu-Time\n .\n\n th:Gatech (gatechs.Department, gatechs.Code, gatechs.Section)\n a th:Course\n as virtrdf:Gatech-Course ;\n dc:title gatechs.Title\n as virtrdf:Gatech-Title ;\n th:hasInstructor th:GatechInstructor(gatechs.Department, gatechs.Code, gatechs.Section)\n as virtrdf:Gatech-hasInstructor ;\n dc:description gatechs.Description\n as virtrdf:Gatech-Description ;\n th:hasLecture th:GatechLecture(gatechs.Department, gatechs.Code, gatechs.Section)\n as virtrdf:Gatech-hasLecture ;\n th:forUniversity \"http://purl.org/thalia/university/gatech\"\n as virtrdf:Gatech-University ;\n skos:subject \"http://purl.org/subject/thalia/ComputerScience\"\n as virtrdf:Gatech-Subject\n .\n th:GatechInstructor (gatechs.Department, gatechs.Code, gatechs.Section)\n a th:Instructor\n as virtrdf:Gatech-Instructor ;\n foaf:name gatechs.Instructor\n as virtrdf:Gatech-InstructorName\n .\n th:GatechLecture (gatechs.Department, gatechs.Code, gatechs.Section)\n a event:Event\n as virtrdf:Gatech-Lecture ;\n event:time th:GatechEventTime(gatechs.Department, gatechs.Code, gatechs.Section)\n as virtrdf:Gatech-hasEventTime ;\n event:place th:GatechPlace(gatechs.Department, gatechs.Code, gatechs.Section)\n as virtrdf:Gatech-hasPlace\n .\n th:GatechEventTime (gatechs.Department, gatechs.Code, gatechs.Section)\n a time:Interval\n as virtrdf:Gatech-EventTime ;\n time:inDateTime th:GatechDatetime(gatechs.Department, gatechs.Code, gatechs.Section)\n as virtrdf:Gatech-inDateTime\n .\n th:GatechDatetime (gatechs.Department, gatechs.Code, gatechs.Section)\n a time:DateTimeDescription\n as virtrdf:Gatech-Datetime ;\n time:dayOfWeek gatechs.Days\n as virtrdf:Gatech-Days ;\n time:hour gatechs.Time_\n as virtrdf:Gatech-Time_\n .\n th:GatechPlace (gatechs.Department, gatechs.Code, gatechs.Section)\n a geo:Point\n as virtrdf:Gatech-Place ;\n dc:title gatechs.Place\n as virtrdf:Gatech-RoomBuilding\n .\n\n th:Toronto (torontos.No_)\n a th:Course\n as virtrdf:Toronto-Course ;\n dc:title torontos.title\n as virtrdf:Toronto-Title ;\n dc:description torontos.text_\n as virtrdf:Toronto-Description ;\n th:hasInstructor th:TorontoInstructor(torontos.No_)\n as virtrdf:Toronto-hasInstructor ;\n th:hasLecture th:TorontoLecture(torontos.No_)\n as virtrdf:Toronto-hasLecture ;\n rdfs:seeAlso torontos.coursewebsite\n as virtrdf:Toronto-CourseWebSite ;\n th:hasPrerequisite torontos.prereq\n as virtrdf:Toronto-prereq ;\n th:text torontos.text_\n as virtrdf:Toronto-text;\n th:forUniversity \"http://purl.org/thalia/university/toronto\"\n as virtrdf:Toronto-University ;\n skos:subject \"http://purl.org/subject/thalia/ComputerScience\"\n as virtrdf:Toronto-Subject\n .\n th:TorontoInstructor (torontos.No_)\n a th:Instructor\n as virtrdf:Toronto-Instructor ;\n foaf:name torontos.instructorName\n as virtrdf:Toronto-InstructorName ;\n foaf:mbox torontos.instructorEmail\n as virtrdf:Toronto-InstructorEmail\n .\n th:TorontoLecture (torontos.No_)\n a event:Event\n as virtrdf:Toronto-Lecture ;\n event:place th:TorontoPlace(torontos.No_)\n as virtrdf:Toronto-hasPlace\n .\n th:TorontoPlace (torontos.No_)\n a geo:Point\n as virtrdf:Toronto-Place ;\n dc:title torontos.location\n as virtrdf:Toronto-Location\n .\n\n th:Ucsd (ucsds.Number)\n a th:Course\n as virtrdf:Ucsd-Course ;\n dc:title ucsds.Title\n as virtrdf:Ucsd-Title ;\n th:hasInstructor1 th:UcsdInstructor1 (ucsds.Number)\n as virtrdf:Ucsd-hasInstructor1 ;\n th:hasInstructor2 th:UcsdInstructor2 (ucsds.Number)\n as virtrdf:Ucsd-hasInstructor2 ;\n th:hasInstructor3 th:UcsdInstructor3 (ucsds.Number)\n as virtrdf:Ucsd-hasInstructor3 ;\n th:forUniversity \"http://purl.org/thalia/university/ucsd\"\n as virtrdf:Ucsd-University ;\n skos:subject \"http://purl.org/subject/thalia/ComputerScience\"\n as virtrdf:Ucsd-Subject\n .\n th:UcsdInstructor1 (ucsds.Number)\n a th:Instructor\n as virtrdf:Ucsd-Instructor1 ;\n foaf:name ucsds.Fall2003\n as virtrdf:Ucsd-Instructor-Fall2003\n .\n th:UcsdInstructor2 (ucsds.Number)\n a th:Instructor\n as virtrdf:Ucsd-Instructor2 ;\n foaf:name ucsds.Winter2004\n as virtrdf:Ucsd-Instructor-Winter2004\n .\n th:UcsdInstructor3 (ucsds.Number)\n a th:Instructor\n as virtrdf:Ucsd-Instructor3 ;\n foaf:name ucsds.Spring2004\n as virtrdf:Ucsd-Instructor-Spring2004\n .\n\n th:Umd (umds.Code)\n a th:Course\n as virtrdf:Umd-Course ;\n dc:title umds.CourseName\n as virtrdf:Umd-Title ;\n th:hasSection th:SectionTitle\n as virtrdf:Umd-hasSection ;\n th:hasLecture th:UmdLecture(umds.Code)\n as virtrdf:Umd-hasLecture ;\n th:forUniversity \"http://purl.org/thalia/university/umd\"\n as virtrdf:Umd-University ;\n skos:subject \"http://purl.org/subject/thalia/ComputerScience\"\n as virtrdf:Umd-Subject\n .\n th:UmdLecture (umds.Code)\n a event:Event\n as virtrdf:Umd-Lecture ;\n event:time th:UmdEventTime(umds.Code)\n as virtrdf:Umd-hasEventTime\n .\n th:UmdEventTime (umds.Code)\n a time:Interval\n as virtrdf:Umd-EventTime ;\n time:inDateTime th:UmdDatetime(umds.Code)\n as virtrdf:Umd-inDateTime\n .\n th:UmdDatetime (umds.Code)\n a time:DateTimeDescription\n as virtrdf:Umd-Datetime ;\n time:hour umds.SectionTime\n as virtrdf:Umd-SectionTime\n .\n }\n}\n')\n;\n\ndelete from db.dba.url_rewrite_rule_list where urrl_list like 'tut_th_%';\ndelete from db.dba.url_rewrite_rule where urr_rule like 'tut_th_%';\n\nDB.DBA.URLREWRITE_CREATE_REGEX_RULE (\n 'tut_th_rule2',\n 1,\n '([^#]*)',\n vector('path'),\n 1,\n '/sparql?query=CONSTRUCT+{+%%3Chttp%%3A//^{URIQADefaultHost}^%U%%23this%%3E+%%3Fp+%%3Fo+}+FROM+%%3Chttp%%3A//^{URIQADefaultHost}^/thalia%%3E+WHERE+{+%%3Chttp%%3A//^{URIQADefaultHost}^%U%%23this%%3E+%%3Fp+%%3Fo+}&format=%U',\n vector('path', 'path', '*accept*'),\n null,\n '(text/rdf.n3)|(application/rdf.xml)',\n 0,\n null\n );\n\nDB.DBA.URLREWRITE_CREATE_REGEX_RULE (\n 'tut_th_rule1',\n 1,\n '([^#]*)',\n vector('path'),\n 1,\n '/about/html/http/^{URIQADefaultHost}^%s%%23this',\n vector('path'),\n null,\n '(text/html)|(\\\\*/\\\\*)',\n 0,\n 303\n );\n\nDB.DBA.URLREWRITE_CREATE_REGEX_RULE (\n 'tut_th_rule3',\n 1,\n '(/[^#]*)/\\x24',\n vector('path'),\n 1,\n '%U',\n vector('path'),\n null,\n null,\n 0,\n null\n );\n\ncreate procedure DB.DBA.REMOVE_THALIA_RDF_DET()\n{\n declare colid int;\n colid := DAV_SEARCH_ID('/DAV/home/demo/thalia', 'C');\n if (colid < 0)\n return;\n update WS.WS.SYS_DAV_COL set COL_DET=null where COL_ID = colid;\n}\n;\n\nDB.DBA.REMOVE_THALIA_RDF_DET();\n\ndrop procedure DB.DBA.REMOVE_THALIA_RDF_DET;\n\ncreate procedure DB.DBA.THALIA_MAKE_RDF_DET()\n{\n declare uriqa_str varchar;\n uriqa_str := cfg_item_value(virtuoso_ini_path(), 'URIQA','DefaultHost');\n uriqa_str := 'http://' || uriqa_str || '/thalia';\n DB.DBA.\"RDFData_MAKE_DET_COL\" ('/DAV/home/demo/thalia/RDFData/', uriqa_str, NULL);\n VHOST_REMOVE (lpath=>'/thalia/data/rdf');\n DB.DBA.VHOST_DEFINE (lpath=>'/thalia/data/rdf', ppath=>'/DAV/home/demo/thalia/RDFData/All/', is_dav=>1, vsp_user=>'dba');\n}\n;\n\nDB.DBA.THALIA_MAKE_RDF_DET();\n\ndrop procedure DB.DBA.THALIA_MAKE_RDF_DET;\n\n-- procedure to convert path to DET resource name\ncreate procedure DB.DBA.THALIA_DET_REF (in par varchar, in fmt varchar, in val varchar)\n{\n declare res, iri any;\n declare uriqa_str varchar;\n uriqa_str := cfg_item_value(virtuoso_ini_path(), 'URIQA','DefaultHost');\n uriqa_str := 'http://' || uriqa_str || '/thalia';\n iri := uriqa_str || replace(val, '/', '_');\n res := sprintf ('iid (%d).rdf', iri_id_num (iri_to_id (iri)));\n return sprintf (fmt, res);\n}\n;\n\nDB.DBA.URLREWRITE_CREATE_REGEX_RULE ('tut_th_rdf', 1,\n '/thalia/(.*)', vector('path'), 1, \n '/thalia/data/rdf/%U', vector('path'),\n 'DB.DBA.THALIA_DET_REF',\n 'application/rdf.xml',\n 2, \n 303);\n\nDB.DBA.URLREWRITE_CREATE_RULELIST (\n 'tut_th_rule_list1',\n 1,\n vector (\n 'tut_th_rule1',\n 'tut_th_rule2',\n 'tut_th_rule3',\n 'tut_th_rdf'\n ));\n\nDB.DBA.VHOST_REMOVE (lpath=>'/thalia');\nDB.DBA.VHOST_DEFINE (lpath=>'/thalia', ppath=>'/DAV/home/demo/thalia/', vsp_user=>'dba', is_dav=>1,\n is_brws=>0, opts=>vector ('url_rewrite', 'tut_th_rule_list1'));\n\nDB.DBA.XML_SET_NS_DECL ('th', 'http://purl.org/ontology/thalia/1.0/', 2);\n\n\n * Demo : Thalia test queries\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT distinct ?room\nFROM \nWHERE\n {\n ?course a th:Course;\n dc:title ?title;\n\t th:hasLecture ?lecture.\n ?lecture event:place [dc:title ?room].\n FILTER regex(?title, \"Software Engineering\")\n}\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT ?day, ?hour ?course\nFROM \nWHERE\n {\n ?course a th:Course;\n th:hasLecture [event:time ?time];\n dc:title ?title.\n ?time time:inDateTime [time:dayOfWeek ?day];\n time:inDateTime [time:hour ?hour].\n FILTER regex(?title, \"Computer Networks\")\n }\n\n\n\n\n#service:/sparql\n#should-sponge:soft\n\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT distinct ?course\nFROM \nWHERE\n {\n ?course a th:Course;\n dc:title ?Title;\n th:hasLecture ?lecture.\n ?lecture event:time [time:inDateTime ?dateTime].\n ?dateTime time:hour ?hour.\n FILTER regex(?Title, \"Database System\")\n FILTER regex(?hour, \"1:30 - 2:50\")\n } \n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n \nSELECT distinct ?course ?instructor ?name\nFROM \nWHERE\n {\n ?course a th:Course;\n th:hasInstructor ?instructor.\n ?instructor foaf:name ?name.\n \n }\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT distinct ?instructor\nFROM \nWHERE\n {\n ?course a th:Course;\n\t th:hasInstructor ?instructor;\n\t dc:title ?title.\n FILTER regex(?title, \"Database\")\n }\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT distinct ?instructor\nFROM \nWHERE\n {\n ?course a th:Course;\n dc:title ?title;\n th:hasInstructor ?instructor.\n FILTER regex(?title, \"Software\")\n }\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT DISTINCT ?course\nFROM \nWHERE\n {\n ?course a th:Course;\n dc:title ?title;\n th:forUniversity 'http://purl.org/thalia/university/umd'.\n FILTER regex(?title, \"Data Structures\")\n }\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT distinct ?course\nFROM \nWHERE\n {\n ?course a th:Course;\n dc:title ?Title;\n th:hasUnits ?credits.\n FILTER (xsd:integer(?credits) > 10)\n FILTER regex(?Title, \"Database\")\n }\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT distinct ?course\nFORM \nWHERE\n {\n ?course a th:Course;\n dc:title ?title;\n th:forUniversity 'http://purl.org/thalia/university/umd'.\n FILTER regex(?title, \"Database\")\n }\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT distinct ?course\nFROM \nWHERE\n {\n ?course a th:Course;\n dc:title ?Title;\n th:hasUnits ?credits.\n FILTER (xsd:integer(?credits) > 10)\n FILTER regex(?Title, \"Database\")\n }\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX th: \n\nSELECT distinct ?text_\nFROM \nWHERE\n {\n ?course a th:Course;\n dc:title ?title;\n th:text ?text_.\n FILTER regex(?title, \"Verification\")\n }\n\n\n\n#service:/sparql\n#should-sponge:soft\nPREFIX xsd: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX owl: \nPREFIX dc: \nPREFIX time: \nPREFIX event: \nPREFIX geo: \nPREFIX foaf: \nPREFIX skos: \nPREFIX : \n\nSELECT distinct ?course\nFROM \nWHERE\n {\n ?course a th:Course;\n dc:description ?description;\n th:forUniversity 'http://purl.org/thalia/university/gatech'.\n FILTER regex(?description, \"JR\")\n }\n" . . . "d73b1dd7ddf18ff815addeccecc6521c" . . . . . . . "2017-06-13T05:45:23Z" .