在耶拿为 RDF 生成 URI

发布于 2024-12-08 22:23:23 字数 352 浏览 0 评论 0原文

我在 Jena 中以编程方式生成 RDF 文件,即当我在 rdf(实例)中插入数据时,我需要有一个唯一的 URI(它将引用资源),有点像 RDBMS 中的主键。我想知道在耶拿是否可以像我为实例创建资源一样可以生成 URI?

示例:

Resource resAnswer = ModelCreation.md.createResource(RDFResourcesURI.Answer_Resource_URI + answer.getAnswer_id());

--这里我对answer_id进行硬编码(或用户输入),然后附加到预定义的URI。我可以生成它而不是硬编码(如 mysql 中的自动增量)吗?

I am generating an RDF file programmatically in Jena i.e. when I am inserting data in the rdf (instances) i need to have an unique URI (which will refer to the resource), somewhat like primary key in rdbms. I want to know is it posiible to do in Jena like when I will create Resource for an instance I can generate the URI ?

Example :

Resource resAnswer = ModelCreation.md.createResource(RDFResourcesURI.Answer_Resource_URI + answer.getAnswer_id());

-- here I am hardcoding (or user input) the answer_id and then appending to a predefined URI. Instead of hardcoding can I generate it (like auto increment in mysql ) ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

对你的占有欲 2024-12-15 22:23:23

UUID 有一个 URI 方案 http://www.ietf.org/rfc/rfc4122.txt,因此您可以使用它将 UUID 转换为 URI,egeg urn:uuid:2238b240-f3eb-11e0-be50-0800200c9a66

或者,您可以将 UUID 附加到某个前缀,例如 http://my.example/id/2238b240-f3eb-11e0-be50-0800200c9a66

如果您希望能够使其可解析,基于 HTTP 的一次性 URI 会很好。

There's a URI scheme for UUIDs http://www.ietf.org/rfc/rfc4122.txt, so you can use that to turn UUIDs into URIs, e.g. e.g. urn:uuid:2238b240-f3eb-11e0-be50-0800200c9a66

Alternatively you can just append the UUID to some prefix, e.g. http://my.example/id/2238b240-f3eb-11e0-be50-0800200c9a66

HTTP based onetime URIs are good if you want to be able to make it resolvable.

把回忆走一遍 2024-12-15 22:23:23

如果您只想要唯一的 ID,您可以使用类似 UUID.randomUUID()UUID.fromString(name)

UUID is in java.util

If you want just unique ID, you may use something like UUID.randomUUID() or UUID.fromString(name)

UUID is in java.util package

抱着落日 2024-12-15 22:23:23

我使用 URN 来标识我的 RDF 资源,因为 URL 并没有增加太多价值,因为我没有发布我的资源。 Jena 库可以以 URN 的形式生成 UUID

scala> import com.hp.hpl.jena.shared.uuid.JenaUUID
import com.hp.hpl.jena.shared.uuid.JenaUUID

scala> val resourceURN = JenaUUID.generate().asURN()
resourceURN: String = urn:uuid:0a9ac70c-2ad1-11b2-8012-10ddb1d60524

I use URN's for identifying my RDF resources as URL's add not much value since I'm not publishing my resources. There's a Jena library to generate UUID in the form of URN's.

scala> import com.hp.hpl.jena.shared.uuid.JenaUUID
import com.hp.hpl.jena.shared.uuid.JenaUUID

scala> val resourceURN = JenaUUID.generate().asURN()
resourceURN: String = urn:uuid:0a9ac70c-2ad1-11b2-8012-10ddb1d60524
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文