Hello everybody, i'm having a problem with the entityhubLinking engine.
I refactored my vocabulary so that the type is no longer specified by the
"rdf:type" predicate but by the "edfAcronyme:type", then configured the
"type field" parameter of the engine to the full URI of "edfAcronyme". But
in the rdf answer, there is no entity-type field. Actually, some
EntityAnnotations have en entity-type and some others don't.
Here is an excerpt of the rdf describing my refactored entity (curling the
managed site where it is stored):
<rdf:RDF
*xmlns:j.1="http://www.edf.fr/EdfAcronyme.owl#"*>
<rdf:Description rdf:about="http://www.edf.fr/EdfAcronyme.owl#EMI">
*<j.1:type rdf:resource="http://www.edf.fr/EdfAcronyme.owl#Acronyme"/>*
</rdf:Description>
</rdf:RDF>
here is a piece of the text used to enhance:
"Monsieur Machin Groupe EMI: cellule performance EDF"
here is an excerpt of the rdf i get as the output - EntityAnnotation with
"entity-type":
<rdf:Description
rdf:about="urn:enhancement-1f443226-3f8b-aee9-ab31-6ca9a34dbaae">
<j.4:extracted-from
rdf:resource="urn:content-item-sha1-ad1d782269ed8e2ea5c4cd7bf8ff8997cd745327"/>
<j.4:confidence
rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0</j.4:confidence>
<j.4:entity-type rdf:resource="http://www.edf.fr/EdfAcronyme.owl#Acronyme"/>
<rdf:type
rdf:resource="http://fise.iks-project.eu/ontology/EntityAnnotation"/>
<rdf:type rdf:resource="http://fise.iks-project.eu/ontology/Enhancement"/>
<j.4:entity-label>EMI</j.4:entity-label>
<j.2:created
rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-08-02T10:02:28.668Z</j.2:created>
<j.2:creator
rdf:datatype="http://www.w3.org/2001/XMLSchema#string">org.apache.stanbol.enhancer.engines.entitylinking.engine.EntityLinkingEngine</j.2:creator>
<j.4:entity-reference rdf:resource="http://www.edf.fr/EdfAcronyme.owl#EMI"/>
<j.3:site>EDFAcronymeMS</j.3:site>
<j.2:relation
rdf:resource="urn:enhancement-cfd996c5-b949-8698-36ea-80d22902bfcf"/>
</rdf:Description>
and now in the same result, EntityAnnotation without "entity-type",
for the same entity:
<rdf:Description
rdf:about="urn:enhancement-52cdf80e-64ed-9f1c-c4bb-6a2d222f732d">
<j.4:extracted-from
rdf:resource="urn:content-item-sha1-ad1d782269ed8e2ea5c4cd7bf8ff8997cd745327"/>
<j.4:confidence
rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0</j.4:confidence>
<rdf:type
rdf:resource="http://fise.iks-project.eu/ontology/EntityAnnotation"/>
<rdf:type rdf:resource="http://fise.iks-project.eu/ontology/Enhancement"/>
<j.4:entity-label>EMI</j.4:entity-label>
<j.2:created
rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-08-02T10:02:28.659Z</j.2:created>
<j.2:creator
rdf:datatype="http://www.w3.org/2001/XMLSchema#string">org.apache.stanbol.enhancer.engines.entitylinking.engine.EntityLinkingEngine</j.2:creator>
<j.4:entity-reference rdf:resource="http://www.edf.fr/EdfAcronyme.owl#EMI"/>
<j.3:site>EDFImplantationMS</j.3:site>
<j.2:relation
rdf:resource="urn:enhancement-cfd996c5-b949-8698-36ea-80d22902bfcf"/>
</rdf:Description>
Just for your information, the engine does spot another entity, "EDF", but
no EntityAnnotation with an "entity-type" field. Here it is :
<rdf:Description
rdf:about="urn:enhancement-8c54a60d-9854-f1bf-476d-07402c6dd90b">
<j.4:extracted-from
rdf:resource="urn:content-item-sha1-ad1d782269ed8e2ea5c4cd7bf8ff8997cd745327"/>
<j.4:confidence
rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0</j.4:confidence>
<rdf:type
rdf:resource="http://fise.iks-project.eu/ontology/EntityAnnotation"/>
<rdf:type rdf:resource="http://fise.iks-project.eu/ontology/Enhancement"/>
<j.4:entity-label>EDF</j.4:entity-label>
<j.2:created
rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-08-02T10:02:28.660Z</j.2:created>
<j.2:creator
rdf:datatype="http://www.w3.org/2001/XMLSchema#string">org.apache.stanbol.enhancer.engines.entitylinking.engine.EntityLinkingEngine</j.2:creator>
<j.4:entity-reference
rdf:resource="http://www.semanticweb.org/ontologies/2012/EDFimplantation.owl#EDF"/>
<j.3:site>EDFImplantationMS</j.3:site>
<j.2:relation
rdf:resource="urn:enhancement-1df9ca88-f6db-8394-878f-dc566f048a80"/>
</rdf:Description>
Here is part of the config of my engine :
enhancer.engines.linking.labelField="rdfs:label"
enhancer.engines.linking.typeField="http://www.edf.fr/EdfAcronyme.owl#type"
stanbol.enhancer.engine.name="EDFAcronymeMSLinking"
And now the config of the chain:
stanbol.enhancer.chain.weighted.chain=["langdetect","opennlp-sentence","opennlp-token","opennlp-pos","EDFAcronymeMSLinking"]
just to be sure i don't reference the wrong linking engine
Hope that helps you, either finds where i made a mistake, or a
potential bug in the engine.
Best Regards, Joseph