2

I'm using Protege to develop an ontology that will include some things that are already described in DBpedia. Let's say I want to include a class 'Cities' and have 'Berlin' as an individual. My Berlin will have some properties the DBpedia Berlin doesn't but otherwise I'd like to 'reuse' DBpedia's Berlin.

Do I need to define my own Berlin and then use rdf:seeAlso or can I somehow import DBpedia's Berlin and add some properties?

Joshua Taylor
  • 84,998
  • 9
  • 154
  • 353
user814425
  • 605
  • 8
  • 19
  • 1
    Do you want to actually _see_ the DBpedia content in Protege, or is it sufficient if you're just talking about the same individual? – Joshua Taylor Oct 31 '13 at 12:09
  • @JoshuaTaylor if I want to actually see the DBpedia content in Protege, how should I proceed? My case is that I want to extend a couple of DBpedia entities with my own properties, but I also want to see/reuse their existing DBpedia properties and instances. – Eli Oct 16 '20 at 10:52

1 Answers1

5

Just use the DBpedia IRI,

If it's sufficient to simply talk about the same individual, just add the individual to your ontology (i.e., create an individual with the IRI http://dbpedia.org/resource/Berlin) and add whatever else you need.

or use your own IRI and add an owl:sameAs assertion,

You could also create an individual with your own IRI, e.g., http://stackoverflow.com/questions/19703414/Berlin and assert that it's owl:sameAs http://dbpedia.org/resource/Berlin. You're creating OWL individuals with Protege, and DBpedia is using an OWL ontology, and owl:sameAs is what you'd use to express the fact that two individuals are the same.

and be aware that rdfs:seeAlso might not do what you think it does.

rdfs:seeAlso is just for finding related information, e.g., a document about some resource, or the standard in which it's defined, etc. Even in the if you have

http://stackoverflow.com/questions/19703414/Berlin rdfs:seeAlso http;//dbpedia.org/resource/Berlin

and someone retrieves http;//dbpedia.org/resource/Berlin and sees a bunch of triples with that subject, there's nothing telling them that

http;//dbpedia.org/resource/Berlin owl:sameAs http://stackoverflow.com/questions/19703414/Berlin

which is really the important thing.

Joshua Taylor
  • 84,998
  • 9
  • 154
  • 353
  • Thanks Joshua, I don't need to see the DBpedia content so I think this would probably do it. I had looked at owl:sameAs but read elsewhere that you shouldn't do use it unless your two individuals could always be treated exactly the same, and was unsure what that implies in terms of adding my own properties. – user814425 Oct 31 '13 at 13:04
  • @user814425 Right; it can be difficult to know whether `owl:sameAs` is appropriate in certain circumstances, because it's not always clear _exactly_ what a resource represents. For instance, if the DBpedia resource refers to the city, but might `http://example.org/mapRegions/Berlin` refer to a collection of points in a map, and those shouldn't be `owl:sameAs`, because a city isn't a collection of points in a map. `owl:sameAs` is useful when you're relating preëxisting datasets, or if you need to generate your own IRIs, but know that one is equivalent to something else, but in many cases… – Joshua Taylor Oct 31 '13 at 14:23
  • @user814425 …you might as well just use the one that's already out there (in this case, the DBpedia resource IRI); it will be clearer to others what you're talking about, and it's a bit less OWL reasoning that someone would need to go through to use your data. – Joshua Taylor Oct 31 '13 at 14:24
  • So what's the relationship between owl:sameAs and subclassing from different ontologies? For example, [geovocab.org](http://geovocab.org/) have an ontology that has a Geographical region class. Could you create an individual with the IRI http://dbpedia.org/resource/Berlin as an instance of that Geographical region class? It would be representing the same thing, but not the same thing in the sense that it is a member of a different class. – user814425 Oct 31 '13 at 16:13
  • @user814425 Individuals can be members of any number of classes. There's nothing the matter with asserting that some individual is a member of different, but similar, classes. E.g., throw `select ?type { ?type ^a dbpedia:Berlin }` into http://dbpedia.org/sparql, and you'll see that Berlin has _lots_ of types, and some are similar classes from different ontologies. E.g., `http://dbpedia.org/class/yago/Region108630985` and `http://dbpedia.org/ontology/Region`. – Joshua Taylor Oct 31 '13 at 16:31
  • Thanks Joshua, this is very helpful stuff. – user814425 Oct 31 '13 at 16:45