Search by name in rdf / n3 file

I need to do some filtering on the turtle / n 3 file, returning another file of the same type. The main data element (location) I'm working on is this:

:pt0001
     vcard:category "Poste e Telegrafi"
    ; vcard:fn "Ufficio Bologna 1"
    ; vcard:extended-address "Via Cairoli 9, Bologna BO, Italy"
    ; vcard:latitude "44.504192"
    ; vcard:longitude "11.338661"
    ; vcard:tel "051 243425"
    ; vcard:fax "051 244459"
    ; cs:opening "Mon, Tue, Wed, Thu, Fri: 0800-1330. Sat: 0800-1230."
    ; cs:closing "01-01, 01-06, P, LA, 04-25, 05-01, 06-02, 08-15, 11-01, 12-08, 12-25, 12-26: .".

I want, for example, to search for elements (ptxxxx) that have a specific name or latitude or category. I was already asked to use the construct in the query to extract the triples from rdf, so I can add them to the new / rdf graph that I create. The fact is that if I filter triples to search by (case insensitive) name using the regular expression filter function, I get only one triple, which determines in this case the name that I was looking for. Is it possible to search for an object (ptxxxx) whose name (predicate) is "Ufficio Bologna 1" (object), for example?

+1
2

:

CONSTRUCT {?s ?p ?o}
        WHERE {
                ?s ?p ?o;
                vcard:fn ?name.
                FILTER regex (?name ,"^ufficio bologna 1$", "i")
                }
+3

, , :

describe ?s where { ?s vcard:fn "Ufficio Bologna 1". }

, ,

describe ?s where { ?s vcard:fn ? name. filter (regex(?name, "regex goes here")). }

, . SPARQL, , .

+4

All Articles