获取DBPedia的所有(荷兰)房产,包括前缀

时间:2016-05-16 12:32:03

标签: python sparql dbpedia

我必须创建一个Q& A系统,我可以使用SPARQL和DBpedia回答问题。目前,我必须使用不存在的属性对DBpedia进行许多无用的查询。我试图获取所有属性并将其放在一个txt文件中,但是我没有得到它的前缀。

我的SPARQL查询如下:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "io.atlanticlab.pubnubmaptracker"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

            // Enabling multidex support.
            multiDexEnabled true

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),     'proguard-rules.pro'
        }
        debug {
            debuggable true
        }
    }
}

dependencies {
    //compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'com.pubnub:pubnub-android-debug:3.7.10'
    compile 'com.pubnub:pubnub-android:3.7.10'
}

repositories {
    mavenCentral()
}

其中select distinct str(COALESCE(?property2, ?property)) as ?property where { ?instance a <%s> . ?instance ?property ?obj . OPTIONAL{?property rdfs:label ?property2} } 是从DBpedia获得的标签的链接(我使用Python执行此操作),如下所示:

s

我从查询中获得的输出(CSV)是:

"http://dbpedia.org/ontology/Amphibian"
"http://dbpedia.org/ontology/AmusementParkAttraction"
"http://dbpedia.org/ontology/AnatomicalStructure"
"http://dbpedia.org/ontology/Animal"

我希望包含前缀,例如:

  • "prijzengeld loopbaan ($)" "Verluste" "casualties" "pertes" "verliezen" "Kategorie" "categorie"
  • prop-nl:

特别是dbpedia-owl:非常重要,因为我必须使用荷兰语属性名称。

1 个答案:

答案 0 :(得分:2)

?属性(在其中部分查询中)是URI;这就是你真正想要的,不是吗?人类可读的前缀,如“prop-nl”,“dbpedia-owl”等,只是某些文本的缩写。并且DBpedia实际上更改了一些预定义的,因此dbpedia-owl:foo曾用于公共端点,但现在却没有;你必须使用dbo:foo。但<http://dbpedia.org/ontology/foo>总能奏效。

但如果这就是你想做的事,你可以在SPARQL query to get all class label with namespace prefix defined

找到答案