RDF / XML с использованием Jena - PullRequest
2 голосов
/ 14 июля 2011

Как я могу сгенерировать следующий RDF / XML, используя Jena?

<rdfs:Class rdf:about="http://example.com/A#B">
    <rdfs:subClassOf>
            <rdfs:Class rdf:about="http://example.com/A" />
     </rdfs:subClassOf>
        <rdf:Property rdf:about="http://example.com/C">
            <rdfs:range rdf:resource="http://example.com/A" />
        </rdf:Property>
</rdfs:Class>   

Ответы [ 3 ]

9 голосов
/ 14 июля 2011

В Интернете есть много уроков по Джене.Однако то, что вы просите, довольно просто.Вот одно из решений:

package example;

import com.hp.hpl.jena.ontology.*;
import com.hp.hpl.jena.rdf.model.ModelFactory;

class RdfXmlExample {
    public static void main( String[] args ) {
        new RdfXmlExample().run();
    }

    public void run() {
        OntModel m = ModelFactory.createOntologyModel( OntModelSpec.RDFS_MEM );
        String NS = "http://example.com/test#";

        OntClass a = m.createClass( NS + "A" );
        OntClass b = m.createClass( NS + "B" );

        a.addSubClass( b );

        OntProperty c = m.createOntProperty( NS + "c" );
        c.addRange( a );

        m.write( System.out, "RDF/XML-ABBREV" );
    }
}

, которое дает:

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <rdfs:Class rdf:about="http://example.com/test#B">
    <rdfs:subClassOf>
      <rdfs:Class rdf:about="http://example.com/test#A"/>
    </rdfs:subClassOf>
  </rdfs:Class>
  <rdf:Property rdf:about="http://example.com/test#c">
    <rdfs:range rdf:resource="http://example.com/test#A"/>
  </rdf:Property>
</rdf:RDF>
1 голос
/ 27 мая 2015

@ Ответ Яна Дикинсона точен.Если вы хотите записать этот вывод в файл, вы можете использовать эту строку вместо

 m.write( new FileWriter("some-file.owl"), "RDF/XML-ABBREV" );

. Затем вы можете просмотреть этот файл либо через Protege, либо через WebVowl.

0 голосов
/ 14 февраля 2012

Код + объяснение

  • Учебное пособие по Jena RDF API
  • Учебное пособие по SPARQL
  • Обзор API по онтологии

http://incubator.apache.org/jena/getting_started/index.html

Приличное место для начала с Джены.

...