列结果意外返回任何内容

Column result unexpectedly returning nothing

有一个 SPARQL 查询 return 对 Airport_Name 毫无意义,但我认为它应该如此。

 PREFIX nas: <https://data.nasa.gov/ontologies/atmonto/NAS#>
 PREFIX gen: <https://data.nasa.gov/ontologies/atmonto/general#>


SELECT *
WHERE{
{
{SELECT ?Airport_Name{
    ?Airport rdf:type nas:Airport ;
    nas:airportName ?Airport_Name .
    }
}

}UNION{
    ?Location rdf:type gen:PointLocation;
    gen:longitude ?X ;
    gen:latitude ?Y .

}


?Location rdf:type gen:PointLocation;
gen:longitude ?X ;
gen:latitude ?Y .
FILTER (?X > -80 && ?X < -64 && ?Y > 18 && ?Y < 32)

}

预期结果应 return LocationXYAirport_Name

当我尝试在底部 return Airport_Name 时,Location 列显示为空白,所以我不确定哪里做错了。如果有人能指出我正确的方向,那将不胜感激。

您的查询有几个问题,正确的查询如下所示。

查询

SELECT  *
WHERE
  { ?airport  rdf:type/rdfs:subClassOf*  nas:Airport ;
              nas:airportName      ?Airport_Name ;
              nas:airportLocation  ?location .
    ?location  gen:longitude       ?X ;
               gen:latitude        ?Y
    FILTER ( ?X > "-80"^^xsd:float && ?X < "-64"^^xsd:float && ?Y > "18"^^xsd:float && ?Y < "32"^^xsd:float )
  }

结果(样本 LIMIT 10

--------------------------------------------------------------------------------------------------------------------------
| airport         | Airport_Name                | location            | X                       | Y                      |
==========================================================================================================================
| nas:MYEMairport | "Governors Harbour"         | nas:MYEMcoordinates | "-76.330178"^^xsd:float | "25.283586"^^xsd:float |
| nas:MDPCairport | "Punta Cana Intl"           | nas:MDPCcoordinates | "-68.366186"^^xsd:float | "18.570781"^^xsd:float |
| nas:MUGTairport | "Mariana Grajales"          | nas:MUGTcoordinates | "-75.158333"^^xsd:float | "20.085278"^^xsd:float |
| nas:MDSTairport | "Cibao Intl"                | nas:MDSTcoordinates | "-70.604689"^^xsd:float | "19.406092"^^xsd:float |
| nas:MYLSairport | "Stella Maris"              | nas:MYLScoordinates | "-75.268778"^^xsd:float | "23.583047"^^xsd:float |
| nas:MBNCairport | "North Caicos"              | nas:MBNCcoordinates | "-71.939658"^^xsd:float | "21.917486"^^xsd:float |
| nas:MUMOairport | "Orestes Acosta"            | nas:MUMOcoordinates | "-74.922222"^^xsd:float | "20.653889"^^xsd:float |
| nas:MYRPairport | "New Port Nelson"           | nas:MYRPcoordinates | "-74.836186"^^xsd:float | "23.684378"^^xsd:float |
| nas:MYEGairport | "George Town"               | nas:MYEGcoordinates | "-75.781670"^^xsd:float | "23.466667"^^xsd:float |
| nas:MUBYairport | "Carlos Manuel De Cespedes" | nas:MUBYcoordinates | "-76.621389"^^xsd:float | "20.396389"^^xsd:float |
--------------------------------------------------------------------------------------------------------------------------

请注意,查询使用 属性 路径 rdf:type/rdfs:subClassOf*,只有在您还加载了 ontology (NAS.ttl) 时才有效。 属性 路径是必需的,因为实例数据 (airportInst.ttl) 使用 nas:Airport 的子类,如 nas:InternationAirportnas:CanadianAirport.