0

I want to query an .owl remotely using the IRIs provided in another .owl file. For example:

The base file:

<rdf:Description  rdf:about="https://example.com/data/syst1.owl#syst1"> <hasSub rdf:resource="https://example.com/data/sub1.owl#sub1"/>.
<rdf:Description  rdf:about="https://example.com/data/syst1.owl#syst1"> <hasSub rdf:resource="https://example.com/data/sub2.owl#sub2"/>.
...
<rdf:Description  rdf:about="https://example.com/data/syst1.owl#syst1"> <hasSub rdf:resource="https://example.com/data/subn.owl#subn"/>.

The file with information I want to query (https://example.com/data/subx.owl for an arbitrary x):

<rdf:Description  rdf:about="https://example.com/data/subx.owl#subx"> <hasProp rdf:resource="https://example.com/data/propx.owl#propx"/>

Say I want to get propx, how do I write the query? In blazegraph, I tried something along the line of:

SELECT ?prop

WHERE {
  ?syst hasSub ?entity.
  
  SERVICE <IRI(?entity)> {
    ?entity hasProp ?prop
  }
}

However, this just queries my base .owl file and hence, does not return anything. Is there something I missed here?

  • doesn't `SERVICE` officially expect a proper remote SPARQL HTTP service? I mean, the keyword was introduced for federated querying, I don't thin it works on arbitrary files on storage? Indeed, modulo some custom features of the SPARQL endpoint you're using here with Blazegraph, but I doubt the standard assumes files as a SPARQL remote service – UninformedUser Mar 03 '23 at 20:14

0 Answers0