You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GraphDB导入RDF图谱报错:Prolog中不允许包含内容

解决GraphDB导入RDF Turtle的解析错误

错误原因分析

你遇到的Content is not allowed in prolog错误,核心问题是代码使用了非标准Turtle语法,同时存在格式错误:

  1. 用了类似JSON-LD的大括号分组(:moviesInfo {...}),这不是Turtle支持的语法;
  2. 引号使用HTML转义字符",Turtle无法识别;
  3. 部分三元组主语延续的语法错误,导致解析器无法识别主语;
  4. 若文件带UTF-8 BOM(字节顺序标记),也会导致开头出现非法字符触发错误。

修正后的完整Turtle代码

@prefix : <http://buchmann.ro#>. 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>. 

#some movie directors
:JamesCameron   :directorOf :Avatar, :Terminator;
                :hasName "James Cameron".
:JohnMcT        :directorOf :Predator, :DieHard;
                :hasName "John McTiernan";
                :birthInfo  [   :birthDate "1951-01-08"^^xsd:date;
                                :birthPlace :USA].
:McG            :directorOf _:somemovie;
                :hasName "Joseph McGinty";
                :hasNickname "McG".
:TimBurton      :directorOf :Batman;
                :hasName "Tim Burton";
                :birthPlace :USA.

#some movie actors
:SamWorth       :hasName "Sam Worthington";
                :playedIn _:somemovie;
                :playedTheRole [:asCharacter :JakeSully;
                                :inMovie :Avatar].
:Arnold         :playedIn :Terminator, :Predator;
                :wasGovernorOf :California;
                :hasName "Arnold Schwarzenegger";
                :birthInfo [:birthDate "1947-07-10"^^xsd:date;
                            :birthPlace :Austria].
:LindaH         :hasName "Linda Hamilton";
                :playedTheRole [:asCharacter :SarahConnor;
                                :inMovie :Terminator].
:JackNicholson  :playedIn :Batman;
                :hasName "Jack Nicholson".

#this guy is both actor and director
:ShBlack        :playedIn :Predator;
                :hasName "Shane Black";
                :directorOf :KKBB.

#some movies
:Batman         :hasTitle "Batman".
:Terminator     :hasTitle "Terminator";
                :hasBudget 6400000 .
:Avatar         :hasTitle "Avatar";
                :hasBudget 237000000 .
:DieHard        :hasTitle "Die Hard".
:Predator       :hasTitle "Predator";
                :hasBudget 18000000 .
:KKBB           :hasTitle "Kiss Kiss Bang Bang";
                :hasBudget 15000000 .
_:somemovie     :hasBudget 200000000 .

#some movie characters
:JakeSully      :hasName "Jake Sully".
:SarahConnor    :hasName "Sarah Connor".

#some countries/states
:California     :partOf :USA;
                :hasName "California"@en, "Californie"@fr.
:Austria        :hasName "Austria"@en, "Autriche"@fr.
:USA            :hasName "United States of America"@en, "Etats Unis d'Amerique"@fr.

关键修正点说明

  • 移除:moviesInfo和:geoInfo的大括号分组:Turtle通过前缀、空白行组织数据,不需要大括号;
  • 替换&quot;为英文双引号":Turtle只识别原生引号,HTML转义字符会被判定为非法内容;
  • 修正主语延续语法:同一主语的后续谓语需缩进对齐,用分号;连接,最后用句号.结束三元组;
  • 检查文件编码:保存时选择UTF-8无BOM格式,避免开头出现隐藏非法字符。

导入验证

将修正后的代码保存为.ttl文件,在GraphDB中选择Turtle格式导入即可正常解析。

内容的提问来源于stack exchange,提问作者Sven Alexander Gal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:54:53