- From: Luke Steller <Luke.Steller@infotech.monash.edu.au>
- Date: Mon, 11 Sep 2006 23:17:41 +1000
- To: public-owl-dev@w3.org
Hello All, I have a set of Individuals of RDF:type #Service. And I have a set of Invididuals of RDF:type #Location. Each #Service individual is links to one #Location individual via a property called 'hasLocation'. Its inverse is 'LocationOf'. Using ARQ is there a way to select a set of services in one column and the service's Location in another column - when you only know the URIs #Service and #Location or some other complex class which could have been defined earlier? In order words can we generate the query using class URIs and predefined RDF/OWL URIs, without knowing the property URIs (hasLocation and LocationOf)? What I really want is something like this: ?x RDF:type #Service ?y RDF:type #Location ?y RDF:type locationFor.Service ^ locationFor.{?x} (where { } is a 'hasValue' statement, but instead of containing the URI of a literal it contains an ARQ variable) Put another way, I want access to both variables in the statement, rather than just the role filler. EG: ?x RDF:type #Service ?x hasLocation.(Location ^ hasCoordinates.Coordinates) ?y ?y RDF:type #Coordinates The reason Im asking, is because i want to build up more complex single statements for defining relations/predicates between two Individuals/facts. If this were FOL, I would have a statement like: forall(x, y, z) Service (x) ^ hasLocation(x, y) ^ Location(y) ^ hasCoordinates(y, z) ^ Coordinates(z) Then I would want to extract each x and z variable pair and do something with them. I suppose this kind of thing is not possible in DL? Is it perhaps rules (eg SWRL) that I should be looking at & then using this in conjunction with ARQ? Thanks for any comments! -- Luke Steller PhD Candidate Faculty of Information Technology Monash University A U S T R A L I A =============================
Received on Monday, 11 September 2006 13:17:51 UTC