use of edu.stanford.bmir.protege.web.shared.frame.NamedIndividualFrame in project webprotege by protegeproject.
the class GetNamedIndividualFrameActionHandler method execute.
@Nonnull
@Override
public GetNamedIndividualFrameResult execute(@Nonnull GetNamedIndividualFrameAction action, @Nonnull ExecutionContext executionContext) {
NamedIndividualFrame frame = translator.getFrame(renderingManager.getRendering(action.getSubject()));
String rendering = renderingManager.getShortForm(action.getSubject());
LabelledFrame<NamedIndividualFrame> labelledFrame = new LabelledFrame<>(rendering, frame);
logger.info(BROWSING, "{} {} retrieved NamedIndividual frame for {} ({})", action.getProjectId(), executionContext.getUserId(), action.getSubject(), labelledFrame.getDisplayName());
return new GetNamedIndividualFrameResult(labelledFrame);
}
use of edu.stanford.bmir.protege.web.shared.frame.NamedIndividualFrame in project webprotege by protegeproject.
the class NamedIndividualFrameEditor method getValue.
@Override
public Optional<LabelledFrame<NamedIndividualFrame>> getValue() {
GWT.log("[NamedIndividualFrameEditor] Get value: Dirty: " + isDirty() + " Edited frame: " + editedFrame);
if (!editedFrame.isPresent()) {
return Optional.empty();
}
PropertyValueList propertyValueList = assertions.getValue().get();
Set<OWLClassData> rawTypes = getRawTypes();
Set<OWLNamedIndividualData> sameAs = getRawSameAs();
NamedIndividualFrame reference = new NamedIndividualFrame(editedFrame.get().getFrame().getSubject(), rawTypes, propertyValueList, sameAs);
return Optional.of(new LabelledFrame<>(editedFrame.get().getDisplayName(), reference));
}
use of edu.stanford.bmir.protege.web.shared.frame.NamedIndividualFrame in project webprotege by protegeproject.
the class NamedIndividualFrameTranslator method translateToNamedIndividualFrame.
private NamedIndividualFrame translateToNamedIndividualFrame(OWLNamedIndividualData subject) {
Set<OWLAxiom> relevantAxioms = getRelevantAxioms(subject.getEntity());
NamedIndividualFrame.Builder builder = new NamedIndividualFrame.Builder(subject);
for (OWLAxiom axiom : relevantAxioms) {
if (axiom instanceof OWLClassAssertionAxiom) {
OWLClassAssertionAxiom ax = (OWLClassAssertionAxiom) axiom;
if (ax.getIndividual().equals(subject.getEntity()) && !ax.getClassExpression().isAnonymous()) {
builder.addClass(rm.getRendering(ax.getClassExpression().asOWLClass()));
}
}
}
List<PropertyValue> propertyValues = new ArrayList<>();
for (OWLAxiom axiom : relevantAxioms) {
AxiomPropertyValueTranslator translator = new AxiomPropertyValueTranslator();
propertyValues.addAll(translator.getPropertyValues(subject.getEntity(), axiom, rootOntology, State.ASSERTED, rm));
}
for (OWLOntology ont : rootOntology.getImportsClosure()) {
for (OWLClassAssertionAxiom ax : ont.getClassAssertionAxioms(subject.getEntity())) {
if (!ax.getClassExpression().isAnonymous()) {
OWLClass type = (OWLClass) ax.getClassExpression();
ClassFrameTranslator classFrameTranslator = translatorProvider.get();
ClassFrame classFrame = classFrameTranslator.getFrame(rm.getRendering(type));
for (PropertyValue propertyValue : classFrame.getPropertyValues()) {
// Bit yucky
if (!propertyValue.isAnnotation()) {
propertyValues.add(propertyValue.setState(State.DERIVED));
}
}
}
}
}
propertyValues = propertyValueMinimiser.minimisePropertyValues(propertyValues);
propertyValues.sort(propertyValueComparator);
builder.addPropertyValues(propertyValues);
for (OWLOntology ont : rootOntology.getImportsClosure()) {
for (OWLSameIndividualAxiom sameIndividualAxiom : ont.getSameIndividualAxioms(subject.getEntity())) {
final Set<OWLIndividual> individuals = sameIndividualAxiom.getIndividuals();
for (OWLIndividual ind : individuals) {
if (!ind.isAnonymous() && !ind.equals(subject.getEntity())) {
builder.addSameIndividual(rm.getRendering(ind.asOWLNamedIndividual()));
}
}
}
}
return builder.build();
}
Aggregations