Hi Gary, Would you be able to use owl:equivalentProperty via a ruleset in your environment?
If so, you could add fibo:FullPhoneNumber owl:equivalentProperty fibo:CUPHONE . fibo:FullPhoneNumber owl:equivalentProperty fibo:Telephone . fibo:FullPhoneNumber owl:equivalentProeprty fibo:TEL-TYPE-1 . to your INSERT DATA statement and then query for just one of the properties. Examples 3 and 4 in https://developer.marklogic.com/features/semantics/inference-examples have the full syntax for doing this with owl:equivalentProperty. If you don't have an environment that would allow that, there should be a way to reproduce the reasoning in RDF / sparql only as well. Best Regards, Beverly Jamison On Sat, Apr 9, 2016 at 2:28 PM, Gary Russo <[email protected]> wrote: > What Combination SPARQL Query should be used to query phone numbers from > documents where field names vary? > > I'd like to used triples to do the field mapping. > > The following triples are may be used to map the various phone number > fields > to dom:phone. > > PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> > PREFIX fibo: <http://example.com/fibo/> > PREFIX dom: <http://example.com/products/> > > INSERT DATA > { > GRAPH <http://example.com/field-mappings-1> > { > fibo:FullPhoneNumber rdf:type dom:phone . > fibo:CUPHONE rdf:type dom:phone . > fibo:Telephone rdf:type dom:phone . > fibo:TEL-TYPE-1 rdf:type dom:phone . > } > } > > > Here are the 3 XML documents that use different field names for a telephone > number. > > /party/1001.xml > > <fibo:Party xmlns:aptp="http://example.com/fibo"> > <fibo:Source>SystemA</fibo:Source> > <fibo:Customer>Xerox</fibo:Customer> > <fibo:Created>2016-02-26</fibo:Created> > <fibo:LastModified>2016-02-26</fibo:LastModified> > <fibo:Person> > <fibo:FullName>Grace Hopper</fibo:FullName> > <fibo:FullPhoneNumber>11-301-555-1212</fibo:FullPhoneNumber> > <fibo:city>Sunnyvale</fibo:city> > <fibo:state>California</fibo:state> > </fibo:Person> > </fibo:Party> > > > /party/1002.xml > > <fibo:Party xmlns:aptp="http://example.com/fibo"> > <fibo:Source>SystemB</fibo:Source> > <fibo:Customer>Apple</fibo:Customer> > <fibo:Created>2016-02-26</fibo:Created> > <fibo:LastModified>2016-02-26</fibo:LastModified> > <fibo:Person> > <fibo:FullName>Marissa Mayer</fibo:FullName> > <fibo:CUPHONE>11-301-555-4444</fibo:CUPHONE> > <fibo:city>Los Angeles</fibo:city> > <fibo:state>California</fibo:state> > </fibo:Person> > </fibo:Party> > > > /party/1003.xml > > <fibo:Party xmlns:aptp="http://example.com/fibo"> > <fibo:Source>SystemC</fibo:Source> > <fibo:Customer>Microsoft</fibo:Customer> > <fibo:Created>2016-02-26</fibo:Created> > <fibo:LastModified>2016-02-26</fibo:LastModified> > <fibo:Person> > <fibo:FullName>Sheryl Sandberg</fibo:FullName> > <fibo:Telephone type="1">301-555-1212</fibo:Telephone> > <fibo:city>Redmond</fibo:city> > <fibo:state>Washington</fibo:state> > </fibo:Person> > </fibo:Party> > > > What query should be used to retrieve the phone numbers for all 3 documents > using the field mapping triples noted above? > > Any thoughts/advice on this is much appreciated. > > Regards, > Gary Russo > > > > _______________________________________________ > General mailing list > [email protected] > Manage your subscription at: > http://developer.marklogic.com/mailman/listinfo/general >
_______________________________________________ General mailing list [email protected] Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
