SPARQL查询:筛选2000年后生产且带dbr前缀的汽车品牌
符合需求的SPARQL查询方案
完整查询语句
PREFIX schema: <https://schema.org/> PREFIX dbr: <http://dbpedia.org/resource/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX ex: <https://example.org/resource/> SELECT DISTINCT ?brand WHERE { # 匹配车辆与对应的品牌(覆盖运动型/实用型两类车辆的品牌关联属性) ?vehicle ex:Deportivo|ex:Utilitario ?brand ; # 确保车辆存在发动机属性 schema:Motor ?motor ; # 获取车辆生产日期 schema:dateManufactured ?manufactureDate . # 筛选带有dbr:前缀的品牌资源 FILTER(STRSTARTS(STR(?brand), STR(dbr:))) # 筛选生产日期晚于2000年的车辆 FILTER(?manufactureDate > "2000-12-31"^^xsd:date) }
查询逻辑说明
- 关联车辆与品牌:通过
ex:Deportivo和ex:Utilitario两个属性,匹配所有车辆对应的品牌资源 - 强制发动机属性存在:
schema:Motor ?motor确保只保留有发动机信息的车辆 - 精准筛选dbr前缀品牌:用
STRSTARTS替代CONTAINS,避免误匹配包含dbr链接片段的其他资源,确保品牌是dbr命名空间下的资源 - 生产日期筛选:通过xsd:date类型比较,只保留2000年12月31日之后生产的车辆
预期查询结果
根据提供的RDF数据,查询会返回以下3个品牌:
dbr:Ford(对应Mustang、Fiesta两款符合条件的车辆)dbr:Peugeot(对应206车型)dbr:Ferrari(对应California、Enzo两款车型)
内容的提问来源于stack exchange,提问作者Josepiedehierroa
相关产品推荐
相关产品推荐

