Excuse the top-post. You can brutal about it in SPARQL 1.0 and use filter regex. Something like : . FILTER ( regex( str(?p), "/http:\/\/xmlns\.com\/foaf/") ) It is kinda nasty, but will do the trick! Mischa Sent on the move On Aug 12, 2011, at 5:55 PM, Andy Seaborne <andy.seaborne@epimorphics.com> wrote: > > > On 12/08/11 17:36, Jitao Yang wrote: >> Dear all, >> >> suppose we have DATA: >> >> @prefix foaf: <http://xmlns.com/foaf/0.1/> . >> >> _:a foaf:name "Johnny Lee Outlaw" . >> _:a foaf:mbox <mailto:jlow@example.com <mailto:jlow@example.com>> . >> _:b foaf:name "Peter Goodguy" . >> _:b foaf:mbox <mailto:peter@example.org <mailto:peter@example.org>> . >> _:c foaf:mbox <mailto:carol@example.org <mailto:carol@example.org>> . >> >> >> can we write a SPARQL query like: >> >> PREFIX foaf: <http://xmlns.com/foaf/0.1/> >> SELECT *?property* >> >> WHERE{ >> ?x foaf:*?property* "Peter Goodguy". >> } >> >> if we can not, can we write an equivalent SPARQL query? Namely, can we >> decompose schema and Class(or Property) in SPARQL query? >> >> Thanks, >> Jitao > > SPARQL 1.1: > > PREFIX foaf: <http://xmlns.com/foaf/0.1/> > SELECT ( substr( str(?p), strlen(str(foaf:))+1 ) > AS ?property) > > WHERE{ > ?x ?p "Peter Goodguy". > } > > > > In SPARQL 1.0, you can't return anything not already in the graph : in SPARQL 1.1 you can do some manipulation of RDF terms. > > Because SUBSTR is fn:substring, indexes are 1-based. > > Andy >Received on Friday, 12 August 2011 17:22:14 UTC
This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:25 UTC