You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2016/05/14 14:03:27 UTC
[28/42] jena git commit: Merge commit 'refs/pull/143/head' of
github.com:apache/jena
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/main/resources/etc/owl.rules
----------------------------------------------------------------------
diff --cc jena-core/src/main/resources/etc/owl.rules
index 2eb3282,2eb3282..20e589a
--- a/jena-core/src/main/resources/etc/owl.rules
+++ b/jena-core/src/main/resources/etc/owl.rules
@@@ -1,305 -1,305 +1,305 @@@
--# Licensed to the Apache Software Foundation (ASF) under one
--# or more contributor license agreements. See the NOTICE file
--# distributed with this work for additional information
--# regarding copyright ownership. The ASF licenses this file
--# to you under the Apache License, Version 2.0 (the
--# "License"); you may not use this file except in compliance
--# with the License. You may obtain a copy of the License at
--#
--# http://www.apache.org/licenses/LICENSE-2.0
--#
--# Unless required by applicable law or agreed to in writing, software
--# distributed under the License is distributed on an "AS IS" BASIS,
--# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--# See the License for the specific language governing permissions and
--# limitations under the License.
--
--#------------------------------------------------------------------
--# OWL rule set v0.1
--# This rule set is design to implement owl(f)lite using pure
--# forward chaining. It is sufficient to pass the working group tests
--# for this OWL subset but some of the bug fixes applied to owl-fb
--# have may not yet have migrated back here.
--# $Id: $
--#------------------------------------------------------------------
--
--#------------------------------------------------------------------
--# RDFS Axioms
--#------------------------------------------------------------------
--
---> (rdf:type rdfs:range rdfs:Class).
---> (rdfs:Resource rdf:type rdfs:Class).
---> (rdfs:Literal rdf:type rdfs:Class).
---> (rdf:Statement rdf:type rdfs:Class).
---> (rdf:nil rdf:type rdf:List).
---> (rdf:subject rdf:type rdf:Property).
---> (rdf:object rdf:type rdf:Property).
---> (rdf:predicate rdf:type rdf:Property).
---> (rdf:first rdf:type rdf:Property).
---> (rdf:rest rdf:type rdf:Property).
--
---> (rdfs:subPropertyOf rdfs:domain rdf:Property).
---> (rdfs:subClassOf rdfs:domain rdfs:Class).
---> (rdfs:domain rdfs:domain rdf:Property).
---> (rdfs:range rdfs:domain rdf:Property).
---> (rdf:subject rdfs:domain rdf:Statement).
---> (rdf:predicate rdfs:domain rdf:Statement).
---> (rdf:object rdfs:domain rdf:Statement).
---> (rdf:first rdfs:domain rdf:List).
---> (rdf:rest rdfs:domain rdf:List).
--
---> (rdfs:subPropertyOf rdfs:range rdf:Property).
---> (rdfs:subClassOf rdfs:range rdfs:Class).
---> (rdfs:domain rdfs:range rdfs:Class).
---> (rdfs:range rdfs:range rdfs:Class).
---> (rdf:type rdfs:range rdfs:Class).
---> (rdfs:comment rdfs:range rdfs:Literal).
---> (rdfs:label rdfs:range rdfs:Literal).
---> (rdf:rest rdfs:range rdf:List).
--
---> (rdf:Alt rdfs:subClassOf rdfs:Container).
---> (rdf:Bag rdfs:subClassOf rdfs:Container).
---> (rdf:Seq rdfs:subClassOf rdfs:Container).
---> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
--
---> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
--
---> (rdf:XMLLiteral rdf:type rdfs:Datatype).
---> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
--
--#------------------------------------------------------------------
--# RDFS Closure rules
--#------------------------------------------------------------------
--
--# This one could be omitted since the results are not really very interesting!
--# [rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
--# [rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)]
--
--[rdfs2: (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)]
--[rdfs3: (?x ?p ?y), (?p rdfs:range ?c) -> (?y rdf:type ?c)]
--[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)]
--[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)]
--[rdfs6: (?a ?p ?b), (?p rdfs:subPropertyOf ?q) -> (?a ?q ?b)]
--[rdfs7: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
--[rdfs8: (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)]
--[rdfs9: (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)]
--[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)]
--
--#------------------------------------------------------------------
--# RDFS iff extensions needed for OWL
--#------------------------------------------------------------------
--[rdfs2a: (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) -> (?x rdfs:domain ?z)]
--[rdfs3a: (?x rdfs:range ?y), (?y rdfs:subClassOf ?z) -> (?x rdfs:range ?z)]
--
--#------------------------------------------------------------------
--# OWL axioms
--#------------------------------------------------------------------
--
---> (rdf:first rdf:type owl:FunctionalProperty).
---> (rdf:rest rdf:type owl:FunctionalProperty).
--
---> (rdfs:domain owl:SymmetricProperty owl:ObjectProperty).
---> (rdfs:domain owl:TransitiveProperty owl:ObjectProperty).
---> (rdfs:domain owl:InverseFunctionalProperty owl:ObjectProperty).
--
---> (rdfs:range owl:ObjectProperty owl:Thing).
---> (rdfs:domain owl:ObjectProperty owl:Thing).
--
---> (owl:Class rdfs:subClassOf rdfs:Class).
---> (owl:Restriction rdfs:subClassOf owl:Class).
--
--# This is true in OWL-full but does lead to rather a lot of additional conclusions that
--# are not helpful for the practical test cases, explore consequences of retricting
--# closer to OWL/DL
--#-> (rdfs:Class rdfs:subClassOf owl:Class).
--
---> (owl:Thing rdf:type owl:Class).
--
--# These might need to be pre-expanded in the initial rule set
---> (owl:equivalentProperty rdf:type owl:SymmetricProperty).
---> (owl:equivalentProperty rdf:type owl:TransitiveProperty).
---> (owl:equivalentClass rdf:type owl:SymmetricProperty).
---> (owl:equivalentClass rdf:type owl:TransitiveProperty).
---> (owl:sameIndividualAs rdf:type owl:SymmetricProperty).
---> (owl:sameIndividualAs rdf:type owl:TransitiveProperty).
---> (owl:sameIndividualAs owl:equivalentProperty owl:sameAs).
---> (owl:differentFrom rdf:type owl:SymmetricProperty).
--
---> (owl:intersectionOf rdfs:domain owl:Class).
--
--#------------------------------------------------------------------
--# OWL Rules
--#------------------------------------------------------------------
--
--#------------------------------------------------------------------
--# Class rules
--# (Note: compiling intersectionOf to an n+1 rule set is done procedurally)
--#------------------------------------------------------------------
--
--# Identify restriction assertions
--
--[restriction1: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:someValuesFrom ?D)
-- -> (?C owl:equivalentClass some(?P, ?D))]
--
--[restriction2: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:allValuesFrom ?D)
-- -> (?C owl:equivalentClass all(?P, ?D))]
--
--[restriction3: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:minCardinality ?X)
-- -> (?C owl:equivalentClass min(?P, ?X))]
--
--[restriction4: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:maxCardinality ?X)
-- -> (?C owl:equivalentClass max(?P, ?X))]
--
--[restriction5: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:cardinality ?X)
-- -> (?C owl:equivalentClass card(?P, ?X)),
-- (?C rdfs:subClassOf min(?P, ?X)),
-- (?C rdfs:subClassOf max(?P, ?X)) ]
--
--[restriction6: (?C rdfs:subClassOf min(?P, ?X)), (?C rdfs:subClassOf max(?P, ?X))
-- -> (?C rdfs:subClassOf card(?P, ?X))]
--
--# Needed for the case where ?R is a restriction literal and so does not appear in the subject position
--# The isFunctor guard is temporary for performance, doesn't change semantics
--[restrictionSubclass1: (?D owl:equivalentClass ?R), (?X rdf:type ?R), isFunctor(?R) -> (?X rdf:type ?D)]
--[restrictionSubclass2: (?D owl:equivalentClass ?R), (?X rdf:type ?D), isFunctor(?R) -> (?X rdf:type ?R)]
--
--# Interactions between cardinalities and some/all
--
--[restrictionProc1: (?X rdf:type, max(?P, 1)), (?X, rdf:type, some(?P, ?C))
-- -> (?X rdf:type all(?P, ?C))]
--
--[restrictionProc2: (?P rdf:type owl:FunctionalProperty), (?X, rdf:type, some(?P, ?C))
-- -> (?X rdf:type all(?P, ?C))]
--
--[restrictionProc4: (?X rdf:type all(?P, ?C)), (?X ?P ?Y), notEqual(?P, rdf:type)
-- -> (?X rdf:type some(?P, ?C)), (?Y rdf:type ?C)]
--
--[restrictionProc5: (?P rdfs:range ?C), (?X ?P ?W), notFunctor(?C) -> (?X rdf:type some(?P, ?C))]
--
--[restrictionProc6: (?P rdfs:range ?C), (?D owl:equivalentClass all(?P, ?C))
-- -> (owl:Thing rdfs:subClassOf ?D)]
--
--[restrictionProc7: (?A rdf:type max(?P, 1)), (?A ?P ?B), (?A ?P ?C) -> (?B owl:sameIndividualAs ?C)]
--
--[restrictionProc8: (?X rdf:type min(?P, 1)), (?X rdf:type max(?P, 0)) -> (?X rdf:type owl:Nothing)]
--
--[restrictionProc9: (?X ?P ?W), (?X rdf:type max(?P, 0)) -> (?X rdf:type owl:Nothing)]
--
--[restrictionProc10: (?X rdf:type some(?P, ?C)), noValue(?X, ?P), notEqual(?P, owl:sameIndividualAs),
-- notEqual(?P, rdfs:subClassOf), notEqual(?P, rdfs:subPropertyOf),
-- notEqual(?P, owl:equivalentProperty), notEqual(?P, owl:equivalentClass),
-- notEqual(?C, owl:Class), notEqual(?C, rdfs:Class), makeTemp(?T)
-- -> (?X ?P ?T), (?T rdf:type ?C)]
--
--# Best done backwards!
--[restrictionProc11: (?P rdf:type owl:FunctionalProperty), (?X rdf:type owl:Thing)
-- -> (?X rdf:type max(?P, 1))]
--
--[restrictionProc12: (?P rdfs:range ?C), (?D rdf:type owl:Class), notFunctor(?C)
-- -> (?D rdfs:subClassOf all(?P, ?C)) ]
--
--[restrictionProc13: (owl:Thing rdfs:subClassOf all(?P, ?C))
-- -> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty)]
--
--[card3: (?X ?P ?V), (?V rdf:type ?C), notFunctor(?C) -> (?X rdf:type some(?P, ?C))]
--
--# Create prototypical instances for each class and infer any subclass relations
--# This is better done as part of an explicit taxonomy building phase.
--
--[prototype1: (?c rdf:type owl:Class), noValue(?c, rb:prototype), makeTemp(?t)
-- -> (?c rb:prototype ?t), (?t rdf:type ?c)]
--
--[prototype2: (?c rb:prototype ?p), (?p rdf:type ?d), notEqual(?c, ?d)
-- -> (?c rdfs:subClassOf ?d)]
--
--#------------------------------------------------------------------
--# Disjointness and equivalence rules
--#------------------------------------------------------------------
--
--[distinct1: (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)
-- -> (?X owl:differentFrom ?Y) ]
--
--# This one is best done backwards or with a dedicated equality reasoner
--# Hacked for now just for completeness
--
--[distinct2: (?W owl:distinctMembers ?L) -> assertDisjointPairs(?L) ]
--
--# To be improved when resolve how to record contradictions
--
--[conflict1: (?X owl:sameIndividualAs ?Y), (?X owl:differentFrom ?Y)
-- -> contradiction('same/different', ?X, ?Y) ]
--
--[conflict2: (?X rdf:type ?C), (?X rdf:type ?D), (?C owl:disjointWith ?D)
-- -> contradiction('disjoint classes overlap', ?C, ?D, ?X) ]
--
--#------------------------------------------------------------------
--# Property rules
--#------------------------------------------------------------------
--
--# equivalentProperty
--
--[equivalentProperty1: (?P owl:equivalentProperty ?Q)
-- -> (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) ]
--
--[equivalentProperty2: (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P)
-- -> (?P owl:equivalentProperty ?Q) ]
--
--[equivalentProperty3: (?P owl:sameAs ?Q), (?P rdf:type rdf:Property), (?Q rdf:type rdf:Property)
-- -> (?P owl:equivalentProperty ?Q) ]
--
--# equivalentClass
--[equivalentClass1: (?P owl:equivalentClass ?Q)
-- -> (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
--
--[equivalentClass2: (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P)
-- -> (?P owl:equivalentClass ?Q) ]
--
--[equivalentClass3: (?P owl:sameAs ?Q), (?P rdf:type rdfs:Class), (?Q rdf:type rdfs:Class)
-- -> (?P owl:equivalentClass ?Q) ]
--
--# inverseOf
--[inverseOf1: (?P owl:inverseOf ?Q) -> (?Q owl:inverseOf ?P) ]
--
--[inverseOf2: (?P owl:inverseOf ?Q), (?X ?P ?Y) -> (?Y ?Q ?X) ]
--
--[inverseOf3: (?P owl:inverseOf ?Q), (?P rdf:type owl:FunctionalProperty)
-- -> (?Q rdf:type owl:InverseFunctionalProperty) ]
--
--[inverseOf4: (?P owl:inverseOf ?Q), (?P rdf:type owl:InverseFunctionalProperty)
-- -> (?Q rdf:type owl:FunctionalProperty) ]
--
--# symmetric
--[symmetricProperty1: (?P rdf:type owl:SymmetricProperty), (?X ?P ?Y) -> (?Y ?P ?X)]
--
--
--# Transitive
--[transitivePropery1: (?P rdf:type owl:TransitiveProperty), (?A ?P ?B), (?B ?P ?C) -> (?A ?P ?C)]
--
--# sameIndividualAs
--[sameIndividualAs1: (?P rdf:type owl:FunctionalProperty), (?A ?P ?B), (?A ?P ?C)
-- -> (?B owl:sameIndividualAs ?C) ]
--
--[sameIndividualAs2: (?P rdf:type owl:InverseFunctionalProperty), (?A ?P ?B), (?C ?P ?B)
-- -> (?A owl:sameIndividualAs ?C) ]
--
--[sameIndividualAs3: (?X owl:sameAs ?Y), (?X rdf:type owl:Thing), (?Y rdf:type owl:Thing)
-- -> (?X owl:sameIndividualAs ?Y) ]
--
--
--[sameIndividualAs4: (?X owl:sameIndividualAs ?Y), (?X ?P ?V) -> (?Y ?P ?V) ]
--
--[sameIndividualAs5: (?X owl:sameIndividualAs ?Y), (?V ?P ?X) -> (?V ?P ?Y) ]
--
--[sameIndividualAs6: (?X owl:sameIndividualAs ?Y) -> (?X rdf:type owl:Thing) ]
--
--# Don't yet handle reflexivity of sameIndividualAS - special case reasoner
--
--#------------------------------------------------------------------
--# if-only parts of additional constructs
--#------------------------------------------------------------------
--
--# hasValue
--[hasValue1: (?c rdf:type owl:Restriction), (?c owl:onProperty ?p), (?c owl:hasValue ?v),
-- (?x rdf:type ?c) -> (?x ?p ?v) ]
--
--
++# Licensed to the Apache Software Foundation (ASF) under one
++# or more contributor license agreements. See the NOTICE file
++# distributed with this work for additional information
++# regarding copyright ownership. The ASF licenses this file
++# to you under the Apache License, Version 2.0 (the
++# "License"); you may not use this file except in compliance
++# with the License. You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++
++#------------------------------------------------------------------
++# OWL rule set v0.1
++# This rule set is design to implement owl(f)lite using pure
++# forward chaining. It is sufficient to pass the working group tests
++# for this OWL subset but some of the bug fixes applied to owl-fb
++# have may not yet have migrated back here.
++# $Id: $
++#------------------------------------------------------------------
++
++#------------------------------------------------------------------
++# RDFS Axioms
++#------------------------------------------------------------------
++
++-> (rdf:type rdfs:range rdfs:Class).
++-> (rdfs:Resource rdf:type rdfs:Class).
++-> (rdfs:Literal rdf:type rdfs:Class).
++-> (rdf:Statement rdf:type rdfs:Class).
++-> (rdf:nil rdf:type rdf:List).
++-> (rdf:subject rdf:type rdf:Property).
++-> (rdf:object rdf:type rdf:Property).
++-> (rdf:predicate rdf:type rdf:Property).
++-> (rdf:first rdf:type rdf:Property).
++-> (rdf:rest rdf:type rdf:Property).
++
++-> (rdfs:subPropertyOf rdfs:domain rdf:Property).
++-> (rdfs:subClassOf rdfs:domain rdfs:Class).
++-> (rdfs:domain rdfs:domain rdf:Property).
++-> (rdfs:range rdfs:domain rdf:Property).
++-> (rdf:subject rdfs:domain rdf:Statement).
++-> (rdf:predicate rdfs:domain rdf:Statement).
++-> (rdf:object rdfs:domain rdf:Statement).
++-> (rdf:first rdfs:domain rdf:List).
++-> (rdf:rest rdfs:domain rdf:List).
++
++-> (rdfs:subPropertyOf rdfs:range rdf:Property).
++-> (rdfs:subClassOf rdfs:range rdfs:Class).
++-> (rdfs:domain rdfs:range rdfs:Class).
++-> (rdfs:range rdfs:range rdfs:Class).
++-> (rdf:type rdfs:range rdfs:Class).
++-> (rdfs:comment rdfs:range rdfs:Literal).
++-> (rdfs:label rdfs:range rdfs:Literal).
++-> (rdf:rest rdfs:range rdf:List).
++
++-> (rdf:Alt rdfs:subClassOf rdfs:Container).
++-> (rdf:Bag rdfs:subClassOf rdfs:Container).
++-> (rdf:Seq rdfs:subClassOf rdfs:Container).
++-> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
++
++-> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
++
++-> (rdf:XMLLiteral rdf:type rdfs:Datatype).
++-> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
++
++#------------------------------------------------------------------
++# RDFS Closure rules
++#------------------------------------------------------------------
++
++# This one could be omitted since the results are not really very interesting!
++# [rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
++# [rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)]
++
++[rdfs2: (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)]
++[rdfs3: (?x ?p ?y), (?p rdfs:range ?c) -> (?y rdf:type ?c)]
++[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)]
++[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)]
++[rdfs6: (?a ?p ?b), (?p rdfs:subPropertyOf ?q) -> (?a ?q ?b)]
++[rdfs7: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
++[rdfs8: (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)]
++[rdfs9: (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)]
++[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)]
++
++#------------------------------------------------------------------
++# RDFS iff extensions needed for OWL
++#------------------------------------------------------------------
++[rdfs2a: (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) -> (?x rdfs:domain ?z)]
++[rdfs3a: (?x rdfs:range ?y), (?y rdfs:subClassOf ?z) -> (?x rdfs:range ?z)]
++
++#------------------------------------------------------------------
++# OWL axioms
++#------------------------------------------------------------------
++
++-> (rdf:first rdf:type owl:FunctionalProperty).
++-> (rdf:rest rdf:type owl:FunctionalProperty).
++
++-> (rdfs:domain owl:SymmetricProperty owl:ObjectProperty).
++-> (rdfs:domain owl:TransitiveProperty owl:ObjectProperty).
++-> (rdfs:domain owl:InverseFunctionalProperty owl:ObjectProperty).
++
++-> (rdfs:range owl:ObjectProperty owl:Thing).
++-> (rdfs:domain owl:ObjectProperty owl:Thing).
++
++-> (owl:Class rdfs:subClassOf rdfs:Class).
++-> (owl:Restriction rdfs:subClassOf owl:Class).
++
++# This is true in OWL-full but does lead to rather a lot of additional conclusions that
++# are not helpful for the practical test cases, explore consequences of retricting
++# closer to OWL/DL
++#-> (rdfs:Class rdfs:subClassOf owl:Class).
++
++-> (owl:Thing rdf:type owl:Class).
++
++# These might need to be pre-expanded in the initial rule set
++-> (owl:equivalentProperty rdf:type owl:SymmetricProperty).
++-> (owl:equivalentProperty rdf:type owl:TransitiveProperty).
++-> (owl:equivalentClass rdf:type owl:SymmetricProperty).
++-> (owl:equivalentClass rdf:type owl:TransitiveProperty).
++-> (owl:sameIndividualAs rdf:type owl:SymmetricProperty).
++-> (owl:sameIndividualAs rdf:type owl:TransitiveProperty).
++-> (owl:sameIndividualAs owl:equivalentProperty owl:sameAs).
++-> (owl:differentFrom rdf:type owl:SymmetricProperty).
++
++-> (owl:intersectionOf rdfs:domain owl:Class).
++
++#------------------------------------------------------------------
++# OWL Rules
++#------------------------------------------------------------------
++
++#------------------------------------------------------------------
++# Class rules
++# (Note: compiling intersectionOf to an n+1 rule set is done procedurally)
++#------------------------------------------------------------------
++
++# Identify restriction assertions
++
++[restriction1: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:someValuesFrom ?D)
++ -> (?C owl:equivalentClass some(?P, ?D))]
++
++[restriction2: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:allValuesFrom ?D)
++ -> (?C owl:equivalentClass all(?P, ?D))]
++
++[restriction3: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:minCardinality ?X)
++ -> (?C owl:equivalentClass min(?P, ?X))]
++
++[restriction4: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:maxCardinality ?X)
++ -> (?C owl:equivalentClass max(?P, ?X))]
++
++[restriction5: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:cardinality ?X)
++ -> (?C owl:equivalentClass card(?P, ?X)),
++ (?C rdfs:subClassOf min(?P, ?X)),
++ (?C rdfs:subClassOf max(?P, ?X)) ]
++
++[restriction6: (?C rdfs:subClassOf min(?P, ?X)), (?C rdfs:subClassOf max(?P, ?X))
++ -> (?C rdfs:subClassOf card(?P, ?X))]
++
++# Needed for the case where ?R is a restriction literal and so does not appear in the subject position
++# The isFunctor guard is temporary for performance, doesn't change semantics
++[restrictionSubclass1: (?D owl:equivalentClass ?R), (?X rdf:type ?R), isFunctor(?R) -> (?X rdf:type ?D)]
++[restrictionSubclass2: (?D owl:equivalentClass ?R), (?X rdf:type ?D), isFunctor(?R) -> (?X rdf:type ?R)]
++
++# Interactions between cardinalities and some/all
++
++[restrictionProc1: (?X rdf:type, max(?P, 1)), (?X, rdf:type, some(?P, ?C))
++ -> (?X rdf:type all(?P, ?C))]
++
++[restrictionProc2: (?P rdf:type owl:FunctionalProperty), (?X, rdf:type, some(?P, ?C))
++ -> (?X rdf:type all(?P, ?C))]
++
++[restrictionProc4: (?X rdf:type all(?P, ?C)), (?X ?P ?Y), notEqual(?P, rdf:type)
++ -> (?X rdf:type some(?P, ?C)), (?Y rdf:type ?C)]
++
++[restrictionProc5: (?P rdfs:range ?C), (?X ?P ?W), notFunctor(?C) -> (?X rdf:type some(?P, ?C))]
++
++[restrictionProc6: (?P rdfs:range ?C), (?D owl:equivalentClass all(?P, ?C))
++ -> (owl:Thing rdfs:subClassOf ?D)]
++
++[restrictionProc7: (?A rdf:type max(?P, 1)), (?A ?P ?B), (?A ?P ?C) -> (?B owl:sameIndividualAs ?C)]
++
++[restrictionProc8: (?X rdf:type min(?P, 1)), (?X rdf:type max(?P, 0)) -> (?X rdf:type owl:Nothing)]
++
++[restrictionProc9: (?X ?P ?W), (?X rdf:type max(?P, 0)) -> (?X rdf:type owl:Nothing)]
++
++[restrictionProc10: (?X rdf:type some(?P, ?C)), noValue(?X, ?P), notEqual(?P, owl:sameIndividualAs),
++ notEqual(?P, rdfs:subClassOf), notEqual(?P, rdfs:subPropertyOf),
++ notEqual(?P, owl:equivalentProperty), notEqual(?P, owl:equivalentClass),
++ notEqual(?C, owl:Class), notEqual(?C, rdfs:Class), makeTemp(?T)
++ -> (?X ?P ?T), (?T rdf:type ?C)]
++
++# Best done backwards!
++[restrictionProc11: (?P rdf:type owl:FunctionalProperty), (?X rdf:type owl:Thing)
++ -> (?X rdf:type max(?P, 1))]
++
++[restrictionProc12: (?P rdfs:range ?C), (?D rdf:type owl:Class), notFunctor(?C)
++ -> (?D rdfs:subClassOf all(?P, ?C)) ]
++
++[restrictionProc13: (owl:Thing rdfs:subClassOf all(?P, ?C))
++ -> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty)]
++
++[card3: (?X ?P ?V), (?V rdf:type ?C), notFunctor(?C) -> (?X rdf:type some(?P, ?C))]
++
++# Create prototypical instances for each class and infer any subclass relations
++# This is better done as part of an explicit taxonomy building phase.
++
++[prototype1: (?c rdf:type owl:Class), noValue(?c, rb:prototype), makeTemp(?t)
++ -> (?c rb:prototype ?t), (?t rdf:type ?c)]
++
++[prototype2: (?c rb:prototype ?p), (?p rdf:type ?d), notEqual(?c, ?d)
++ -> (?c rdfs:subClassOf ?d)]
++
++#------------------------------------------------------------------
++# Disjointness and equivalence rules
++#------------------------------------------------------------------
++
++[distinct1: (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)
++ -> (?X owl:differentFrom ?Y) ]
++
++# This one is best done backwards or with a dedicated equality reasoner
++# Hacked for now just for completeness
++
++[distinct2: (?W owl:distinctMembers ?L) -> assertDisjointPairs(?L) ]
++
++# To be improved when resolve how to record contradictions
++
++[conflict1: (?X owl:sameIndividualAs ?Y), (?X owl:differentFrom ?Y)
++ -> contradiction('same/different', ?X, ?Y) ]
++
++[conflict2: (?X rdf:type ?C), (?X rdf:type ?D), (?C owl:disjointWith ?D)
++ -> contradiction('disjoint classes overlap', ?C, ?D, ?X) ]
++
++#------------------------------------------------------------------
++# Property rules
++#------------------------------------------------------------------
++
++# equivalentProperty
++
++[equivalentProperty1: (?P owl:equivalentProperty ?Q)
++ -> (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) ]
++
++[equivalentProperty2: (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P)
++ -> (?P owl:equivalentProperty ?Q) ]
++
++[equivalentProperty3: (?P owl:sameAs ?Q), (?P rdf:type rdf:Property), (?Q rdf:type rdf:Property)
++ -> (?P owl:equivalentProperty ?Q) ]
++
++# equivalentClass
++[equivalentClass1: (?P owl:equivalentClass ?Q)
++ -> (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
++
++[equivalentClass2: (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P)
++ -> (?P owl:equivalentClass ?Q) ]
++
++[equivalentClass3: (?P owl:sameAs ?Q), (?P rdf:type rdfs:Class), (?Q rdf:type rdfs:Class)
++ -> (?P owl:equivalentClass ?Q) ]
++
++# inverseOf
++[inverseOf1: (?P owl:inverseOf ?Q) -> (?Q owl:inverseOf ?P) ]
++
++[inverseOf2: (?P owl:inverseOf ?Q), (?X ?P ?Y) -> (?Y ?Q ?X) ]
++
++[inverseOf3: (?P owl:inverseOf ?Q), (?P rdf:type owl:FunctionalProperty)
++ -> (?Q rdf:type owl:InverseFunctionalProperty) ]
++
++[inverseOf4: (?P owl:inverseOf ?Q), (?P rdf:type owl:InverseFunctionalProperty)
++ -> (?Q rdf:type owl:FunctionalProperty) ]
++
++# symmetric
++[symmetricProperty1: (?P rdf:type owl:SymmetricProperty), (?X ?P ?Y) -> (?Y ?P ?X)]
++
++
++# Transitive
++[transitivePropery1: (?P rdf:type owl:TransitiveProperty), (?A ?P ?B), (?B ?P ?C) -> (?A ?P ?C)]
++
++# sameIndividualAs
++[sameIndividualAs1: (?P rdf:type owl:FunctionalProperty), (?A ?P ?B), (?A ?P ?C)
++ -> (?B owl:sameIndividualAs ?C) ]
++
++[sameIndividualAs2: (?P rdf:type owl:InverseFunctionalProperty), (?A ?P ?B), (?C ?P ?B)
++ -> (?A owl:sameIndividualAs ?C) ]
++
++[sameIndividualAs3: (?X owl:sameAs ?Y), (?X rdf:type owl:Thing), (?Y rdf:type owl:Thing)
++ -> (?X owl:sameIndividualAs ?Y) ]
++
++
++[sameIndividualAs4: (?X owl:sameIndividualAs ?Y), (?X ?P ?V) -> (?Y ?P ?V) ]
++
++[sameIndividualAs5: (?X owl:sameIndividualAs ?Y), (?V ?P ?X) -> (?V ?P ?Y) ]
++
++[sameIndividualAs6: (?X owl:sameIndividualAs ?Y) -> (?X rdf:type owl:Thing) ]
++
++# Don't yet handle reflexivity of sameIndividualAS - special case reasoner
++
++#------------------------------------------------------------------
++# if-only parts of additional constructs
++#------------------------------------------------------------------
++
++# hasValue
++[hasValue1: (?c rdf:type owl:Restriction), (?c owl:onProperty ?p), (?c owl:hasValue ?v),
++ (?x rdf:type ?c) -> (?x ?p ?v) ]
++
++
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/main/resources/etc/rdfs.rules
----------------------------------------------------------------------
diff --cc jena-core/src/main/resources/etc/rdfs.rules
index 408e49e,408e49e..c26c615
--- a/jena-core/src/main/resources/etc/rdfs.rules
+++ b/jena-core/src/main/resources/etc/rdfs.rules
@@@ -1,83 -1,83 +1,83 @@@
--# Licensed to the Apache Software Foundation (ASF) under one
--# or more contributor license agreements. See the NOTICE file
--# distributed with this work for additional information
--# regarding copyright ownership. The ASF licenses this file
--# to you under the Apache License, Version 2.0 (the
--# "License"); you may not use this file except in compliance
--# with the License. You may obtain a copy of the License at
--#
--# http://www.apache.org/licenses/LICENSE-2.0
--#
--# Unless required by applicable law or agreed to in writing, software
--# distributed under the License is distributed on an "AS IS" BASIS,
--# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--# See the License for the specific language governing permissions and
--# limitations under the License.
--
--#------------------------------------------------------------------
--# RDFS rule set v0.1.
--# This is a direct implementation of the RDFS closure rules.
--# $Id: $
--#------------------------------------------------------------------
--
--#------------------------------------------------------------------
--# RDFS Axioms
--#------------------------------------------------------------------
--
---> (rdf:type rdfs:range rdfs:Class).
---> (rdfs:Resource rdf:type rdfs:Class).
---> (rdfs:Literal rdf:type rdfs:Class).
---> (rdf:Statement rdf:type rdfs:Class).
---> (rdf:nil rdf:type rdf:List).
---> (rdf:subject rdf:type rdf:Property).
---> (rdf:object rdf:type rdf:Property).
---> (rdf:predicate rdf:type rdf:Property).
---> (rdf:first rdf:type rdf:Property).
---> (rdf:rest rdf:type rdf:Property).
--
---> (rdfs:subPropertyOf rdfs:domain rdf:Property).
---> (rdfs:subClassOf rdfs:domain rdfs:Class).
---> (rdfs:domain rdfs:domain rdf:Property).
---> (rdfs:range rdfs:domain rdf:Property).
---> (rdf:subject rdfs:domain rdf:Statement).
---> (rdf:predicate rdfs:domain rdf:Statement).
---> (rdf:object rdfs:domain rdf:Statement).
---> (rdf:first rdfs:domain rdf:List).
---> (rdf:rest rdfs:domain rdf:List).
--
---> (rdfs:subPropertyOf rdfs:range rdf:Property).
---> (rdfs:subClassOf rdfs:range rdfs:Class).
---> (rdfs:domain rdfs:range rdfs:Class).
---> (rdfs:range rdfs:range rdfs:Class).
---> (rdf:type rdfs:range rdfs:Class).
---> (rdfs:comment rdfs:range rdfs:Literal).
---> (rdfs:label rdfs:range rdfs:Literal).
---> (rdf:rest rdfs:range rdf:List).
--
---> (rdf:Alt rdfs:subClassOf rdfs:Container).
---> (rdf:Bag rdfs:subClassOf rdfs:Container).
---> (rdf:Seq rdfs:subClassOf rdfs:Container).
---> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
--
---> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
--
---> (rdf:XMLLiteral rdf:type rdfs:Datatype).
---> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
--
--#------------------------------------------------------------------
--# RDFS Closure rules
--#------------------------------------------------------------------
--
--# This one could be omitted since the results are not really very interesting!
--[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
--[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)]
--
--[rdfs2: (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)]
--[rdfs3: (?x ?p ?y), (?p rdfs:range ?c) -> (?y rdf:type ?c)]
--[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)]
--[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)]
--[rdfs6: (?a ?p ?b), (?p rdfs:subPropertyOf ?q) -> (?a ?q ?b)]
--[rdfs7: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
--[rdfs8: (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)]
--[rdfs9: (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)]
--[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)]
++# Licensed to the Apache Software Foundation (ASF) under one
++# or more contributor license agreements. See the NOTICE file
++# distributed with this work for additional information
++# regarding copyright ownership. The ASF licenses this file
++# to you under the Apache License, Version 2.0 (the
++# "License"); you may not use this file except in compliance
++# with the License. You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++
++#------------------------------------------------------------------
++# RDFS rule set v0.1.
++# This is a direct implementation of the RDFS closure rules.
++# $Id: $
++#------------------------------------------------------------------
++
++#------------------------------------------------------------------
++# RDFS Axioms
++#------------------------------------------------------------------
++
++-> (rdf:type rdfs:range rdfs:Class).
++-> (rdfs:Resource rdf:type rdfs:Class).
++-> (rdfs:Literal rdf:type rdfs:Class).
++-> (rdf:Statement rdf:type rdfs:Class).
++-> (rdf:nil rdf:type rdf:List).
++-> (rdf:subject rdf:type rdf:Property).
++-> (rdf:object rdf:type rdf:Property).
++-> (rdf:predicate rdf:type rdf:Property).
++-> (rdf:first rdf:type rdf:Property).
++-> (rdf:rest rdf:type rdf:Property).
++
++-> (rdfs:subPropertyOf rdfs:domain rdf:Property).
++-> (rdfs:subClassOf rdfs:domain rdfs:Class).
++-> (rdfs:domain rdfs:domain rdf:Property).
++-> (rdfs:range rdfs:domain rdf:Property).
++-> (rdf:subject rdfs:domain rdf:Statement).
++-> (rdf:predicate rdfs:domain rdf:Statement).
++-> (rdf:object rdfs:domain rdf:Statement).
++-> (rdf:first rdfs:domain rdf:List).
++-> (rdf:rest rdfs:domain rdf:List).
++
++-> (rdfs:subPropertyOf rdfs:range rdf:Property).
++-> (rdfs:subClassOf rdfs:range rdfs:Class).
++-> (rdfs:domain rdfs:range rdfs:Class).
++-> (rdfs:range rdfs:range rdfs:Class).
++-> (rdf:type rdfs:range rdfs:Class).
++-> (rdfs:comment rdfs:range rdfs:Literal).
++-> (rdfs:label rdfs:range rdfs:Literal).
++-> (rdf:rest rdfs:range rdf:List).
++
++-> (rdf:Alt rdfs:subClassOf rdfs:Container).
++-> (rdf:Bag rdfs:subClassOf rdfs:Container).
++-> (rdf:Seq rdfs:subClassOf rdfs:Container).
++-> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
++
++-> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
++
++-> (rdf:XMLLiteral rdf:type rdfs:Datatype).
++-> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
++
++#------------------------------------------------------------------
++# RDFS Closure rules
++#------------------------------------------------------------------
++
++# This one could be omitted since the results are not really very interesting!
++[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
++[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)]
++
++[rdfs2: (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)]
++[rdfs3: (?x ?p ?y), (?p rdfs:range ?c) -> (?y rdf:type ?c)]
++[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)]
++[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)]
++[rdfs6: (?a ?p ?b), (?p rdfs:subPropertyOf ?q) -> (?a ?q ?b)]
++[rdfs7: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
++[rdfs8: (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)]
++[rdfs9: (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)]
++[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)]
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/test/resources/ont-policy-test.rdf
----------------------------------------------------------------------
diff --cc jena-core/src/test/resources/ont-policy-test.rdf
index dfa320a,dfa320a..1102137
--- a/jena-core/src/test/resources/ont-policy-test.rdf
+++ b/jena-core/src/test/resources/ont-policy-test.rdf
@@@ -1,58 -1,58 +1,58 @@@
--<?xml version='1.0'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY jena 'http://jena.hpl.hp.com/schemas/'>
--
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-- <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>
-- <!ENTITY base '&jena;2003/03/ont-manager'>
-- <!ENTITY ont '&base;#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs="&rdfs;"
-- xmlns ="&ont;"
-- xml:base ="&base;"
-->
--
--<!--
-- An augmented set of mappings for locally cached ontologies, used in the test scripts
--
-- Author: Ian Dickinson, mailto:ian_dickinson@users.sourceforge.net
-- CVS: $Id: ont-policy.rdf,v 1.5 2003/11/06 17:37:24 ian_dickinson Exp $
---->
--
--<DocumentManagerPolicy>
-- <!-- policy for controlling the document manager's behaviour -->
-- <processImports rdf:datatype="&xsd;boolean">true</processImports>
-- <cacheModels rdf:datatype="&xsd;boolean">true</cacheModels>
--</DocumentManagerPolicy>
--
--
--<OntologySpec>
-- <!-- local version of the OWL language ontology (in OWL) -->
-- <publicURI rdf:resource="http://www.w3.org/2002/07/owl" />
-- <altURL rdf:resource="file:vocabularies/owl.owl" />
-- <language rdf:resource="http://www.w3.org/2002/07/owl#" />
-- <prefix rdf:datatype="&xsd;string">owl</prefix>
--</OntologySpec>
--
--<OntologySpec>
-- <!-- local version of the RDFS vocabulary -->
-- <publicURI rdf:resource="http://www.w3.org/2000/01/rdf-schema" />
-- <altURL rdf:resource="file:vocabularies/rdf-schema.rdf" />
-- <language rdf:resource="http://www.w3.org/2000/01/rdf-schema#" />
-- <prefix rdf:datatype="&xsd;string">rdfs</prefix>
--</OntologySpec>
--
--<OntologySpec>
-- <publicURI rdf:resource="http://www.daml.org/2001/03/daml+oil" />
-- <altURL rdf:resource="file:vocabularies/daml+oil.daml" />
-- <language rdf:resource="http://www.daml.org/2001/03/daml+oil#" />
-- <prefix rdf:datatype="&xsd;string">daml</prefix>
--</OntologySpec>
--
--
--</rdf:RDF>
++<?xml version='1.0'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY jena 'http://jena.hpl.hp.com/schemas/'>
++
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++ <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>
++ <!ENTITY base '&jena;2003/03/ont-manager'>
++ <!ENTITY ont '&base;#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs="&rdfs;"
++ xmlns ="&ont;"
++ xml:base ="&base;"
++>
++
++<!--
++ An augmented set of mappings for locally cached ontologies, used in the test scripts
++
++ Author: Ian Dickinson, mailto:ian_dickinson@users.sourceforge.net
++ CVS: $Id: ont-policy.rdf,v 1.5 2003/11/06 17:37:24 ian_dickinson Exp $
++-->
++
++<DocumentManagerPolicy>
++ <!-- policy for controlling the document manager's behaviour -->
++ <processImports rdf:datatype="&xsd;boolean">true</processImports>
++ <cacheModels rdf:datatype="&xsd;boolean">true</cacheModels>
++</DocumentManagerPolicy>
++
++
++<OntologySpec>
++ <!-- local version of the OWL language ontology (in OWL) -->
++ <publicURI rdf:resource="http://www.w3.org/2002/07/owl" />
++ <altURL rdf:resource="file:vocabularies/owl.owl" />
++ <language rdf:resource="http://www.w3.org/2002/07/owl#" />
++ <prefix rdf:datatype="&xsd;string">owl</prefix>
++</OntologySpec>
++
++<OntologySpec>
++ <!-- local version of the RDFS vocabulary -->
++ <publicURI rdf:resource="http://www.w3.org/2000/01/rdf-schema" />
++ <altURL rdf:resource="file:vocabularies/rdf-schema.rdf" />
++ <language rdf:resource="http://www.w3.org/2000/01/rdf-schema#" />
++ <prefix rdf:datatype="&xsd;string">rdfs</prefix>
++</OntologySpec>
++
++<OntologySpec>
++ <publicURI rdf:resource="http://www.daml.org/2001/03/daml+oil" />
++ <altURL rdf:resource="file:vocabularies/daml+oil.daml" />
++ <language rdf:resource="http://www.daml.org/2001/03/daml+oil#" />
++ <prefix rdf:datatype="&xsd;string">daml</prefix>
++</OntologySpec>
++
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/test/resources/ontology/list0.rdf
----------------------------------------------------------------------
diff --cc jena-core/src/test/resources/ontology/list0.rdf
index 2bbe1a6,2bbe1a6..1a1c6ef
--- a/jena-core/src/test/resources/ontology/list0.rdf
+++ b/jena-core/src/test/resources/ontology/list0.rdf
@@@ -1,20 -1,20 +1,20 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/test/resources/ontology/list1.rdf
----------------------------------------------------------------------
diff --cc jena-core/src/test/resources/ontology/list1.rdf
index 5c62e6d,5c62e6d..e402b1f
--- a/jena-core/src/test/resources/ontology/list1.rdf
+++ b/jena-core/src/test/resources/ontology/list1.rdf
@@@ -1,21 -1,21 +1,21 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/test/resources/ontology/list2.rdf
----------------------------------------------------------------------
diff --cc jena-core/src/test/resources/ontology/list2.rdf
index 5746ff1,5746ff1..2ec558c
--- a/jena-core/src/test/resources/ontology/list2.rdf
+++ b/jena-core/src/test/resources/ontology/list2.rdf
@@@ -1,22 -1,22 +1,22 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- <rdf:Description rdf:ID="b" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ <rdf:Description rdf:ID="b" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/test/resources/ontology/list3.rdf
----------------------------------------------------------------------
diff --cc jena-core/src/test/resources/ontology/list3.rdf
index 70c5dc8,70c5dc8..004777f
--- a/jena-core/src/test/resources/ontology/list3.rdf
+++ b/jena-core/src/test/resources/ontology/list3.rdf
@@@ -1,23 -1,23 +1,23 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- <rdf:Description rdf:ID="b" />
-- <rdf:Description rdf:ID="c" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ <rdf:Description rdf:ID="b" />
++ <rdf:Description rdf:ID="c" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/test/resources/ontology/list4.rdf
----------------------------------------------------------------------
diff --cc jena-core/src/test/resources/ontology/list4.rdf
index 4ad6644,4ad6644..c4d7ecd
--- a/jena-core/src/test/resources/ontology/list4.rdf
+++ b/jena-core/src/test/resources/ontology/list4.rdf
@@@ -1,24 -1,24 +1,24 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- <rdf:Description rdf:ID="b" />
-- <rdf:Description rdf:ID="c" />
-- <rdf:Description rdf:ID="d" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ <rdf:Description rdf:ID="b" />
++ <rdf:Description rdf:ID="c" />
++ <rdf:Description rdf:ID="d" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/src/test/resources/ontology/list5.rdf
----------------------------------------------------------------------
diff --cc jena-core/src/test/resources/ontology/list5.rdf
index 7bbaff0,7bbaff0..d0d573b
--- a/jena-core/src/test/resources/ontology/list5.rdf
+++ b/jena-core/src/test/resources/ontology/list5.rdf
@@@ -1,25 -1,25 +1,25 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- <rdf:Description rdf:ID="b" />
-- <rdf:Description rdf:ID="c" />
-- <rdf:Description rdf:ID="d" />
-- <rdf:Description rdf:ID="e" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ <rdf:Description rdf:ID="b" />
++ <rdf:Description rdf:ID="c" />
++ <rdf:Description rdf:ID="d" />
++ <rdf:Description rdf:ID="e" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/Turtle/build
----------------------------------------------------------------------
diff --cc jena-core/testing/Turtle/build
index 3edd780,3edd780..31bed10
--- a/jena-core/testing/Turtle/build
+++ b/jena-core/testing/Turtle/build
@@@ -1,31 -1,31 +1,31 @@@
--#!/bin/bash
--# Build vocabulary
--
--function syntaxCheck
--{
-- FILE="$1"
-- echo "Syntax check: $FILE"
-- n3 -n -rdf "$FILE"
--}
--
--function proc
--{
-- TMP=TT
-- FILE="$1"
-- CLASS="$2"
-- NS="$3"
-- echo "Schemagen: $FILE"
-- schemagen --rdfs -i "$FILE" -n "$CLASS" -a "$NS" -o "$CLASS".java -e N3
-- # Add imports
-- echo "package dev.turtle.test ;" >> "$TMP"
-- echo >>"$TMP"
-- cat "$CLASS".java >> "$TMP"
-- mv "$TMP" "$CLASS".java
--}
--
--syntaxCheck TurtleTestVocab.ttl
--
--proc TurtleTestVocab.ttl TurtleTestVocab \
-- "http://jena.hpl.hp.com/2005/12/test-turtle#"
--
++#!/bin/bash
++# Build vocabulary
++
++function syntaxCheck
++{
++ FILE="$1"
++ echo "Syntax check: $FILE"
++ n3 -n -rdf "$FILE"
++}
++
++function proc
++{
++ TMP=TT
++ FILE="$1"
++ CLASS="$2"
++ NS="$3"
++ echo "Schemagen: $FILE"
++ schemagen --rdfs -i "$FILE" -n "$CLASS" -a "$NS" -o "$CLASS".java -e N3
++ # Add imports
++ echo "package dev.turtle.test ;" >> "$TMP"
++ echo >>"$TMP"
++ cat "$CLASS".java >> "$TMP"
++ mv "$TMP" "$CLASS".java
++}
++
++syntaxCheck TurtleTestVocab.ttl
++
++proc TurtleTestVocab.ttl TurtleTestVocab \
++ "http://jena.hpl.hp.com/2005/12/test-turtle#"
++
echo "mv TurtleTestVocab.java ../../src-dev/dev/turtle/test/"
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/arp/i18n/badbom8.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/arp/i18n/badbom8.rdf
index bb36d5b,bb36d5b..f087b71
--- a/jena-core/testing/arp/i18n/badbom8.rdf
+++ b/jena-core/testing/arp/i18n/badbom8.rdf
@@@ -1,34 -1,34 +1,34 @@@
--\ufeff<?xml version="1.0" encoding="iso-8859-1"?>
--<!--
-- Copyright World Wide Web Consortium, (Massachusetts Institute of
-- Technology, Institut National de Recherche en Informatique et en
-- Automatique, Keio University).
--
-- All Rights Reserved.
--
-- Please see the full Copyright clause at
-- <http://www.w3.org/Consortium/Legal/copyright-software.html>
--
-- $Id: test001.rdf,v 1.1.1.1 2002/12/19 19:37:12 bwm Exp $
---->
--<!--
--
-- Assumed base URI:
--
--http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test001.rdf
--
-- Description:
--
-- The rdf:resource attribute means that the value of this property element
-- is a resource.
--
---->
--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-- xmlns:random="http://random.ioctl.org/#">
--
--<rdf:Description rdf:about="http://random.ioctl.org/#bar">
-- <random:someProperty rdf:resource="http://random.ioctl.org/#foo" />
--</rdf:Description>
--
--</rdf:RDF>
--
++\ufeff<?xml version="1.0" encoding="iso-8859-1"?>
++<!--
++ Copyright World Wide Web Consortium, (Massachusetts Institute of
++ Technology, Institut National de Recherche en Informatique et en
++ Automatique, Keio University).
++
++ All Rights Reserved.
++
++ Please see the full Copyright clause at
++ <http://www.w3.org/Consortium/Legal/copyright-software.html>
++
++ $Id: test001.rdf,v 1.1.1.1 2002/12/19 19:37:12 bwm Exp $
++-->
++<!--
++
++ Assumed base URI:
++
++http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test001.rdf
++
++ Description:
++
++ The rdf:resource attribute means that the value of this property element
++ is a resource.
++
++-->
++<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
++ xmlns:random="http://random.ioctl.org/#">
++
++<rdf:Description rdf:about="http://random.ioctl.org/#bar">
++ <random:someProperty rdf:resource="http://random.ioctl.org/#foo" />
++</rdf:Description>
++
++</rdf:RDF>
++
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/arp/i18n/bom8.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/arp/i18n/bom8.rdf
index 2ad477f,2ad477f..e8fd930
--- a/jena-core/testing/arp/i18n/bom8.rdf
+++ b/jena-core/testing/arp/i18n/bom8.rdf
@@@ -1,33 -1,33 +1,33 @@@
--\ufeff<!--
-- Copyright World Wide Web Consortium, (Massachusetts Institute of
-- Technology, Institut National de Recherche en Informatique et en
-- Automatique, Keio University).
--
-- All Rights Reserved.
--
-- Please see the full Copyright clause at
-- <http://www.w3.org/Consortium/Legal/copyright-software.html>
--
-- $Id: test001.rdf,v 1.1.1.1 2002/12/19 19:37:12 bwm Exp $
---->
--<!--
--
-- Assumed base URI:
--
--http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test001.rdf
--
-- Description:
--
-- The rdf:resource attribute means that the value of this property element
-- is a resource.
--
---->
--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-- xmlns:random="http://random.ioctl.org/#">
--
--<rdf:Description rdf:about="http://random.ioctl.org/#bar">
-- <random:someProperty rdf:resource="http://random.ioctl.org/#foo" />
--</rdf:Description>
--
--</rdf:RDF>
--
++\ufeff<!--
++ Copyright World Wide Web Consortium, (Massachusetts Institute of
++ Technology, Institut National de Recherche en Informatique et en
++ Automatique, Keio University).
++
++ All Rights Reserved.
++
++ Please see the full Copyright clause at
++ <http://www.w3.org/Consortium/Legal/copyright-software.html>
++
++ $Id: test001.rdf,v 1.1.1.1 2002/12/19 19:37:12 bwm Exp $
++-->
++<!--
++
++ Assumed base URI:
++
++http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test001.rdf
++
++ Description:
++
++ The rdf:resource attribute means that the value of this property element
++ is a resource.
++
++-->
++<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
++ xmlns:random="http://random.ioctl.org/#">
++
++<rdf:Description rdf:about="http://random.ioctl.org/#bar">
++ <random:someProperty rdf:resource="http://random.ioctl.org/#foo" />
++</rdf:Description>
++
++</rdf:RDF>
++
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/arp/i18n/i18nID.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/arp/i18n/i18nID.rdf
index 2f52c51,2f52c51..e1955de
--- a/jena-core/testing/arp/i18n/i18nID.rdf
+++ b/jena-core/testing/arp/i18n/i18nID.rdf
@@@ -1,26 -1,26 +1,26 @@@
--<?xml version="1.0" encoding="iso-8859-1"?>
--<!--
--
--Sourceforge bug 984001
--
--http://sourceforge.net/tracker/?func=detail&aid=984001&group_id=40417&atid=430288
--
--
--
-- This file is iso-8859-1 encoded, and is the samne as the companion file.
-- ENTITY eacute CDATA "é" - latin small letter e with acute,
-- U+00E9 ISOlat1
-- escaped UTF-8 of '\ufffd' is %C3%A9
--
-- '\ufffd' in ISO-8859-1 is 0xFC
--ڀ is an arabic number sign.
--
--Note: this file fails to reproduce the reported bug.
--
---->
--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-- >
--
-- <rdf:Description rdf:ID="\ufffdgڀb\ufffdr" rdf:value="foo"/>
--
--</rdf:RDF>
++<?xml version="1.0" encoding="iso-8859-1"?>
++<!--
++
++Sourceforge bug 984001
++
++http://sourceforge.net/tracker/?func=detail&aid=984001&group_id=40417&atid=430288
++
++
++
++ This file is iso-8859-1 encoded, and is the samne as the companion file.
++ ENTITY eacute CDATA "é" - latin small letter e with acute,
++ U+00E9 ISOlat1
++ escaped UTF-8 of '\ufffd' is %C3%A9
++
++ '\ufffd' in ISO-8859-1 is 0xFC
++ڀ is an arabic number sign.
++
++Note: this file fails to reproduce the reported bug.
++
++-->
++<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
++ >
++
++ <rdf:Description rdf:ID="\ufffdgڀb\ufffdr" rdf:value="foo"/>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/arp/xml-prop.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/arp/xml-prop.rdf
index 6047724,6047724..96067de
--- a/jena-core/testing/arp/xml-prop.rdf
+++ b/jena-core/testing/arp/xml-prop.rdf
@@@ -1,6 -1,6 +1,6 @@@
--<?xml version="1.0" encoding="utf-8"?>
--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-- <rdf:Description rdf:about="http://example.org/Test">
-- <xml:property rdf:resource="http://example.org/Value" />
-- </rdf:Description>
++<?xml version="1.0" encoding="utf-8"?>
++<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
++ <rdf:Description rdf:about="http://example.org/Test">
++ <xml:property rdf:resource="http://example.org/Value" />
++ </rdf:Description>
</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/ontology/list0.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/ontology/list0.rdf
index 2bbe1a6,2bbe1a6..1a1c6ef
--- a/jena-core/testing/ontology/list0.rdf
+++ b/jena-core/testing/ontology/list0.rdf
@@@ -1,20 -1,20 +1,20 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/ontology/list1.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/ontology/list1.rdf
index 5c62e6d,5c62e6d..e402b1f
--- a/jena-core/testing/ontology/list1.rdf
+++ b/jena-core/testing/ontology/list1.rdf
@@@ -1,21 -1,21 +1,21 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/ontology/list2.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/ontology/list2.rdf
index 5746ff1,5746ff1..2ec558c
--- a/jena-core/testing/ontology/list2.rdf
+++ b/jena-core/testing/ontology/list2.rdf
@@@ -1,22 -1,22 +1,22 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- <rdf:Description rdf:ID="b" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ <rdf:Description rdf:ID="b" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/ontology/list3.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/ontology/list3.rdf
index 70c5dc8,70c5dc8..004777f
--- a/jena-core/testing/ontology/list3.rdf
+++ b/jena-core/testing/ontology/list3.rdf
@@@ -1,23 -1,23 +1,23 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- <rdf:Description rdf:ID="b" />
-- <rdf:Description rdf:ID="c" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ <rdf:Description rdf:ID="b" />
++ <rdf:Description rdf:ID="c" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/ontology/list4.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/ontology/list4.rdf
index 4ad6644,4ad6644..c4d7ecd
--- a/jena-core/testing/ontology/list4.rdf
+++ b/jena-core/testing/ontology/list4.rdf
@@@ -1,24 -1,24 +1,24 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- <rdf:Description rdf:ID="b" />
-- <rdf:Description rdf:ID="c" />
-- <rdf:Description rdf:ID="d" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ <rdf:Description rdf:ID="b" />
++ <rdf:Description rdf:ID="c" />
++ <rdf:Description rdf:ID="d" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-core/testing/ontology/list5.rdf
----------------------------------------------------------------------
diff --cc jena-core/testing/ontology/list5.rdf
index 7bbaff0,7bbaff0..d0d573b
--- a/jena-core/testing/ontology/list5.rdf
+++ b/jena-core/testing/ontology/list5.rdf
@@@ -1,25 -1,25 +1,25 @@@
--<?xml version='1.0' encoding='ISO-8859-1'?>
--
--<!DOCTYPE rdf:RDF [
-- <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-- <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
--]>
--
--<rdf:RDF
-- xmlns:rdf ="&rdf;"
-- xmlns:rdfs ="&rdfs;"
-- xml:base ="uri:urn:x-rdf:test"
-- xmlns ="uri:urn:x-rdf:test#"
-->
--
--<rdf:Description rdf:ID="root">
-- <p rdf:parseType="Collection">
-- <rdf:Description rdf:ID="a" />
-- <rdf:Description rdf:ID="b" />
-- <rdf:Description rdf:ID="c" />
-- <rdf:Description rdf:ID="d" />
-- <rdf:Description rdf:ID="e" />
-- </p>
--</rdf:Description>
--
--</rdf:RDF>
++<?xml version='1.0' encoding='ISO-8859-1'?>
++
++<!DOCTYPE rdf:RDF [
++ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
++ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
++]>
++
++<rdf:RDF
++ xmlns:rdf ="&rdf;"
++ xmlns:rdfs ="&rdfs;"
++ xml:base ="uri:urn:x-rdf:test"
++ xmlns ="uri:urn:x-rdf:test#"
++>
++
++<rdf:Description rdf:ID="root">
++ <p rdf:parseType="Collection">
++ <rdf:Description rdf:ID="a" />
++ <rdf:Description rdf:ID="b" />
++ <rdf:Description rdf:ID="c" />
++ <rdf:Description rdf:ID="d" />
++ <rdf:Description rdf:ID="e" />
++ </p>
++</rdf:Description>
++
++</rdf:RDF>