Каков предполагаемый способ ссылки на URN в RDF?

Я хочу смоделировать инструкцию RDF/XML о публикации (в пространстве имен, скажем, "myns" ). Я знаю, что эта публикация известна под данным URN. Каков метод propper для ссылки на URN в RDF? Я могу придумать несколько способов сделать это, например:

<myns:Publication rdf:about="item42">
    <myns:urn>urn:abc:xy:123-456789</myns:urn>
</myns:Publication>

<myns:Publication rdf:about="item42">
    <rdfs:seeAlso>urn:abc:xy:123-456789</rdfs:seeAlso>
</myns:Publication>

<myns:Publication rdf:about="item42">
    <owl:sameAs>urn:abc:xy:123-456789</owl:sameAs>
</myns:Publication>

<myns:Publication rdf:about="item42">
    <owl:sameAs rdf:reference="urn:abc:xy:123-456789" />
</myns:Publication>

Каков правильный (то есть самый полезный) способ предоставления ссылки URN?

+3
источник поделиться
1 ответ

Во-первых, вы захотите ссылаться на спецификацию RDF/XML, но в целом то, что вы ищете, это атрибут rdf: resource, например:

<owl:sameAs rdf:resource="urn:abc:xy:123-456789"/>

Однако вы никогда не должны создавать RDF/XML вручную. Каждый инструментарий, о котором я знаю, предоставляет какое-то представление объектов RDF Graph и сериализаторов для различных форматов RDF, которые обрабатывают подобные вещи для вас.

Я бы предположил, что вы используете Java, и в этом случае вы должны смотреть на Jena или Sesame при написании приложения. Если вы используете .Net, вы должны посмотреть dotNetRdf. Другие языки, вероятно, представляют собой смешанную сумку, я знаю, что библиотеки существуют из Python и PHP, но я не использую их достаточно, чтобы иметь хорошее предложение о том, что использовать.

Наконец, не используйте RDF/XML, если у вас нет требования использовать сериализацию RDF на основе XML. Это уродливо и трудно читать, и если вы застряли, делая это вручную, как вам кажется, легко ошибиться. Мое предложение - использовать Turtle, который является гораздо более дружественной к человеку сериализации RDF.

+5
источник

Посмотрите другие вопросы по меткам или Задайте вопрос