有没有用N3/Turtle本体语言创建类的快捷方式



以下是我在N3:中创建类的方法

:Person a rdfs:Class.

以下是如何指定特定的资源是该类的实例:

:Pat a :Person.

问题:我想创建一个包含20000多个实例(通过编程生成)的类。为我的20000个实例编写整个:Pat a :Person.会使本体文件变得冗长。

问题:是否有办法缩小文件?

如果你真的在使用N3而不是Turtle(我对此表示怀疑),你可以使用@is ... @of关键字,比如:

:Person  a  rdfs:Class;
    @is a @of  :Pat, :Bob, :Chris, :Cindy, :Suzy .

几乎没有任何Turtle工具包允许这样做。

关于public-rdf-comments@w3.org邮件档案关于将此功能添加到Turtle(目前由W3C作为最后一次调用工作草案发布),从Tim Berners-Lee的评论开始。然后Dave Beckett发表了一条评论,要求而不是包括该功能,并再次发布了一条长文。然后,当前RDF工作组Turtle规范的编辑Gavin Carothers对这些立场进行了很好的总结。

然而,当Turtle最终被标准化时,我怀疑这是否会成为它的一个特点。

顺便说一句,当20000条记录全部以编程方式生成(我想是解析的)时,有什么问题?如果你需要在网络上交换这么多数据,你可以很容易地对其进行大量压缩。或者,您可以使用像HDT这样的紧凑串行化语法,但实现方式很少。

您可以为完整的类URI定义一个自定义前缀,然后只使用前缀来引用类:

@prefix : <http://example.com/myOntology#>.
@prefix x: <http://example.com/myOntology#MyClass>.
:Alice a x: .
:Bob a x: .
:Charlie a x: .

这并不完全可读,但尽可能简短。

我同意安托万的观点,认为这种欺骗没有什么意义。磁盘空间很便宜,而且这种东西可以很好地压缩网络传输,而且在应用程序中进行处理时,它无论如何都会扩展。

相关内容

  • 没有找到相关文章

最新更新