package org.semanticweb.owlapi.profiles;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.semanticweb.owlapi.formats.FunctionalSyntaxDocumentFormat;
import org.semanticweb.owlapi.formats.RDFXMLDocumentFormat;
@SuppressWarnings("javadoc")
@RunWith(Parameterized.class)
public class ProfileRLDLOnlyTestCase extends ProfileBase {
private final String premise;
public ProfileRLDLOnlyTestCase(String premise) {
this.premise = premise;
}
@Parameters
public static List<String> getData() {
return Arrays.asList(
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:j.0=\"http://owl2.test/rules/\"><owl:Ontology /><owl:InverseFunctionalProperty rdf:about=\"http://owl2.test/rules/ifp\"><rdf:type rdf:resource=\"http://www.w3.org/2002/07/owl#ObjectProperty\"/></owl:InverseFunctionalProperty><owl:NamedIndividual rdf:about=\"http://owl2.test/rules/Y2\"><j.0:ifp><owl:NamedIndividual rdf:about=\"http://owl2.test/rules/X2\"/></j.0:ifp></owl:NamedIndividual><owl:NamedIndividual rdf:about=\"http://owl2.test/rules/X1\"/><owl:NamedIndividual rdf:about=\"http://owl2.test/rules/Y1\"><owl:differentFrom rdf:resource=\"http://owl2.test/rules/Y2\"/><j.0:ifp rdf:resource=\"http://owl2.test/rules/X1\"/></owl:NamedIndividual></rdf:RDF>",
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" ><owl:Ontology /><owl:Class rdf:about=\"http://owl2.test/rules#Cb\"/><owl:NamedIndividual rdf:about=\"http://owl2.test/rules#X\"/><owl:NamedIndividual rdf:about=\"http://owl2.test/rules#Y\"/><rdf:Description><rdfs:subClassOf rdf:resource=\"http://owl2.test/rules#Cb\"/><owl:oneOf rdf:parseType=\"Collection\"><owl:NamedIndividual rdf:about=\"http://owl2.test/rules#X\"/><owl:NamedIndividual rdf:about=\"http://owl2.test/rules#Y\"/></owl:oneOf></rdf:Description></rdf:RDF>",
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" ><owl:Ontology /><owl:Class rdf:about=\"http://owl2.test/rules#C\"><rdfs:subClassOf><owl:Restriction><owl:onProperty><owl:ObjectProperty rdf:about=\"http://owl2.test/rules#op\"/></owl:onProperty><owl:allValuesFrom><owl:Class rdf:about=\"http://owl2.test/rules#C1\"/></owl:allValuesFrom></owl:Restriction></rdfs:subClassOf></owl:Class></rdf:RDF>",
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:j.0=\"http://owl2.test/rules/\"><owl:Ontology /><owl:FunctionalProperty rdf:about=\"http://owl2.test/rules/fp\"><rdf:type rdf:resource=\"http://www.w3.org/2002/07/owl#ObjectProperty\"/></owl:FunctionalProperty><owl:NamedIndividual rdf:about=\"http://owl2.test/rules/Y2\"><j.0:fp><owl:NamedIndividual rdf:about=\"http://owl2.test/rules/X2\"/></j.0:fp></owl:NamedIndividual><owl:NamedIndividual rdf:about=\"http://owl2.test/rules/X1\"><owl:differentFrom rdf:resource=\"http://owl2.test/rules/X2\"/></owl:NamedIndividual><owl:NamedIndividual rdf:about=\"http://owl2.test/rules/Y1\"><j.0:fp rdf:resource=\"http://owl2.test/rules/X1\"/></owl:NamedIndividual></rdf:RDF>",
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:first=\"urn:test#\" xmlns:second=\"urn:test#\" xml:base=\"urn:test\"><owl:Ontology/><owl:DatatypeProperty rdf:about=\"urn:test#p\"><rdfs:range rdf:resource=\"http://www.w3.org/2001/XMLSchema#byte\" /></owl:DatatypeProperty></rdf:RDF>",
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xml:base=\"urn:test\"><owl:Ontology/><owl:DatatypeProperty rdf:about=\"urn:test#p\"><rdfs:range rdf:resource=\"http://www.w3.org/2001/XMLSchema#short\" /></owl:DatatypeProperty></rdf:RDF>",
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xml:base=\"urn:test\"><owl:Ontology/><owl:DatatypeProperty rdf:about=\"urn:test#p\"><rdfs:range rdf:resource=\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\" /><rdfs:range rdf:resource=\"http://www.w3.org/2001/XMLSchema#nonPositiveInteger\" /></owl:DatatypeProperty></rdf:RDF>",
"<rdf:RDF xml:base=\"http://example.org/\" xmlns=\"http://example.org/\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><owl:Ontology/><owl:ObjectProperty rdf:about=\"fatherOf\" /><owl:Class rdf:about=\"Woman\" /><rdf:Description rdf:about=\"Peter\"><fatherOf rdf:resource=\"Stewie\" /><fatherOf rdf:resource=\"Meg\" /></rdf:Description><Woman rdf:about=\"Meg\" /><rdf:Description rdf:about=\"Peter\"><rdf:type><owl:Restriction><owl:onProperty rdf:resource=\"fatherOf\" /><owl:maxQualifiedCardinality rdf:datatype=\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\">1</owl:maxQualifiedCardinality><owl:onClass rdf:resource=\"Woman\" /></owl:Restriction></rdf:type></rdf:Description><rdf:Description rdf:about=\"Stewie\"><owl:differentFrom rdf:resource=\"Meg\" /></rdf:Description></rdf:RDF>",
"Prefix( :=<http://example.org/> ) Ontology( Declaration( ObjectProperty( :fatherOf ) ) Declaration( Class( :Woman ) ) ObjectPropertyAssertion( :fatherOf :Peter :Stewie ) ObjectPropertyAssertion( :fatherOf :Peter :Meg ) ClassAssertion( :Woman :Meg ) ClassAssertion( ObjectMaxCardinality( 1 :fatherOf :Woman ) :Peter ) DifferentIndividuals( :Stewie :Meg ))",
"Prefix(:=<http://example.org/>) Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>) Ontology( Declaration(NamedIndividual(:a)) Declaration(DataProperty(:hasAge)) Declaration(Class(:Eighteen)) SubClassOf(DataHasValue(:hasAge \"18\"^^xsd:integer) :Eighteen) ClassAssertion(DataHasValue(:hasAge \"18\"^^xsd:integer) :a) ClassAssertion(ObjectComplementOf(:Eighteen) :a))",
"Prefix(:=<http://example.org/>)\nPrefix(xsd:=<http://www.w3.org/2001/XMLSchema#>) Ontology( Declaration(NamedIndividual(:a)) Declaration(DataProperty(:dp)) Declaration(Class(:A)) SubClassOf(:A DataHasValue(:dp \"18\"^^xsd:integer)) ClassAssertion(:A :a) ClassAssertion(DataAllValuesFrom(:dp xsd:integer) :a))",
"Prefix(owl:=<http://www.w3.org/2002/07/owl#>)\nPrefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)\nPrefix(xml:=<http://www.w3.org/XML/1998/namespace>)\nPrefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)\nPrefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>) Ontology(\n Declaration(DataProperty(<http://www.w3.org/2002/03owlt/I5.8/premises008#p>))\n DataPropertyRange(<http://www.w3.org/2002/03owlt/I5.8/premises008#p> xsd:short))",
"Prefix(:=<http://example.org/>) Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>) Ontology( Declaration(NamedIndividual(:Meg)) Declaration(DataProperty(:numberOfChildren)) DataPropertyAssertion(:numberOfChildren :Meg \"+0.0\"^^xsd:float) DataPropertyAssertion(:numberOfChildren :Meg \"-0.0\"^^xsd:float) FunctionalDataProperty(:numberOfChildren))",
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema#\" xmlns:ex=\"http://www.example.org#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\"><owl:InverseFunctionalProperty rdf:about=\"http://www.example.org#p\"/><rdf:Description rdf:about=\"http://www.example.org#x1\"><ex:p rdf:resource=\"http://www.example.org#y\"/></rdf:Description><rdf:Description rdf:about=\"http://www.example.org#x2\"><ex:p rdf:resource=\"http://www.example.org#y\"/></rdf:Description></rdf:RDF>",
"<rdf:RDF xml:base=\"urn:test\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema#\"><owl:Ontology rdf:about=\"\"/><owl:Class rdf:about=\"urn:test#Unsatisfiable\"><owl:equivalentClass><owl:Class rdf:about=\"urn:test#c1\"/></owl:equivalentClass></owl:Class><owl:Class rdf:about=\"urn:test#c\"><rdfs:subClassOf><owl:Class><owl:complementOf><owl:Class rdf:about=\"urn:test#d\"/></owl:complementOf></owl:Class></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#d\"/><owl:Class rdf:about=\"urn:test#f\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#d\"/></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#c1\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#d1\"/></rdfs:subClassOf><rdfs:subClassOf><owl:Class><owl:complementOf><owl:Class rdf:about=\"urn:test#d1\"/></owl:complementOf></owl:Class></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#d1\"/><owl:Class rdf:about=\"urn:test#e3\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#c\"/></rdfs:subClassOf></owl:Class><owl:ObjectProperty rdf:about=\"urn:test#r\"/><rdf:Description><rdf:type rdf:resource=\"urn:test#Unsatisfiable\"/></rdf:Description></rdf:RDF>",
"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:j.0=\"http://owl2.test/rules#\"><owl:Ontology /><owl:ObjectProperty rdf:about=\"http://owl2.test/rules#op\"/><owl:NamedIndividual rdf:about=\"http://owl2.test/rules#I\"/><owl:NamedIndividual><j.0:op rdf:resource=\"http://owl2.test/rules#I\"/></owl:NamedIndividual></rdf:RDF>",
"<rdf:RDF xml:base=\"urn:test\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema#\"><owl:Ontology rdf:about=\"\"/><owl:Class rdf:about=\"urn:test#Unsatisfiable\"><owl:equivalentClass><owl:Class><owl:intersectionOf rdf:parseType=\"Collection\"><owl:Class rdf:about=\"urn:test#c\"/><owl:Class rdf:about=\"urn:test#d\"/></owl:intersectionOf></owl:Class></owl:equivalentClass></owl:Class><owl:Class rdf:about=\"urn:test#c\"><rdfs:subClassOf><owl:Class><owl:complementOf><owl:Class rdf:about=\"urn:test#d\"/></owl:complementOf></owl:Class></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#d\"/><owl:Class rdf:about=\"urn:test#f\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#d\"/></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#c1\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#d1\"/></rdfs:subClassOf><rdfs:subClassOf><owl:Class><owl:complementOf><owl:Class rdf:about=\"urn:test#d1\"/></owl:complementOf></owl:Class></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#d1\"/><owl:Class rdf:about=\"urn:test#e3\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#c\"/></rdfs:subClassOf></owl:Class><owl:ObjectProperty rdf:about=\"urn:test#r\"/><rdf:Description><rdf:type rdf:resource=\"urn:test#Unsatisfiable\"/></rdf:Description></rdf:RDF>",
"<rdf:RDF xml:base=\"urn:test\" xmlns:owl=\"http://www.w3.org/2002/07/owl#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema#\"><owl:Ontology rdf:about=\"\"/><owl:Class rdf:about=\"urn:test#Unsatisfiable\"><owl:equivalentClass><owl:Class><owl:intersectionOf rdf:parseType=\"Collection\"><owl:Class rdf:about=\"urn:test#e3\"/><owl:Class rdf:about=\"urn:test#f\"/></owl:intersectionOf></owl:Class></owl:equivalentClass></owl:Class><owl:Class rdf:about=\"urn:test#c\"><rdfs:subClassOf><owl:Class><owl:complementOf><owl:Class rdf:about=\"urn:test#d\"/></owl:complementOf></owl:Class></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#d\"/><owl:Class rdf:about=\"urn:test#f\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#d\"/></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#c1\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#d1\"/></rdfs:subClassOf><rdfs:subClassOf><owl:Class><owl:complementOf><owl:Class rdf:about=\"urn:test#d1\"/></owl:complementOf></owl:Class></rdfs:subClassOf></owl:Class><owl:Class rdf:about=\"urn:test#d1\"/><owl:Class rdf:about=\"urn:test#e3\"><rdfs:subClassOf><owl:Class rdf:about=\"urn:test#c\"/></rdfs:subClassOf></owl:Class><owl:ObjectProperty rdf:about=\"urn:test#r\"/><rdf:Description><rdf:type rdf:resource=\"urn:test#Unsatisfiable\"/></rdf:Description></rdf:RDF>");
}
@Test
public void testRLDLOnly() {
test(premise.startsWith("<rdf:RDF") ? new RDFXMLDocumentFormat()
: new FunctionalSyntaxDocumentFormat(), premise, false, false, true, true);
}
}