130 likes | 203 Views
Computability and Complexity Issues of Extended RDF. Anastasia Analyti Institute of Computer Science, FORTH-ICS, Greece Grigoris Antoniou Dept. of Computer Science, Univ. of Crete, Greece Carlos Viegas Damásio CENTRIA, Depart. De Informatica, Univ. Nova de Lisboa, Portugal Gerd Wagner
E N D
Computability and Complexity Issues of Extended RDF Anastasia Analyti Institute of Computer Science, FORTH-ICS, Greece Grigoris Antoniou Dept. of Computer Science, Univ. of Crete, Greece Carlos Viegas Damásio CENTRIA, Depart. De Informatica, Univ. Nova de Lisboa, Portugal Gerd Wagner Inst. Of Informatics, Brandenburg Univ. of Technology at Cottbus, Germany Presenter: Grigoris Antoniou ECAI-2008
Presentation Overview • Define ERDF Ontologies • provide an example • Define ERDF stable model semantics for ERDF Ontologies • it extends RDFS • it is undecidable • Propose ERDF n#-stable model semantics • a slight modification of ERDF stable model semantics • it extends RDFS • it is decidable • Future work ECAI-2008
ERDF Framework • The ERDF framework extends the semantic web language RDFS with: • weak negation (~), • strong negation (), • derivation rules. • ERDR distinguishes between: • partial properties p p(x,y) is possibly neither true nor false (interpretation level) partial classes c rdf:type(x,c) is possibly neither true nor false (interpretation level) • total properties p p(x,y) is either true or false (interpretation level) total classes c rdf:type(x,c) is either true or false (interpretation level) ECAI-2008
Open-World & Closed-World Reasoning • ERDF enables the combination of: • closed-world reasoning through the default closure rules p(?x, ?y) ~p(?x, ?y). OR p(?x, ?y) ~ p(?x, ?y). rdf:type(?x, c) ~ rdf:type(?x, c). OR rdf:type(?x, c) ~ rdf:type(?x, c). Example: rdf:type(?x, ex:Child) ~ rdf:type(?x, ex:Child). • open-world reasoning through the metaclasses erdf:TotalProperty and erdf:TotalClass (on total properties and total classes, ~ and coincide) Example: rdf:type(ex:Adult, erdf:TotalClass). ECAI-2008
ERDF Ontologies • An ERDF ontologyO=<G,P> is the combination of: • an ERDF graphG containing (implicitly existentially quantified)positive and negative information, thus, G may contain variables(blank nodes) Example:G={rdf:type(?x, Guest), rdf:type(?x, Adult)}. • an ERDF programP containing derivation rules, with possibly all connectives ~, , , , , in the body of a rule, and strong negation , false in the head of a rule. thus, P may contain constraints Example: false rdf:type(?x, ex:Child), rdf:type(?y, ex:Wine), ex:serve(?x, ?y). ECAI-2008
Example: Drink Selection Problem • We want to select drinks for a dinner such that: • for each adult guest that we (know that) likes wine, there on the table exactly one wine that he/she likes, • guests who are not adults and not children should be served Coca-Cola, • adult guests for whom we do not know if they like wine, they should also be served Coca –Cola. • In contrast to a child, we cannot decide if guest is an adult or not. • i.e. on ex:Adult an OWA applies on ex:Child a CWA applies ECAI-2008
blank nodes are handled by skolemization Example: Drink Selection problem (cont.) We defineO= <G,P>, where: G= {rdf:type(Carlos, Guest), rdf:type(Gerd, Guest), rdf:type(Anne, Guest), rdf:type(Riesling, Wine), rdf:type(Retsina, Wine), likes(Gerd, Riesling), likes(Gerd, Retsina), likes(Carlos, Retsina), rdf:type(Gerd, Adult), rdf:type(Carlos, Adult), rdf:type(?x, Guest), rdf:type(?x, Adult)}. P = {id(?x,?x). rdf:type(Adult, erdf:TotalClass). rdf:type(?x, Child) ~ rdf:type(?x, Child). rdf:type(?y, SelectedWine) rdf:type(?x, Guest), rdf:type(?x, Adult), rdf:type(?y,Wine), likes(?x,?y), ?z (rdf:type(?z, SelectedWine), ~id(?x,?y) ~likes(?x, ?z)). serveSoftDrink(?x, Coca-Cola) rdf:type(?x, Guest), rdf:type(?x, Adult). rdf:type(?x, Child). serveSoftDrink(?x, Coca-Cola) rdf:type(?x, Guest), rdf:type(?x, Adult), ?z (rdf:type(?y, Wine) ~likes(?x, ?y)).} ECAI-2008
Vocabulary of an ERDF Ontology Vocabulary of an ERDF ontology O=<G,P>: VO=Vsk(G)VPVRDFVRDFSVERDF, where • Vsk(G): terms appearing in the skolemized version of ERDF graph G. • VP: terms appearing in ERDF program P. • VRDF: RDF vocabulary terms. • VRDFS: RDFS vocabulary terms. • VERDF={erdf:TotalProperty, erdf:TotalClass}. ECAI-2008
ERDF Stable Models • Each stable modelM Mst(O): • interprets the terms in VO, • assigns intended truth and falsity extensions to the classes and properties in VO • satisfies all semantic conditions of an RDFS interpretation on VO, as well as new semantic conditions, particular to ERDF, • starting of an intended interpretation for sk(G), a stratified sequence of rule applications is produced, where all applied rules remain applicable throughout the generation of M • definition is based on Parial Logic [Herrer, Jaspars, Wagner – 1999]), which extends Answer Set Programming. ECAI-2008
Ohas two two stable models M1 and M2. • M1 |= rdf:type(Anne, Adult) and M2 |= rdf:type(Anne, Adult). • M1, M2 |= serveSoftDrink(Anne, Coca-Cola). • M1, M2 |= serveSoftDrink(skG(?x), Coca-Cola). • M1, M2 |= rdf:type(Retsina, SelectedWine) ~ rdf:type(Riesling, SelectedWine). Example: Drink Selection problem (cont.) We defineO= <G,P>, where: G= {rdf:type(Carlos, Guest), rdf:type(Gerd, Guest), rdf:type(Anne, Guest), rdf:type(Riesling, Wine), rdf:type(Retsina, Wine), likes(Gerd, Riesling), likes(Gerd, Retsina), likes(Carlos, Retsina), rdf:type(Gerd, Adult), rdf:type(Carlos, Adult), rdf:type(?x, Guest), rdf:type(?x, Adult)}. P = {id(?x,?x). rdf:type(Adult, erdf:TotalClass). rdf:type(?x, Child) ~ rdf:type(?x, Child). rdf:type(?y, SelectedWine) rdf:type(?x, Guest), rdf:type(?x, Adult), rdf:type(?y,Wine), likes(?x,?y), ?z (rdf:type(?z, SelectedWine), ~id(?x,?y) ~likes(?x, ?z)). serveSoftDrink(?x, Coca-Cola) rdf:type(?x, Guest), rdf:type(?x, Adult). rdf:type(?x, Child). serveSoftDrink(?x, Coca-Cola) rdf:type(?x, Guest), rdf:type(?x, Adult), ?z (rdf:type(?y, Wine) ~likes(?x, ?y)).} ECAI-2008
Properties of ERDF Stable Model Semantics • Syntactically restricted ERDF ontologies: • simple ERDF ontologies contain only ~, , , • objective ERDF ontologies contain only , . • ERDF stable model semantics: • extends RDFS, • is undecidable even for simple ERDF ontologies without the terms erdf:TotalClass and erdf:TotalProperty, • entailment of an ERDF graph is co-NP-complete for objectiveERDF ontologies, • entailment of a general ERDF formula is undecidable for objective ERDF ontologies. ECAI-2008
ERDF n#-Stable Model Semantics • VO= VO#n – {rdf:_i | i >n}. • The ERDF n#-stable model semantics of an ERDF ontology O is defined similarly to the ERDF stable model semantics of O, but now only the interpretation of the terms in VO#n is considered. • ERDF n#-stable model semantics: • extends RDFS, • is decidable, • entailment of an ERDF graph is co-NP-complete for objective and simple ERDF ontologies, • is equivalent to ERDF stable model semantics for objective ERDF ontologies. ECAI-2008
Future Work • Identify the complexity classes of entailment under ERDF n#-stable model semantics for: • general ERDF ontologies, • syntactically restricted ERDF ontologies (other than objective and simple). • Extend ERDF with: • handling of contradiction, • terms from the OWL vocabulary and datatypes, • modularity constructs. ECAI-2008