- From: Sebastian Hellmann <hellmann@informatik.uni-leipzig.de>
- Date: Thu, 18 Apr 2013 23:41:44 +0200
- To: Dave Lewis <dave.lewis@cs.tcd.ie>
- CC: public-multilingualweb-lt@w3.org, rob brennan <rob.brennan@cs.tcd.ie>
- Message-ID: <51706898.7080709@informatik.uni-leipzig.de>
Hi Dave,
OWL works quite funny, but a little bit unintuitive. Let's see an
example based on http://xmlns.com/foaf/spec/#term_homepage
*Note* I attached a small list of changes, which should be made at the
end, please don't overlook ;)
Another small note: "rdfs:property" -> "rdf:Property"
In the example, we will always consider the following triple, which you
can find on http://dbpedia.org/resource/Angela_Merkel , but exchange the
schema.
The triple is:
<http://dbpedia.org/resource/Angela_Merkel> foaf:homepage <http://www.bundeskanzlerin.de/Webs/BK/EN/> .
1. With xsd:anyURI in the schema:
foaf:homepage rdf:type rdf:Property ;
rdfs:range xsd:anyURI .
The triple would say, that Angela's homepage is a 41 character long URI:
<http://dbpedia.org/resource/Angela_Merkel> foaf:homepage "http://www.bundeskanzlerin.de/Webs/BK/EN/" .
I am absolutely not sure how datatypes are validated by parsers and how
parser will react to malformed URIs . Not sure, if they enforce
anything. I have also never seen this variant anywhere in use.
inferred triples:
# none
2. With rdfs:Resource:
foaf:homepage rdf:type rdf:Property ;
rdfs:range rdfs:Resource .
The object *must* be valid URI according to the RDF spec and also
The class resource, everything.
according to http://www.w3.org/2000/01/rdf-schema#Resource
Also you should use <> again:
<http://dbpedia.org/resource/Angela_Merkel> foaf:homepage <http://www.bundeskanzlerin.de/Webs/BK/EN/> .
3. with owl:ObjectProperty:
foaf:homepage rdf:type owl:ObjectProperty .
Also the object *must* be a valid URI, otherwise the parser will give a
warning.
Being an ObjectProperty *implies* that
<http://www.bundeskanzlerin.de/Webs/BK/EN/> is an owl:Thing , which is
"The class of OWL individuals.", a rather technical definition. This
could be anything, including a web site or homepage. Not that this is
not a *requirement*, but it will be *inferred*, if needed.
Inferred:
<http://www.bundeskanzlerin.de/Webs/BK/EN/> rdf:type owl:Thing .
4. Full definition from http://xmlns.com/foaf/0.1/homepage
<rdf:Property rdf:about="http://xmlns.com/foaf/0.1/homepage"
vs:term_status="stable" rdfs:label="homepage" rdfs:comment="A homepage
for some thing.">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
<rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
<rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
<!-- previously: rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent" -->
<rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
<rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
</rdf:Property>
implicit triples expanded:
## by rdfs:domain (actually redundant, b)
<http://dbpedia.org/resource/Angela_Merkel> rdf:type owl:Thing .
# previously (old rdf:sdomain)
# <http://dbpedia.org/resource/Angela_Merkel> rdf:type foaf:Agent .
## by rdfs:range
<http://www.bundeskanzlerin.de/Webs/BK/EN/> rdf:type owl:Thing .
<http://www.bundeskanzlerin.de/Webs/BK/EN/> rdf:type foaf:Document .
## by superproperties:
<http://dbpedia.org/resource/Angela_Merkel> foaf:page <http://www.bundeskanzlerin.de/Webs/BK/EN/> .
<http://dbpedia.org/resource/Angela_Merkel> foaf:isPrimaryTopicOf <http://www.bundeskanzlerin.de/Webs/BK/EN/> .
### some more are omitted
This goes very much down to the basics and I really hope that I got
everything correct.
Some notes, which hopefully do not get overead
1. taClassRef should be an annotation property
There is one more small change, which I also used for some of the NIF
properties and was requested by Stanbol.
<http://www.w3.org/2005/11/its/rdf#taClassRef> rdf:type owl:AnnotationProperty .
Whenever the Object is supposed to be an owl:Class, it can not per
definition be an owl:Thing . Making taClassRef an AnnotationProperty
makes all reasoners ignore it and nothing will be inferred.
2. Actually, you might want to consider to add rdfs:label and
rdfs:comment and to add language tags to "comments"@en and translate
them to several language. (this is fine tuning however)
3. other ontologies use rdfs:isDefinedBy , I find this rather strange
with ontologies that use the '#'
<http://www.w3.org/2002/07/owl#AllDifferent> rdfs:isDefinedBy
<http://www.w3.org/2002/07/owl#> .
It is kind of self-explanatory.
All the best,
Sebastian
Am 17.04.2013 17:14, schrieb Dave Lewis:
> Felix, Sebastian,
>
> I'm not sure I follow the reasoning behind this change. I've tried to
> outline my concerns below so it would be great if you could clarify
> this for us.
>
> If we assume that any instances following this ontology originally are
> converted from an XML or HTML file with ITS annotation, then there is
> no guarantee that the URIs point to an OWL instance - we don't make
> any such restrictions in the spec. They could just point to a web page
> or a UUID or what ever else makes sense in the context of the original
> file.
>
> My understanding of owl:ObjectProperty however is that it must point
> to an OWL instance, i.e. something that is an instance of an
> owl:Thing, so using the ontology declaration:
>
> itsrdf:taAnnotatorsRef
> a owl:ObjectProperty .
>
> would not actually be true in valid ITS cases where the URI referred
> to a resource that is not an OWL instance.
>
> That was my motivation for specifying this as just:
> :taAnnotatorsRef rdf:type rdfs:property;
> rdfs:range xsd:anyURI .
> since it doesn't preclude either of the owl:DatatypeProperty or the
> owl:ObjectProperty options. I see this as necessary since we won't
> know which one is appropriate without actually de-referencing the URI.
> Perhaps such a check could be a final optional step in the ITS-NIF
> mapping - but its more of an optimisation I think?
>
> cheers,
> Dave
>
>
>
>
>
>
>
>
>
> On 17/04/2013 14:22, Felix Sasaki wrote:
>> Thanks, Sebastian. Is now updated at
>> http://www.w3.org/2005/11/its/rdf-content/its-rdf.rdf
>> Dave, can you check whether this is ok, and if yes, update
>> http://www.w3.org/International/multilingualweb/lt/wiki/ITS-RDF_mapping
>>
>> Thanks,
>>
>> Felix
>>
>> Am 17.04.13 14:54, schrieb Sebastian Hellmann:
>>> Hi Felix,
>>> I had another look at the new version. There is a small, but
>>> important difference between DatatypeProperties and xsd:anyURI, see
>>> here:
>>> http://lists.w3.org/Archives/Public/semantic-web/2010Jul/0395.html
>>> (see Axel Polleres answer)
>>>
>>> In your case however you want to refer to the the rdf:resources, so
>>> anything with xsd:anyURI should be owl:ObjectProperty with no
>>> rdfs:range:
>>> itsrdf:taAnnotatorsRef
>>> a owl:DatatypeProperty ;
>>> rdfs:range xsd:anyURI .
>>>
>>> should be:
>>>
>>> itsrdf:taAnnotatorsRef
>>> a owl:ObjectProperty .
>>>
>>> This implies per definition, that the Object has to be an
>>> rdf:resource and a valid URI. I am not sure, whether xsd:anyURI
>>> covers IRI's as well, but owl:ObjectProperty should be compatible IIRC.
>>>
>>> All the best,
>>> Sebastian
>>>
>>> Am 17.04.2013 12:31, schrieb Felix Sasaki:
>>>> P.S. again: with feedback from Sebastian (thanks a lot for that!),
>>>> I made an update to the ontology. This doesn't influence the
>>>> examples below (at Dave: we need to update the wiki then, if you
>>>> agree).
>>>>
>>>> - Felix
>>>>
>>>>
>>>>
>>>>
>>>> Am 17.04.13 10:36, schrieb Felix Sasaki:
>>>>> Hi Phil,
>>>>>
>>>>> Am 17.04.13 09:31, schrieb Phil Ritchie:
>>>>>> Felix
>>>>>>
>>>>>> Does NIF have wider adoption than RDF?
>>>>>
>>>>> NIF is an RDF based format. That is, the relation betwen NIF and
>>>>> RDF is like between XML and XHTML, or XML and XLIFF.
>>>>>
>>>>> We use NIF in ITS2 to connect ITS information in markup (XML,
>>>>> HTML5) with an RDF representation. See
>>>>>
>>>>> http://www.w3.org/International/multilingualweb/lt/drafts/its20/its20.html#conversion-to-nif
>>>>> and a full example input HTML5 at
>>>>> http://www.w3.org/International/multilingualweb/lt/drafts/its20/its20.html#EX-HTML-whitespace-normalization
>>>>> RDF output using NIF and the ITS2 ontology at
>>>>> http://www.w3.org/International/multilingualweb/lt/drafts/its20/examples/nif/EX-nif-conversion-output.xml
>>>>>
>>>>> The purpose of the ITS2 ontology is not to relate the RDF
>>>>> representation to XML/RDF - NIF does that -, but to identify the
>>>>> ITS2 properties in an RDF manner, that is with RDF predicates.
>>>>>
>>>>> There is an interconnection between NIF and the ITS ontology. See
>>>>> this example generated from a part of
>>>>> http://www.w3.org/International/multilingualweb/lt/drafts/its20/examples/nif/EX-nif-conversion-output.xml
>>>>>
>>>>> <http://example.com/exampledoc.html#char=11,17> nif:anchorOf "Dublin";
>>>>> nif:referenceContext
>>>>> <http://example.com/exampledoc.html#char=0,29>;
>>>>> a nif:RFC5147String;
>>>>> itsrdf:taIdentRef <http://dbpedia.org/resource/Dublin>;
>>>>> itsrdf:translate "no";
>>>>> itsrdf:withinText "yes".
>>>>>
>>>>> This statement
>>>>>
>>>>> <http://example.com/exampledoc.html#char=11,17> nif:anchorOf "Dublin".
>>>>>
>>>>> Relates the HTML5 document with the RDF representation. To ancor
>>>>> this relation in the NIF RDF vocabulary we have this statement
>>>>>
>>>>> <http://example.com/exampledoc.html#char=11,17> a nif:RFC5147String.
>>>>>
>>>>> The actual ITS ontology statements are these three. They have the
>>>>> same subject as the NIF statements above. That creates the
>>>>> forehand mentioned relation between NIF and ITS2.
>>>>> <http://example.com/exampledoc.html#char=11,17> itsrdf:taIdentRef
>>>>> <http://dbpedia.org/resource/Dublin>.
>>>>> <http://example.com/exampledoc.html#char=11,17> itsrdf:translate "no".
>>>>> <http://example.com/exampledoc.html#char=11,17> itsrdf:withinText
>>>>> "yes".
>>>>>
>>>>> Now, if you want to process this in SPARQL asking for all non
>>>>> translatable items you would write something like this:
>>>>>
>>>>> SELECT ?translatableItems
>>>>> WHERE { ?translatableItems
>>>>> <http://www.w3.org/2005/11/its/rdf#translate> "no" }
>>>>>
>>>>> and get as a result
>>>>> http://example.com/exampledoc.html#char=23,30
>>>>> http://example.com/exampledoc.html#char=11,17
>>>>>
>>>>> Does this make sense and would it work for what you have in mind?
>>>>>
>>>>> Best,
>>>>>
>>>>> Felix
>>>>>
>>>>>> I understand from what I've read that it is maybe easier to read,
>>>>>> more compact?
>>>>>>
>>>>>> Phil
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 17 Apr 2013, at 08:22, "Felix Sasaki" <fsasaki@w3.org
>>>>>> <mailto:fsasaki@w3.org>> wrote:
>>>>>>
>>>>>>> Hi Dave, Phil, all,
>>>>>>>
>>>>>>> I have put the ontology on the w3c server. The namespace
>>>>>>> http://www.w3.org/2005/11/its/rdf#
>>>>>>> or
>>>>>>> http://www.w3.org/2005/11/its/rdf#translate
>>>>>>> resolve with 303 "see other" to
>>>>>>> http://www.w3.org/2005/11/its/rdf-content/its-rdf.rdf (in
>>>>>>> RDF/XML version)
>>>>>>> or
>>>>>>> http://www.w3.org/2005/11/its/rdf-content/its-rdf.html
>>>>>>> in the latter we can put some more documentation, but for the
>>>>>>> time being what is here is sufficient.
>>>>>>>
>>>>>>> Can you discuss today whether people would agree with this? Note
>>>>>>> that we then should define the namespace for the ontology also in
>>>>>>> http://www.w3.org/International/multilingualweb/lt/drafts/its20/its20.html#notation
>>>>>>> and this would mean that we reference the ontology normatively.
>>>>>>> If people agree with this, could you give me an action item to
>>>>>>> add the ontology URI during todays call?
>>>>>>>
>>>>>>> Note for all implementers: this wouldn't influence you only if
>>>>>>> you implement the NIF conversion. Currently this is Sebastian
>>>>>>> and I - anybody else?
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Felix
>>>>>>>
>>>>>>> Am 17.04.13 09:04, schrieb Phil Ritchie:
>>>>>>>> Dave
>>>>>>>>
>>>>>>>> I certainly want to work on transforming some Xliff with ITS
>>>>>>>> LQI and Provenance data into RDF so I'd like to chip in with this.
>>>>>>>>
>>>>>>>> I'm not sure I have all of the understanding necessary though -
>>>>>>>> particularly around schema creation and validation.
>>>>>>>>
>>>>>>>> Would it be worthwhile having a conf. call to get on the same
>>>>>>>> page? I should be on today's call so we could chat then.
>>>>>>>
>>>>>>> I would like to participate in that discussion - I can't be on
>>>>>>> the call today. But feel free to to discuss & hopefully we can
>>>>>>> bring up the topic again next week, or on a separate, dedicated
>>>>>>> call - would you be available Phil?
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Felix
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Phil
>>>>>>>> Twitter: philinthecloud
>>>>>>>> Skype: philviathecloud
>>>>>>>>
>>>>>>>>
>>>>>>>> On 17 Apr 2013, at 01:38, "Dave Lewis" <dave.lewis@cs.tcd.ie
>>>>>>>> <mailto:dave.lewis@cs.tcd.ie>> wrote:
>>>>>>>>
>>>>>>>>> Hi Jirka, Felix, Sebastian, all,
>>>>>>>>>
>>>>>>>>> I've updated ITS-RDF ontology as follows:
>>>>>>>>>
>>>>>>>>> 1) I agree with Felix's comment to remove custom XML schema
>>>>>>>>> types for attributes as RDf platforms in general don't
>>>>>>>>> validate against these, instead just specifying the simple XML
>>>>>>>>> schema type as appropriate, e.g. xsd:string, xsd:anyURI,
>>>>>>>>> xsd:decimal, xsd:nonNegativeInteger, xsd:integer
>>>>>>>>>
>>>>>>>>> 2) for data categories with standoff markup I've introduced a
>>>>>>>>> class to allow the correct grouping of indivdual attiributes
>>>>>>>>> to the a specfic item. These calsses are ProvRecord and
>>>>>>>>> LocalizationQualityIssue
>>>>>>>>>
>>>>>>>>> 3) for annotatorsRef I have just introduced individual
>>>>>>>>> attributes for each data categoriy where it applies, namely:
>>>>>>>>> termAnnotatorsRef, taAnnotatorsRef, mtConfidenceAnnotatorsRef
>>>>>>>>>
>>>>>>>>> 4) I've omitted anything related to Ruby
>>>>>>>>>
>>>>>>>>> I believe this is consistent with the NIF related text in the
>>>>>>>>> current draft.
>>>>>>>>>
>>>>>>>>> I've attached the ontology as a Turtle file, and have updated
>>>>>>>>> the same on:
>>>>>>>>> http://www.w3.org/International/multilingualweb/lt/wiki/ITS-RDF_mapping
>>>>>>>>> <http://www.w3.org/International/multilingualweb/lt/wiki/ITS-RDF_mapping#Ontology_.28DRAFT.29>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> If we can firm up on this then I propose documenting it in a
>>>>>>>>> more accessible format as per W3C norms. In addition we will
>>>>>>>>> need some best practice guidance on using this ontology with
>>>>>>>>> at least both NIF and PROV-O. I'm happy to work on these also,
>>>>>>>>> though all other inputs welcome.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Dave
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 29/03/2013 13:37, Jirka Kosek wrote:
>>>>>>>>>> Hi Dave,
>>>>>>>>>>
>>>>>>>>>> on the last telcon I have been tasked to "refresh" and try to move
>>>>>>>>>> forward some issues. Could you please implemented changes below into
>>>>>>>>>> proposed ITS RDF Ontology.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> Jirka
>>>>>>>>>>
>>>>>>>>>> On 25.2.2013 9:04, MultilingualWeb-LT Working Group Issue Tracker wrote:
>>>>>>>>>>> mlw-lt-track-ISSUE-119: ITS RDF Ontology creation [MLW-LT Standard Draft]
>>>>>>>>>>>
>>>>>>>>>>> http://www.w3.org/International/multilingualweb/lt/track/issues/119
>>>>>>>>>>>
>>>>>>>>>>> Raised by: Felix Sasaki
>>>>>>>>>>> On product: MLW-LT Standard Draft
>>>>>>>>>>>
>>>>>>>>>>> Dave started an ITS RDF Ontology. See
>>>>>>>>>>> http://www.w3.org/International/multilingualweb/lt/wiki/ITS-RDF_mapping#Ontology_.28DRAFT.29
>>>>>>>>>>> This is useful for the NIF conversion.
>>>>>>>>>>>
>>>>>>>>>>> There was an offline discussion about this, including Dave, Leroy, Sebastian and I.
>>>>>>>>>>>
>>>>>>>>>>> Some thoughts about the ontology current at
>>>>>>>>>>> http://www.w3.org/International/multilingualweb/lt/wiki/ITS-RDF_mapping#Ontology_.28DRAFT.29
>>>>>>>>>>>
>>>>>>>>>>> - the ontology uses various RDF classes that are not defined, e.g. "itstype:its-taConfidence.type" is identified as a class via
>>>>>>>>>>> "rdf:type itstype:its-taConfidence.type"
>>>>>>>>>>> So *if* one want to use "itstype:its-taConfidence.type" as a class, you'd need also
>>>>>>>>>>> itstype:its-taConfidence.type rdf:type rdf:Class
>>>>>>>>>>>
>>>>>>>>>>> - classes are normally written in upper case, so
>>>>>>>>>>> "its-taConfidence.type" would be
>>>>>>>>>>> "Its-taConfidence.type"
>>>>>>>>>>>
>>>>>>>>>>> - As said in the offline thread (sorry for the repetition, guys), I would not define such classes at all. It would be sufficient to define actually no class - just use NIF URIs, and then have statements like this
>>>>>>>>>>>
>>>>>>>>>>> someNIFBasedSubjectUri
>>>>>>>>>>> its:locQualityIssueComment[1] "'c'es' is unknown. Could be 'c'est'";
>>>>>>>>>>> its:locQualityIssueEnabled[1]="yes" ;
>>>>>>>>>>> its:locQualityIssueSeverity[1] "50";
>>>>>>>>>>> its:locQualityIssueType "misspelling".
>>>>>>>>>>>
>>>>>>>>>>> The RDF predicates would take as a domain a NIF URI, and as the range an XML literal (or HTML literal, if we use RDF 1.1).
>>>>>>>>>>> This approach has also the advantage that you can convert the test suite output easily to RDF "instance" data.
>>>>>>>>>>>
>>>>>>>>>>> - Felix
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <itsrdf.ttl>
>>>>>>>>
>>>>>>>>
>>>>>>>> ************************************************************
>>>>>>>> VistaTEC Ltd. Registered in Ireland 268483.
>>>>>>>> Registered Office, VistaTEC House, 700, South Circular Road,
>>>>>>>> Kilmainham. Dublin 8. Ireland.
>>>>>>>>
>>>>>>>> The information contained in this message, including any
>>>>>>>> accompanying
>>>>>>>> documents, is confidential and is intended only for the
>>>>>>>> addressee(s).
>>>>>>>> The unauthorized use, disclosure, copying, or alteration of this
>>>>>>>> message is strictly forbidden. If you have received this message in
>>>>>>>> error please notify the sender immediately.
>>>>>>>> ************************************************************
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> ************************************************************
>>>>>> VistaTEC Ltd. Registered in Ireland 268483.
>>>>>> Registered Office, VistaTEC House, 700, South Circular Road,
>>>>>> Kilmainham. Dublin 8. Ireland.
>>>>>>
>>>>>> The information contained in this message, including any
>>>>>> accompanying
>>>>>> documents, is confidential and is intended only for the
>>>>>> addressee(s).
>>>>>> The unauthorized use, disclosure, copying, or alteration of this
>>>>>> message is strictly forbidden. If you have received this message in
>>>>>> error please notify the sender immediately.
>>>>>> ************************************************************
>>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Dipl. Inf. Sebastian Hellmann
>>> Department of Computer Science, University of Leipzig
>>> 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
>>
>
--
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
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
Received on Thursday, 18 April 2013 21:42:20 UTC