NTriplesParser 从字符串中提取文本值
NTriplesParser extract textual value from string
我正在使用 dotnetrdf 并尝试使用 NTriplesParser 解析一些三元组。我有自己的处理程序 RobHandler,我在其中依次处理每个三元组。
public class RobHandler : BaseRdfHandler
{
protected override bool HandleTripleInternal(Triple t)
{
string predicateUrl = ((BaseUriNode)(t.Predicate)).Uri.AbsoluteUri;
string value = t.Object.ToString();
}
}
这很好用,但我想得到减去语言的对象。我的对象看起来像 "Lincoln"@en。我显然可以编写一些代码来删除 @en 位,但我宁愿使用一些库代码而不是我自己的硬编码字符串,如 @en。为此,我想我需要创建一个 LiteralNode,但似乎没有办法从我拥有的字符串(我的变量值)到 LiteralNode。
如何只从对象字符串中提取文本值?
其实我觉得我自己有答案:
if (t.Object.NodeType == NodeType.Literal)
{
var node = (ILiteralNode)t.Object;
}
我正在使用 dotnetrdf 并尝试使用 NTriplesParser 解析一些三元组。我有自己的处理程序 RobHandler,我在其中依次处理每个三元组。
public class RobHandler : BaseRdfHandler
{
protected override bool HandleTripleInternal(Triple t)
{
string predicateUrl = ((BaseUriNode)(t.Predicate)).Uri.AbsoluteUri;
string value = t.Object.ToString();
}
}
这很好用,但我想得到减去语言的对象。我的对象看起来像 "Lincoln"@en。我显然可以编写一些代码来删除 @en 位,但我宁愿使用一些库代码而不是我自己的硬编码字符串,如 @en。为此,我想我需要创建一个 LiteralNode,但似乎没有办法从我拥有的字符串(我的变量值)到 LiteralNode。
如何只从对象字符串中提取文本值?
其实我觉得我自己有答案:
if (t.Object.NodeType == NodeType.Literal)
{
var node = (ILiteralNode)t.Object;
}