How to mix ontologies describing the same object (using rdfa?)

Imagine starting to use an ontology because it provides some useful vocabulary for describing an object of interest to me, for example. FOAF to describe Man (me). I immediately encounter two problems. I come across another ontology, which also has a dictionary describing the Person.

Problem 1 . Some of these terms are functionally equivalent or related to each other, but I don’t want to worry about wrapping both ontologies around the same object,

<span property="foaf:name"><span property="dc:creator">Carl Boettiger</span></span> 

Because it is cumbersome and seems to ignore the whole idea of related data, which probably should be smart enough to know that a dc:creator also foaf:person. So what is the right way to do this? How can I confirm the relationship between these objects (for example, presumably not all foaf:person should be dc:creator . Do they say somewhere on the semantic network that dc:creator is a subset of foaf:person ? Do I need to refer to expressions like What? Can you tell me where?

Problem 2 The dictionary in one ontology is not enough for my purposes, so I need to use a dictionary from another. For example, FOAF, as far as I know, does not provide me with a way to indicate my organization, location or role (which, apparently, believe that GoogleSnippets fields are mandatory for the user). So, I will go and find a convenient ontology, say the one that Google offers, http://rdf.data-vocabulary.org , which has these terms. Now again, I have a closely related problem, which is to make sure that the two ontologies are consistent with what a person is:

 <div typeof="foaf:Person"> <span property="foaf:name">Carl Boettiger</span> is a <span property="v:role"> graduate student </span> </div> 

v:role has its own idea of ​​what it belongs to, a typeof="v:Person . Do I need to add this typeof declaration? Do I have to do something then to say that it is the same as foaf:person , and is it true that v:role and foaf:name describe the same thing (me)?

Thanks so much for clarifying my perplexity.

+7
source share
1 answer

Remember that foaf: Person is a type or class that is expressed in RDFa through the @typeof attribute. dc: creator, foaf: name, v: role, on the other hand, are properties that are placed in the @property attribute in RDFa. Usually you start by entering your object in your HTML (e.g. Person), and then you provide its attributes, such as a name or role through properties. Types usually begin with upercase (foaf: Person), and properties begin with a lowercase letter (foaf: name).

Problem 1: instead of adding a new span for each new property, you can put all the properties inside the same property attribute in a separate space:

 <span property="foaf:name dc:creator">Carl Boettiger</span> 

Do they say somewhere in the semantic network that dc: creator is a subset of foaf: person?

Firstly, the example is not adequate, dc: creator is a property of foaf: Person a type, but imagine that we are talking about foaf: Agent and foaf: Person, the foaf specification states that foaf: Person is a subclass of foaf: Agent : http://xmlns.com/foaf/spec/#term_Person - The dictionary can define such relationships. There are also cross-vocabulary comparisons that sometimes define relationships between classes and properties from different dictionaries.

Do I need to somehow refer to such a statement?

no, you usually don't need to do this.

Problem 2: note that http://rdf.data-vocabulary.org is deprecated in favor of the schema.org dictionary: http://schema.org/docs/full.html and http://schema.rdfs.org/

Should I also add this typeof declaration? Do I have to do something then to say that it is the same as foaf: Person, and indeed that v: role and foaf: name both describe the same (me)?

In general, when publishing data in HTML, you are not trying to indicate equivalence between dictionaries; instead, you publish all dictionary terms that you think will be useful for applications that consume your data, and this is easy to do in RDFa, since you can insert multiple types and properties within the specified @typeof or @property attribute.

 <div typeof="foaf:Person v:Person"> <span property="foaf:name v:name">Carl Boettiger</span> is a <span property="v:role"> graduate student </span> </div> 

Please note that you can test RDFa markup at http://rdfa.info/play/

+6
source

All Articles