2014-11-26 2 views
1

У меня есть онтология для фильмов, и я использую OWL-API, и я добавил к ней некоторых людей. Я хочу добавить некоторые аннотации, которые я определил. Я нашел здесь, как я могу добавить ярлык к индивидууму по этой ссылке. [How to add rdfs:label to OWLIndividual via OWLAPI?Добавьте мою определенную аннуляцию человеку в owl

но я хочу добавить свою собственную определенную аннотацию вместо rdfs: ярлык, например, я хочу добавить rdfs: Movie_Name. ожидаемые результаты, как следует:

<!-- http://www.daml.org/2003/01/movienight/movienight#Fury --> 

    <owl:NamedIndividual rdf:about="http://www.daml.org/2003/01/movienight/movienight#Fury"> 
     <rdf:type  rdf:resource="http://www.daml.org/2003/01/movienight/movienight/Movies_Genre#Action"/> 
     <rdf:type rdf:resource="http://www.daml.org/2003/01/movienight/movienight/Movies_Genre#Drama"/> 
     <rdfs:label>April, 1945. As the Allies make their final push in the European Theatre, a battle-hardened army sergeant named Wardaddy commands a Sherman tank and his five-man crew on a deadly mission behind enemy lines. Out-numbered, out-gunned, and with a rookie soldier thrust into their platoon, Wardaddy and his men face overwhelming odds in their heroic attempts to strike at the heart of Nazi Germany.</rdfs:label> 
     <rdfs:Movie_Name>Fury</rdfs:Movie_Name> 
     <rdfs:Directed_By> David Ayer</rdfs:Directed_By> 
     <rdfs:Year_of_production>2014</rdfs:Year_of_production> 
     <rdfs:Stars> Brad Pitt, Shia LaBeouf, Logan Lerman</rdfs:Stars> 
     <rdfs:Country>USA</rdfs:Country> 
    </owl:NamedIndividual> 

Код, который у меня есть копия ссылки выше выглядят следующим образом:

OWLAnnotation Movie_Name = 
    factory.getOWLAnnotation( 
    factory.getOWLAnnotationProperty(OWLRDFVocabulary.RDFS_LABEL.getIRI()), lbl); 
     OWLAxiom axiomAA =  factory.getOWLAnnotationAssertionAxiom(Cast.asOWLNamedIndividual().getIRI(), label); 
manager.applyChange(new AddAxiom(ontology, axiom)); 

Любой помощь с этим высоко ценятся.

Благодаря

ответ

1

Для того, чтобы использовать любое свойство аннотаций вы хотите использовать этот фрагмент кода выше должен быть изменен следующим образом:

OWLAnnotation Movie_Name = factory.getOWLAnnotation( 
factory.getOWLAnnotationProperty(IRI.create("full iri for your property here")), lbl); 
OWLAxiom axiomAA = factory.getOWLAnnotationAssertionAxiom(Cast.asOWLNamedIndividual().getIRI(), label); 
manager.applyChange(new AddAxiom(ontology, axiom)); 
+0

Большое спасибо @lgnazio работает сейчас :). – easy

Смежные вопросы