In your data, rex:relationship isn't the super property of anything so
?pred rdfs:subPropertyOf* rex:relationship
isn't going to match anything except directly rex:relationship.
Andy
On 30/12/10 00:10, Benson Margulies wrote:
The following query seems to hate rex:hasNormalizedText triples that
aren't matched by the initial clause. That is, if we have
x hasNormalizedText "taliban"
x sameAs y
y hasNormalizedText "foo"
all the tuples with y in the subject are returned EXCEPT the
hasNormalizedText tuple. Data follows at bottom.
PREFIX rex:<http://www.basistech.com/ontologies/2010/6/rex.owl#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX x-arq:<urn:x-arq:>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
CONSTRUCT{
?s ?p ?o .
?root ?p ?o .
?root rex:root "true"
}
WHERE
{
{ ?root rex:hasNormalizedText "Taliban" }
UNION
{ ?root rex:hasNormalizedText "Taliban" .
?s (owl:sameAs|^owl:sameAs)* ?root .
}
UNION
{
?root rex:hasNormalizedText "Taliban" .
?root ?pred ?s .
?pred rdfs:subPropertyOf* rex:relationship .
}
UNION
{
?root rex:hasNormalizedText "Taliban" .
?root (owl:sameAs|^owl:sameAs)* ?t .
?t ?pred ?s .
?pred rdfs:subPropertyOf* rex:relationship .
}
UNION
{
?root rex:hasNormalizedText "Taliban" .
?root ?pred ?t .
?pred rdfs:subPropertyOf* rex:relationship .
?t (owl:sameAs|^owl:sameAs)* ?s .
}
?root ?p ?o .
?s ?p ?o .
}
------------- data ----------------
@prefix x-arq:<urn:x-arq:> .
@prefix :<http://www.basistech.com/ontologies/2010/6/rex.owl#> .
@prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#> .
@prefix rex:<http://www.basistech.com/ontologies/2010/6/rex.owl#> .
@prefix owl:<http://www.w3.org/2002/07/owl#> .
@prefix xsd:<http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
<uri:jug:x#notIndia>
a rex:Location ;
rex:hasNormalizedText
"Not India" .
<uri:jug:taliban#1>
a rex:Organization ;
<http://www.basistech.com/ontologies/2010/12/rules#locatedAt>
<uri:jug:pakistan#1> ;
rex:hasNormalizedText
"Taliban" ;
owl:sameAs<uri:jug:taliban#2> ,<uri:jug:staliban#1> ,
<uri:jug:taliban#3> .
rdfs:label
a owl:AnnotationProperty .
rex:LatitudeLongitude
a owl:Class ;
rdfs:subClassOf rex:GeoLocation .
rex:Nationality
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:hasCustomEntityType
a owl:DatatypeProperty ;
rdfs:comment "This property is set on entity references that are
tagged with a user-defined type."^^xsd:string ;
rdfs:subPropertyOf owl:topDataProperty .
rex:hasNormalizedText
a owl:DatatypeProperty ;
rdfs:comment "Normalized text of an entity reference"^^xsd:string ;
rdfs:subPropertyOf owl:topDataProperty .
rex:EntityReference
a owl:Class ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onDataRange xsd:string ;
owl:onProperty rex:hasEntityDetectionSource ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onDataRange xsd:string ;
owl:onProperty rex:hasContainingDocument ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onDataRange xsd:string ;
owl:onProperty rex:hasOriginalText ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:maxQualifiedCardinality
"1"^^xsd:nonNegativeInteger ;
owl:onDataRange xsd:string ;
owl:onProperty rex:hasCustomEntityType
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onDataRange xsd:string ;
owl:onProperty rex:hasNormalizedText ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
] .
rdfs:comment
a owl:AnnotationProperty .
<http://www.basistech.com/ontologies/2010/12/rules#locatedAt>
rdfs:subClassOf rex:relationship .
rex:Location
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:GeoLocation
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:CreditCardNumber
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:Date
a owl:Class ;
rdfs:subClassOf rex:Temporal .
<uri:jug:taliban#2>
a rex:Organization ;
<http://www.basistech.com/ontologies/2010/12/rules#locatedAt>
<uri:jug:x#someplace> ;
rex:hasNormalizedText
"Taliban" .
<uri:jug:x#someplace>
a rex:Location ;
rex:hasNormalizedText
"Someplace Else" .
<uri:jug:pakistan#1>
a rex:Location ;
rex:hasNormalizedText
"Pakistan" ;
rex:hasOriginalText "Pakistan" ;
owl:sameAs<uri:jug:x#notIndia> .
rex:Religion
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:hasContainingDocument
a owl:DatatypeProperty ;
rdfs:comment "A reference to the URI of the document where
something was discovered."@en ;
rdfs:subPropertyOf owl:topDataProperty .
rex:hasOriginalText
a owl:DatatypeProperty ;
rdfs:comment "The original text of a reference."^^xsd:string ;
rdfs:subPropertyOf owl:topDataProperty .
rex:relationship
a owl:ObjectProperty ;
rdfs:comment "All the relationships in the jape rules are set up
to be sub-properties of this."@en ;
rdfs:subPropertyOf owl:topObjectProperty .
rex:Number
a owl:Class ;
rdfs:subClassOf rex:Quantity .
rex:UTM
a owl:Class ;
rdfs:subClassOf rex:GeoLocation .
rex:USA_SSN
a owl:Class ;
rdfs:subClassOf rex:PersonalIdNumber .
rex:URL
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:Time
a owl:Class ;
rdfs:subClassOf rex:Temporal .
[] a owl:AllDisjointClasses ;
owl:members (rex:CreditCardNumber rex:Date rex:Distance
rex:DomainName rex:Email rex:Facility rex:FaxNumber rex:GeoLocation
rex:IPAddress rex:Identifier rex:LatitudeLongitude rex:Location
rex:Money rex:Nationality rex:Organization rex:Percent rex:Person
rex:PersonalIdNumber rex:Quantity rex:Religion rex:TelephoneNumber
rex:Temporal rex:URL rex:USA_SSN rex:UTM rex:Vehicle rex:Weapon) .
[] a [ a owl:Restriction ;
owl:onDataRange xsd:string ;
owl:onProperty rex:hasOriginalText ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
] .
rex:Organization
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
<http://www.basistech.com/ontologies/2010/6/rex.owl>
a owl:Ontology ;
rdfs:comment "An ontology for entity references as extracted by
REX, with some base support for relationships."@en .
rex:ruleDataProperty
a owl:DatatypeProperty ;
rdfs:comment "Any data properties discovered in the jape rules
are set up to be subprops of this."@en ;
rdfs:subPropertyOf owl:topDataProperty .
rex:DomainName
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:PersonalIdNumber
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:TelephoneNumber
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:corefLink
a owl:ObjectProperty ;
rdfs:subPropertyOf owl:sameAs .
rex:crossdocCorefLink
a owl:ObjectProperty ;
rdfs:subPropertyOf rex:corefLink .
rex:indocCorefLink
a owl:ObjectProperty ;
rdfs:subPropertyOf rex:corefLink .
<uri:jug:staliban#1>
a rex:Organization ;
<http://www.basistech.com/ontologies/2010/12/rules#locatedAt>
<uri:jug:pakistan#1> ;
rex:hasNormalizedText
"STaliban" .
<uri:jug:afghan#1>
a rex:Location ;
rex:hasNormalizedText
"Afghanistan" ;
rex:hasOriginalText "Afghanistan" .
<uri:jug:taliban#3>
a rex:Organization ;
<http://www.basistech.com/ontologies/2010/12/rules#locatedAt>
<uri:jug:afghan#1> ;
rex:hasNormalizedText
"Taliban" .
rex:Distance
a owl:Class ;
rdfs:subClassOf rex:Quantity .
rex:Money
a owl:Class ;
rdfs:subClassOf rex:Quantity .
<uri:jug:unrelated#1>
a rex:Person ;
rex:hasNormalizedText
"Smith" ;
rex:hasOriginalText "Smif" .
owl:topDataProperty
a owl:DatatypeProperty .
owl:topObjectProperty
a owl:ObjectProperty .
rex:IPAddress
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:Temporal
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:Facility
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:Identifier
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:FaxNumber
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:Vehicle
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:Email
a owl:Class ;
rdfs:subClassOf rex:Identifier .
rex:Quantity
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:hasEntityDetectionSource
a owl:DatatypeProperty ;
rdfs:comment "The source of the reference."^^xsd:string ;
rdfs:subPropertyOf owl:topDataProperty .
rex:Person
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
rex:Weapon
a owl:Class ;
rdfs:subClassOf rex:EntityReference .
[] a [ a owl:Restriction ;
owl:onDataRange xsd:string ;
owl:onProperty rex:hasNormalizedText ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
] .
rex:Percent
a owl:Class ;
rdfs:subClassOf rex:Quantity .
owl:sameAs
a owl:ObjectProperty .