Hi Rupert,
thanks for your answer. I will be travelling as well soon.
The important thing are the mapping between the entities. Adding
properties should be straigthforward.
I have some questions:
1.
fise:extractedFrom should actually be nif:referenceContext if between
TextAnnotation and nif:Context and some other property, when between
EntityAnnotation and Context/ContentItem.
Ideally, we would model this with an OWL property chain. Together with
Giuseppe Rizzo and Raphael Troncy, we made a draft here, page 5 section
4.2:
http://events.linkeddata.org/ldow2012/papers/ldow2012-paper-02.pdf
This is a general feature: being able to query annotations on a
ContentItem level.
The idea in the paper was to have dc:relation and then infer
fise:extractedFrom as a shortcut for queries.
This would probably be an acceptable solution for Stanbol, or do you
require fise:extractedFrom to be materialized in RDF output.
I created an issue here:
https://github.com/NLP2RDF/persistence.uni-leipzig.org/issues/3
2. issue is created here:
https://github.com/NLP2RDF/persistence.uni-leipzig.org/issues/4
It seems to me that we might be able to reuse an existing property, if
an entity uri is given. Instead of creating a new property, we can just
define one to be reused in the NIF specification:
"In case, enity uri is given rdfs:label should/must be used. "
Is it the case, that you do require so many shortcut properties? Is it
to avoid joins in SPARQL queries?
Trade-off is additional triples or additional query patterns (please
excuse any syntax errors ):
with shortcut
Select ?label {
?s a nif:EntityAnnotation .
?s fise:entity-label ?label .
}
or alternatively (all three possible):
Select ?label {
?s a nif:EntityAnnotation .
?s itsrdf:taIdentRef ?entity .
?entity rdfs:label ?label .
}
or
Select ?labels {
?s a nif:EntityAnnotation .
?s dc:relation ?string .
?string a nif TextAnnotation .
?string nif:anchorOf ?label .
}
or even very generic, using http://www.w3.org/TR/sparql11-query/#func-substr
(no extra property needed)
Select ?labels {
?s a nif:EntityAnnotation .
?s dc:relation ?string .
?string a nif:TextAnnotation , nif:RFC5147String .
?string nif:beginIndex ?b .
?string nif:endIndex ?e .
?string nif:referenceContext ?contentItem .
?contentItem nif:isString ?text .
BIND (SUBSTR (?text, ?b, (?e - ?b) ) as ?label ) .
}
Thanks for the feedback,
Sebastian
Am 10.07.2013 12:43, schrieb Rupert Westenthaler:
Hi Sebastian,
Thanks for all your effort Sebastian!
Sorry for my late response, but I am traveling this and the next week.
So I do not have enough time to properly look into this. At least I
had the change to have a look at the mappings [4]. I will try to
provide some initial feedback with this mail.
### The fise:entity-label
regarding the comment:
# ??? not sure about fise:entity-label
# This should be dbpedia:London rdfs:label "London"@en ;
#
# fise:entity-label
# a owl:DatatypeProperty ;
# rdfs:comment "the label(s) of the referenced Entity"@en ;
# rdfs:domain :EntityAnnotation .
This property is intended to hold the label of the entity that best
matched the mention in the text. It is not always the case that this
will be the rdfs:label. This depends on the ontology used by suggested
Entity. Labels might also come from multiple properties (e.g. in the
case of SKOS where both skos:prefLabel, skos:altLabel do hold label
information)
In addition the fise:entity-type and fise:entity-label values are
intended to be used for visualization purposes in cases where the
client does not dereference the linked (fise:entity-reference) entity.
### None FISE namespace properties
I would also like to mention that the Stanbol Enhancement Structure
also uses some DC Type properties (e.g. fise:EntityAnntoation do use
dot:relation to link to the fise:TextAnnotation) (see [9] for a figure
and [10] for the full documentation). AFAIU those none fise namespace
properties are not included in the current mapping.
best
Rupert
[9]
http://stanbol.apache.org/docs/trunk/components/enhancer/enhancementstructure.png
[10]
http://stanbol.apache.org/docs/trunk/components/enhancer/enhancementstructure.html
On Mon, Jul 8, 2013 at 12:35 PM, Sebastian Hellmann
<hellm...@informatik.uni-leipzig.de> wrote:
Good News Everyone!
Yesterday, I had a more detailed look at the FISE Ontology[1], which is
supposed to provide an output format for Apache Stanbol [2]. After a while I
found out that they fit together without major problems, so I went ahead and
created a merging proposal! The NIF Core Ontology [3] is now dually licensed
under CC-By 3.0 and Apache 2.0 to ease integration.
The NIF inf model ([4], line 92) documents the mapping from NIF-Core to
Fise. One minor problem is that FISE uses xsd:int and not
xsd:nonNegativeInteger for indices.
The mapping is complete except for the (probably unnecessary)
fise:entity-label.
(cross posting to Stanbol and NLP2RDF list)
Due to this merger, the creation of a release candidate for NIF 2.0 is
coming along quite well now. The seven properties/classes (Context, String,
isString, RFC5147String, endIndex, beginIndex, referenceContext) at the core
are already stable.
We included a lot of people in the attribution section[5] as well, but the
list is not yet exhaustive. Also there is a NIF validator software and a
logging ontology.
The Validator uses SPARQL 1.1 to produce log output adhering to the logging
ontology.
* Jar for CLI (no webservice yet) [6]
* Readme [7]
* The SPARQL queries [8]
Please feel free to:
* download the validator and test it on your NIF implementation to see what
changed
* check if we spelled your name correctly ;) in the attribution section [5].
* Please also tell us whether we should add your logo in the
maintainer/supporter section
* check and extend the ontology and write some additional SPARQL queries[8]
Since we moved to GitHub now, we are also eager to give out push
permissions....
All the best,
Sebastian
[1] http://fise.iks-project.eu/ontology/
[2] http://stanbol.apache.org/
[3]
https://github.com/NLP2RDF/persistence.uni-leipzig.org/blob/master/ontologies/nif-core/version-1.0/nif-core.ttl
[4]
https://github.com/NLP2RDF/persistence.uni-leipzig.org/blob/master/ontologies/nif-core/version-1.0/nif-core-inf.ttl#L92
[5] http://persistence.uni-leipzig.org/nlp2rdf/#attribution
[6] https://github.com/NLP2RDF/java-maven/raw/master/validate.jar
[7]
https://github.com/NLP2RDF/java-maven/blob/master/README.md#nif-validator
[8]
https://github.com/NLP2RDF/java-maven/tree/master/core/jena/src/main/resources/sparqltest
--
On holidays from 11. July until 3. August
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
Events:
* NLP & DBpedia 2013 (http://nlp-dbpedia2013.blogs.aksw.org, Extended
Deadline: *July 18th*)
* LSWT 23/24 Sept, 2013 in Leipzig (http://aksw.org/lswt)
Venha para a Alemanha como PhD: http://bis.informatik.uni-leipzig.de/csf
Projects: http://nlp2rdf.org , http://linguistics.okfn.org ,
http://dbpedia.org/Wiktionary , http://dbpedia.org
Homepage: http://bis.informatik.uni-leipzig.de/SebastianHellmann
Research Group: http://aksw.org
_______________________________________________
NLP2RDF mailing list
nlp2...@lists.informatik.uni-leipzig.de
http://lists.informatik.uni-leipzig.de/mailman/listinfo/nlp2rdf
--
On holidays from 11. July until 3. August
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
Events:
* NLP & DBpedia 2013 (http://nlp-dbpedia2013.blogs.aksw.org, Extended
Deadline: *July 18th*)
* LSWT 23/24 Sept, 2013 in Leipzig (http://aksw.org/lswt)
Venha para a Alemanha como PhD: http://bis.informatik.uni-leipzig.de/csf
Projects: http://nlp2rdf.org , http://linguistics.okfn.org ,
http://dbpedia.org/Wiktionary , http://dbpedia.org
Homepage: http://bis.informatik.uni-leipzig.de/SebastianHellmann
Research Group: http://aksw.org